STM32單片機仿真開發實例 課件 5.3 串行OLED顯示器的使用_第1頁
STM32單片機仿真開發實例 課件 5.3 串行OLED顯示器的使用_第2頁
STM32單片機仿真開發實例 課件 5.3 串行OLED顯示器的使用_第3頁
STM32單片機仿真開發實例 課件 5.3 串行OLED顯示器的使用_第4頁
STM32單片機仿真開發實例 課件 5.3 串行OLED顯示器的使用_第5頁
已閱讀5頁,還剩8頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

5.3串行OLED顯示器的使用能力目標:

在了解I2C總線通信規則的基礎上,掌握使用OLED顯示器顯示常用字符的方法,并能編寫相應的STM32程序。任務要求:仿真電路如圖所示,要求在屏幕第一行顯示“Helloworld!”,在屏幕第二行顯示一個動態循環遞增的二位十進制數字0~99,數字變化的時間間隔為0.5秒。5.3.1OLED顯示器簡介(1)OLED技術概述OLED(OrganicLight-EmittingDiode,有機發光二極管),顧名思義,其本質上是一種特殊的發光二極管,是一種利用多層有機薄膜結構產生電致發光的器件。與LCD顯示器相比,OLED顯示器技術更加新穎,具備外形輕薄、亮度高、功耗低、響應快、清晰度高、柔性好、發光效率高等優點,目前在手機屏幕、計算機顯示器、游戲掌機屏幕等領域均有廣泛應用。(2)OLED12864顯示器OLED12864是一種單色顯示的小尺寸顯示器,屏幕尺寸僅0.96吋,具有128×64的分辨率,其正面(左)與反面(右)的照片分別如下圖所示。OLED12864采用3.3~5V寬電壓供電,適用于包括MCS-51、STM32在內的各種主流單片機。OLED12864可視角度能達到160°,因為OLED12864從本質上來說是一種高密度發光二極管點陣顯示器,所以不需要背光設計,僅靠點陣自身發光即可滿足顯示需求。(3)顯示驅動方式

OLED12864采用SSD1306進行驅動,支持8位6800/8080串并聯接口、I2C與SPI串行接口,本教材僅介紹其中的I2C通信方式。顯示器在出廠的時候僅預留了I2C通信接口的4個引腳——電源正極VCC、電源負極GND、時鐘引腳SCL、數據引腳SDA。

SSD1306內置GDDRAM(GraphicDisplayDataRAM,圖形顯示數據RAM),其結構如下圖所示,分為8個頁(PAGE0~PAGE7),每頁128個字節(SEG0~SEG127),共計128*64bits,每個bit與OLED屏的像素一一對應,需要OLED屏哪個像素點發光,則向對應的GDDRAM位中寫入1即可,反之寫入0。

在I2C通信模式下,由單片機作為通信主機與作為從機的SSD1306通信數據包結構如下圖所示。

主機單向發送數據包給從機即可實現單片機對OLED顯示器的控制,該過程無需從機響應。表格1:SSD1306命令字節——基本命令(D/C#=0,R/W#(WR#)=0,E(RD#=1)除非有特殊說明,所有命令表均適用)序號HEX命令描述181HA[5:0]設置對比度雙字節命令,第一個字節為命令,第二個字節為參數,通過低六位設定,缺省值7FH。(后面還有若干雙字節命令,不再贅述。)2A6H/A7H設置正常/逆顯示A6H:正常顯示(缺省);A7H:逆顯示。3AEH/AFH設置顯示關/開AEH:關顯示(缺省);AFH:正常顯示。表格2:SSD1306命令字節——尋址設置命令序號HEX命令描述100H~0FH設置頁面尋址方式的列起始地址(低四位)設置列起始地址的低四位,使用低四位進行設定,復位值0000B。210H~1FH設置頁面尋址方式的列起始地址(高四位)設置列起始地址的高四位,使用低四位進行設定,復位值0000B。3B0H~B7H設置頁面尋址方式的起始頁地址使用低三位設置GDDRAM頁面的起始地址(PAGE0~PAGE7)。表格3:SSD1306命令字節——硬件配置命令序號HEX命令描述140H~7FH設置顯示起始行設置顯示起始行0~63,D6位固定為1,通過低六位設定[5:0],復位值000000B。2A0H/A1H設置段重映射A0H:列地址0映射到SEG0(缺省);A1H:列地址127映射到SEG0。3A8HA[5:0]設置復用率第二個字節為參數,若參數取值N,則比例為N+1(比如,參數設定63D,比例即為64D),比例范圍16~64,即參數取值0FH~3FH(復位值)。此命令用于將默認的64復用率更改至任何范圍為16~64的值,COM0~COM63輸出將切換到設定的輸出信號。4C0H/C8H設置COM輸出掃描方向C0H:正向掃描,從COM0向COM[N-1]掃描(缺省);C8H:反向掃描,從COM[N-1]向COM0掃描。N即為上一條指令中的復用率。此指令一旦執行,屏幕將會立刻垂直翻轉。5D3HA[5:0]設置顯示偏移第二個字節用于設置屏幕起始行,通常設置為00H,即無偏移。此指令用于設置列信號引腳配置來適應OLED面板的硬件布局。6DAHA[5:4]設置COM引腳硬件配置A[4]=0,順序COM腳配置;A[4]=1,可變COM腳配置(缺省);A[5]=0,禁用COM左右重映射(缺省);A[5]=1,啟用COM左右重映射。表格4:SSD1306命令字節——時間和驅動方案設置命令序號HEX命令描述1D5HA[7:0]設置顯示時鐘分頻系數與振蕩頻率A[3:0],分頻系數=A[3:0]+1,復位值0000B,分頻系數即為1;A[7:4],振蕩頻率為0000B~1111B,缺省值1000B(即8MHz)。2D9HA[7:0]預充電周期(包括放電周期)[3:0],放電周期,取值0001B~1111B,缺省2H;[7:4],預充電周期,取值0001B~1111B,缺省2H3DBHA[6:4]設置VCOMH取消選定電平A[6:4]HEX數值VCOMH取消選定電平000B00H~0.65×VCC010B20H~0.77×VCC(缺省)011B30H~0.83×VCC表格5:SSD1306命令字節——電荷泵命令序號HEX命令描述18DHA[7:0]電荷泵設置8DH:電荷泵設置14H:使能電荷泵AFH:開顯示(4)顯示字符的設計

OLED12864是一種高密度發光二極管點陣顯示器,理論上可以顯示任何字符與圖案,可以手動編輯顯示數據用于記錄顯示器各個坐標點的亮滅狀態,但實際上人們常常會借助于專門的取字模軟件來建立顯示數組,比如PCtoLCD2002。

打開PCtoLCD2002并新建一個8×16的圖案,如右圖所示。

不妨以上述“P”字點陣數據為例,我們不妨采用畫格子的方式來還原這組數據代表的含義,“1”用黑色填充表示,“0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論