女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在OLED上實現(xiàn)字符的顯示

我快閉嘴 ? 來源:FPGA之旅 ? 作者:FPGA之旅 ? 2022-09-06 09:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一. 簡介

這是FPGA之旅的第十一例了。在前面的例子中,已經(jīng)對OLED有了一個基礎(chǔ)的了解,本例將介紹如何在OLED上實現(xiàn)字符的顯示,為后面的例程做準備。

顯示字符需要先使用字摸軟件取模,將得到的字摸數(shù)據(jù)存儲到寄存器當中,這個過程可以利用Python生成。然后設(shè)置好顯示的XY坐標,最后發(fā)送字符數(shù)據(jù)即可。對于字符占兩個page的話,也就是字符高度大于8的情況,中間還需要重新設(shè)置page。

二. 字摸軟件簡介

字摸軟件選用PCtoLCD2002,這個比較常用,也是比較方便,界面如下圖所示。

1dc6ae00-2d7e-11ed-ba43-dac502259ad0.png


點擊選項,在彈出的界面中,對生成的字符數(shù)據(jù)進行設(shè)置,為了方便python進行解析,特意設(shè)置生成格式如

1de4d510-2d7e-11ed-ba43-dac502259ad0.png

下。

設(shè)置好后,×掉,設(shè)置好字寬和字高后,輸入需要生成的字符數(shù)據(jù),然后點擊生成字摸就可以在文本框中看到生成的數(shù)據(jù),然后點擊保存字摸,就可以將字摸數(shù)據(jù)保存到TXT文件中了。字摸軟件的介紹就到這里了。

1e117bce-2d7e-11ed-ba43-dac502259ad0.png

三. Python程序編寫

想著,大家對python可能不太了解,程序就不貼出來,可以作為一個工具來用,對每個字符生成如下的always塊,字體大小為16*16,方便FPGA讀取。

always@(posedge clk or negedge rst)begin if(rst == 1'b0) begindata1[0]=8'h00;   data1[1] = 8'h40;   data1[2] = 8'h64;   data1[3] = 8'h1C;   data1[4] = 8'h8A;   data1[5] = 8'h6C;   data1[6] = 8'h1C;   data1[7] = 8'h04;   data1[8] = 8'hFC;   data1[9] = 8'h8A;   data1[10] = 8'h5C;   data1[11] = 8'h64;   data1[12] = 8'h54;   data1[13] = 8'h54;   data1[14] = 8'h10;   data1[15] = 8'h00; endend

四. 字符顯示模塊

這里演示的是8*16大小的字符(中途沒有換行操作,便于理解顯示的過程),也就是顯示一個字符,需要向OLED發(fā)送16次IIC請求。

(一) 模塊信號列表

現(xiàn)在這個模塊和初始化模塊一樣,信號列表都是一樣的。當字符請求來了,就把顯示的字符數(shù)據(jù)發(fā)送出去。

module OLED_ShowFont(
 input   sys_clk, input   rst_n,  input   ShowFont_req,   //字符顯示請求 input   write_done,    //iic一組數(shù)據(jù)寫完成  output[23:0] ShowFont_Data,   //字符顯示數(shù)據(jù)  output   ShowFont_finish  //字符顯示完成);

(二). 具體代碼實現(xiàn)

1. 顯示一個8*16大小的字符,需要先指定對應(yīng)的XY坐標,也就是page數(shù)和Column地址,發(fā)送三個命令即可。

2. 隨后發(fā)送16byte的字符數(shù)據(jù),就完成了一個支符的顯示。

always@(*)begin case(showfont_index)    'd0  showfont_data_reg <= {8'h78,8'h00,8'hB0 + 8'h03};  //'d3代表顯示的起始頁地址為4    'd1: showfont_data_reg <= {8'h78,8'h00,8'h00 + 8'h02}; //'d2代表顯示的起始column的低四位為2    'd2: showfont_data_reg <= {8'h78,8'h00,8'h10 + 8'h02};  //'d2代表顯示的起始column的高四位為2                  //即顯示的column的起始地址為8'h22,即'd34    default: showfont_data_reg <= {8'h78,8'h40,fontdata};//顯示的數(shù)據(jù)   endcaseendOLED_FontData OLED_FontData_HP( .sys_clk   (sys_clk), .rst_n     (rst_n), .index     (showfont_index - 'd3), .data    (fontdata));

3. 發(fā)送完3byte+16byte的數(shù)據(jù)后,即顯示結(jié)束,也就是當showfont_index == 18的時候,并且在第19個數(shù)據(jù)剛剛寫完的時候。

(三). OLED_TOP模塊改動

這部分的修改也很少,只需要添加一個狀態(tài),在OLED初始化完成后,進入字符顯示狀態(tài),最后進入空閑態(tài)即可,其他的添加和初始化部分一樣。

always@(*)begin case(state) OLED_INIT:  if(init_finish == 1'b1)   next_state <= OLED_ShowFont;  else   next_state <= OLED_INIT; OLED_ShowFont:  if(showfont_finish == 1'b1)   next_state <= OLED_IDLE;  else   next_state <= OLED_ShowFont; OLED_IDLE:  next_state <= OLED_IDLE;
 default: next_state <= OLED_INIT; endcaseend

這里就進行了一個簡單的字符顯示例程,當然在實際使用的時候,會復(fù)雜很多,例如有多個不同大小的字符進行顯示,以及動態(tài)顯示字符等等情況,但核心的寫法可以參考本例。

顯示效果如下

1e350076-2d7e-11ed-ba43-dac502259ad0.png


審核編輯:湯梓紅


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618422
  • OLED
    +關(guān)注

    關(guān)注

    120

    文章

    6286

    瀏覽量

    228068
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86741
  • 顯示字符
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    7320

原文標題:FPGA驅(qū)動OLED顯示字符

文章出處:【微信號:FPGA之旅,微信公眾號:FPGA之旅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    OLED顯示流程(簡析)

    ,,:比如我們想讓OLED顯示顯示一個字符串:“CODE:”,主函數(shù)是這么兩條語句:OLED_ShowString(63,48,"CODE
    發(fā)表于 05-07 20:26

    oled驅(qū)動程序如何顯示變化的字符串?

    OLED_showString(10,2,"V=3.5m/s",16); //顯示字符串 問題:oled驅(qū)動程序顯示
    發(fā)表于 10-25 16:42

    STM32驅(qū)動OLED屏滾動顯示的軟件該怎樣去設(shè)計呢

    何在OLED屏上去實現(xiàn)字符串滾動顯示呢?STM32驅(qū)動OLED屏滾動
    發(fā)表于 12-08 06:11

    何在串口實驗基礎(chǔ)添加OLED顯示溫濕度?

    何在串口實驗基礎(chǔ)添加OLED顯示溫濕度?
    發(fā)表于 12-16 06:39

    何在oled實現(xiàn)鼠標功能呢

    如題,在oled實現(xiàn)鼠標功能,需要什么樣的環(huán)境,給點提議也可以。補充一下,能不能使用oled做為輸出屏,用oled屏代替LCD屏,
    發(fā)表于 01-12 06:28

    怎樣通過OLED模塊去顯示字符

    OLED是什么?OLED模塊有哪些特點?怎樣通過OLED模塊去顯示字符呢?
    發(fā)表于 01-19 07:00

    怎樣使用STM32在0OLED顯示實現(xiàn)字符滾動呢

    基于SPI修改程序的數(shù)據(jù)顯示如何去實現(xiàn)呢?怎樣使用STM32在OLED顯示實現(xiàn)
    發(fā)表于 01-21 07:35

    怎樣使用STM32在0.96寸OLED顯示實現(xiàn)字符滾動呢

    使用STM32在0.96寸OLED顯示實現(xiàn)字符滾動一、初識OLED屏滾動命令二、對所需
    發(fā)表于 02-24 07:25

    如何使用FPGA實現(xiàn)字符顯示

    在HDMI輸出實驗中講解了HDMI顯示原理和顯示方式,本實驗介紹如何使用FPGA實現(xiàn)字符顯示,通過這個實驗更加深入的了解HDMI的
    的頭像 發(fā)表于 02-09 10:29 ?4090次閱讀
    如何使用FPGA<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>字符</b><b class='flag-5'>顯示</b>

    何在AB32VG1開發(fā)板OLED顯示使開發(fā)板

    中直接實現(xiàn)的,本編文章直接在MAIN函數(shù)實現(xiàn)OLED顯示電自動執(zhí)行。 根據(jù)說明書,AB32VG1開發(fā)板上有一路 I2C,本文通過 RT-
    的頭像 發(fā)表于 11-08 10:02 ?3045次閱讀
    如<b class='flag-5'>何在</b>AB32VG1開發(fā)板<b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>使開發(fā)板<b class='flag-5'>上</b>電

    何在MAIN函數(shù)實現(xiàn)OLED顯示

    最近在玩AB32VG1,在做OLED顯示實驗時,在csdn搜索了很多關(guān)于AB32VG1驅(qū)動OLED的文章,很多都是官方例程操作,在msh窗口中輸入測試指令,測試驅(qū)動是否正常。很少有關(guān)于在main函數(shù)中直接
    的頭像 發(fā)表于 12-01 17:24 ?4771次閱讀
    如<b class='flag-5'>何在</b>MAIN函數(shù)<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>

    使用STM32在0.96寸OLED顯示實現(xiàn)字符滾動

    使用STM32在0.96寸OLED顯示實現(xiàn)字符滾動一、初識OLED屏滾動命令二、對所需
    發(fā)表于 01-12 17:25 ?16次下載
    使用STM32在0.96寸<b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>屏<b class='flag-5'>上</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>字符</b>滾動

    何在Raspberry Pi Pico中使用OLED顯示

    電子發(fā)燒友網(wǎng)站提供《如何在Raspberry Pi Pico中使用OLED顯示器.zip》資料免費下載
    發(fā)表于 10-18 09:15 ?4次下載
    如<b class='flag-5'>何在</b>Raspberry Pi Pico中使用<b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>器

    教大家如何在OLED顯示漢字

    我們使用的OLED屏是由方形的發(fā)光點陣列組成的,分辨率為128x64。英文和數(shù)字最小可用8x8像素,漢字最小顯示像素為16x16,通常為了顯示效果,英文和數(shù)字通常使用8x16像素表示。要顯示
    發(fā)表于 06-13 14:37 ?6900次閱讀
    教大家如<b class='flag-5'>何在</b><b class='flag-5'>OLED</b>屏<b class='flag-5'>上</b><b class='flag-5'>顯示</b>漢字

    何在I2C 128X32 OLED顯示滾動文本

    電子發(fā)燒友網(wǎng)站提供《如何在I2C 128X32 OLED顯示滾動文本.zip》資料免費下載
    發(fā)表于 06-28 15:59 ?0次下載
    如<b class='flag-5'>何在</b>I2C 128X32 <b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>器<b class='flag-5'>上</b>滾動文本