色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

如何在OLED上實現字符的顯示

我快閉嘴 ? 來源:FPGA之旅 ? 作者:FPGA之旅 ? 2022-09-06 09:02 ? 次閱讀

一. 簡介

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

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

二. 字摸軟件簡介

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

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


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

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

下。

設置好后,×掉,設置好字寬和字高后,輸入需要生成的字符數據,然后點擊生成字摸就可以在文本框中看到生成的數據,然后點擊保存字摸,就可以將字摸數據保存到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發送16次IIC請求。

(一) 模塊信號列表

現在這個模塊和初始化模塊一樣,信號列表都是一樣的。當字符請求來了,就把顯示的字符數據發送出去。

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

(二). 具體代碼實現

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

2. 隨后發送16byte的字符數據,就完成了一個支符的顯示。

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};//顯示的數據   endcaseendOLED_FontData OLED_FontData_HP( .sys_clk   (sys_clk), .rst_n     (rst_n), .index     (showfont_index - 'd3), .data    (fontdata));

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

(三). OLED_TOP模塊改動

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

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

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

顯示效果如下

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


審核編輯:湯梓紅


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1629

    文章

    21729

    瀏覽量

    603008
  • OLED
    +關注

    關注

    119

    文章

    6198

    瀏覽量

    224103
  • python
    +關注

    關注

    56

    文章

    4792

    瀏覽量

    84628
  • 顯示字符
    +關注

    關注

    0

    文章

    3

    瀏覽量

    7247

原文標題:FPGA驅動OLED顯示字符

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

收藏 人收藏

    評論

    相關推薦

    OLED顯示流程(簡析)

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

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

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

    STM32驅動OLED屏滾動顯示的軟件該怎樣去設計呢

    何在OLED屏上去實現字符串滾動顯示呢?STM32驅動OLED屏滾動
    發表于 12-08 06:11

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

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

    何在oled實現鼠標功能呢

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

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

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

    怎樣使用STM32在0OLED顯示實現字符滾動呢

    基于SPI修改程序的數據顯示如何去實現呢?怎樣使用STM32在OLED顯示實現
    發表于 01-21 07:35

    怎樣使用STM32在0.96寸OLED顯示實現字符滾動呢

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

    如何使用FPGA實現字符顯示

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

    何在AB32VG1開發板OLED顯示使開發板

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

    何在MAIN函數實現OLED顯示

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

    使用STM32在0.96寸OLED顯示實現字符滾動

    使用STM32在0.96寸OLED顯示實現字符滾動一、初識OLED屏滾動命令二、對所需
    發表于 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'>實現</b><b class='flag-5'>字符</b>滾動

    何在Raspberry Pi Pico中使用OLED顯示

    電子發燒友網站提供《如何在Raspberry Pi Pico中使用OLED顯示器.zip》資料免費下載
    發表于 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屏是由方形的發光點陣列組成的,分辨率為128x64。英文和數字最小可用8x8像素,漢字最小顯示像素為16x16,通常為了顯示效果,英文和數字通常使用8x16像素表示。要顯示
    發表于 06-13 14:37 ?4153次閱讀
    教大家如<b class='flag-5'>何在</b><b class='flag-5'>OLED</b>屏<b class='flag-5'>上</b><b class='flag-5'>顯示</b>漢字

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

    電子發燒友網站提供《如何在I2C 128X32 OLED顯示滾動文本.zip》資料免費下載
    發表于 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>滾動文本
    主站蜘蛛池模板: 亚州综人网| 热热久久超碰精品中文字幕| 久久久中日AB精品综合| 亚洲AV无码专区国产精品麻豆| CHINA中国东北GURMA| 麻豆精品传媒2021网站入口| 在线亚洲视频无码天堂| 久久99蜜桃精品麻豆| 亚洲视频免费看| 精品欧美一区二区三区四区| 亚洲精品天堂在线观看| 国产中的精品AV一区二区| 亚欧成人毛片一区二区三区四区| 国产九色在线| 亚洲国产货青视觉盛宴| 好男人社区| 在线观看国产精选免费| 久欠热视频精品首页| 97视频视频人人碰视频| 欧美片第1页 综合| 姑娘日本大全免费观看版中文翻译| 日韩一本在线| 国产精品久久久久久久伊一| 亚洲AV综合99一二三四区| 久久国产视频网站| 99手机在线视频| 乳巨揉みま痴汉电车中文字幕动漫| 国产成人免费手机在线观看视频| 学生精品国产在线视频| 精品亚洲永久免费精品| 18av 在线| 色狠狠色综合吹潮| 交换娇妻呻吟声不停中文字幕 | 超碰97视频在线观看| 偷拍 拍自 欧美色区| 换脸国产AV一区二区三区| 《乳色吐息》无删减版在线观看 | 国产精品自产拍在线观看中文 | 短篇合集纯肉高H深陷骚| 校园男男高h小黄文| 久草在在线免视频在线观看|