一種基于單片機實現(xiàn)OLED顯示的設計-設計應用_第1頁
一種基于單片機實現(xiàn)OLED顯示的設計-設計應用_第2頁
一種基于單片機實現(xiàn)OLED顯示的設計-設計應用_第3頁
一種基于單片機實現(xiàn)OLED顯示的設計-設計應用_第4頁
一種基于單片機實現(xiàn)OLED顯示的設計-設計應用_第5頁
全文預覽已結束

下載本文檔

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

文檔簡介

精品文檔-下載后可編輯一種基于單片機實現(xiàn)OLED顯示的設計-設計應用1引言有機電致發(fā)光顯示,又稱有機發(fā)光二極管(OrganicLightEmittingDiode,OLED)或有機發(fā)光顯示器OrganicLightEmittingDisplay(OLED),相較于目前市場上流行的液晶顯示器(LCD)有明顯的優(yōu)勢,主要表現(xiàn)為:自主發(fā)光(不需要背光源),無視角問題(視角可達170°以上),重量輕,厚度薄,亮度高,發(fā)光效率高,響應速度快(是液晶的1000倍),動態(tài)畫面質(zhì)量高,溫度范圍廣(溫度范圍-40℃~80℃),低功耗,抗震能力強,制造成本低,可柔性顯示。尤其適用于要求高亮度的儀表行業(yè),以及條件要求更高的產(chǎn)品。與各方面已經(jīng)發(fā)展成熟的LCD相比,OLED的發(fā)展還處于初級階段,但隨著以上這些優(yōu)勢的逐步實現(xiàn),OLED將極有可能取代LCD在市場上的地位,OLED是被業(yè)界公認為發(fā)展前景的下一代顯示器。2硬件結構設計本文利用單片機C8051F023作為128×64單色OLED的控制器件,采用的是維信諾公司的一款屏VGG12864G,它利用Solomon公司的SSD1303為專用驅(qū)動IC。實現(xiàn)文字顯示及圖像的動靜態(tài)顯示。2.1SSD1303驅(qū)動及接口電路VGG12864G模塊的OLED顯示屏為128列,64行結構。圖2為SSD1303結構框圖,顯示了模塊邏輯電路和接口電路的框。用戶只需要給接口提供電源、產(chǎn)生驅(qū)動指令信號和顯示數(shù)據(jù)信號,就能點亮OLED屏。從圖中可以看出,行、列驅(qū)動器的輸出通過FPC邦定到OLED屏,剩下的MCU接口、電壓和電流控制器需要是其專門設計的接口和驅(qū)動電路,模塊的外部信號僅與SSD1303發(fā)生關系。所以了解了SSD1303的輸入特性及指令系統(tǒng),就能方便地使用本模塊了。SSD1303是晶門公司推出的驅(qū)動單色OLED的IC,采用TAB封裝。這種基于CMOS工藝的驅(qū)動IC集成了行、列驅(qū)動器、振蕩器、對比度控制器和圖形數(shù)據(jù)存儲器(GDDRAM),很大程度地減少了外圍器件和功耗??芍С值姆直媛蕿?32×64,其中OLED屏底部132×16的點陣區(qū)域可以顯示4色的局域色,并可編程實現(xiàn)64級灰度,當用于單色顯示時,可編程控制256級對比度。根據(jù)所使用微處理器(MPU)的不同,它提供8位6800系列MPU并行、8位8080系列MPU并行和SerialPeripheralInterface(SPI)串行三種通信接口模式。控制命令通過MCU接口輸入到控制命令解碼器進行命令解碼,然后輸出時鐘、行同步、場同步信號,從而控制OLED顯示的振蕩頻率、顯示器件的電壓轉(zhuǎn)換模塊以及OLED顯示內(nèi)容的行列偏移量的驅(qū)動模塊;如果是顯示數(shù)據(jù)(128×64bits),那么顯示數(shù)據(jù)由控制電路通過MCU接口輸入到GDDRAM緩存,然后通過局域色解碼器對數(shù)據(jù)進行解碼,將解碼后的顯示數(shù)據(jù)通過行列驅(qū)動器驅(qū)動OLED顯示,OLED上呈現(xiàn)了穩(wěn)定的顯示效果。

2.2電源的設計硬件結構設計框圖如圖2所示,外部硬件電路的DC-DC轉(zhuǎn)換器用TPS7333芯片將5V電源轉(zhuǎn)換成3.3V電源,并將輸出的電源信號通過電壓和電流控制器控制整個SSD1303的電壓和電流。整個系統(tǒng)需要3.3V和12V的電源,MCU(本文采用C8051F023)需要提供3.3V的電源電壓,OLED需要3.3V的邏輯電源電壓和9~12V的驅(qū)動電源電壓,此驅(qū)動電源電壓由外部電源轉(zhuǎn)換器電路提供。2.3各種控制信號再就是關于如何用MCU控制,MCU通過RES#、CS#、D/C、WR#、RD#和D0~D7共13個接口控制SSD1303驅(qū)動IC,從而控制OLED顯示屏。CS#為片選信號,當CS#接低電平時MCU才能與驅(qū)動IC通信;RES#是復位使能端,當接低電平時,所有控制寄存器均被設定為出廠時的默認狀態(tài),同時圖像寄存器清零;D/C為數(shù)據(jù)/命令選擇信號;WR#和RD#分別為寫和讀選擇信號,當CS#為低時,在其下降沿讀寫有效。通過改變D/C、WR#和RD#三個接口的高低,單片機對OLED的控制有四種狀態(tài)。

2.4讀寫的時序只要按照VGG12864G的時序波形圖進行讀和寫,即可完成OLED的顯示。但是,通過軟件編程拼時序的話,要考慮到許多時間參數(shù),有一定的難度。為了使得數(shù)據(jù)和命令能夠更容易的順利讀寫,我們采用另外一種辦法。如圖1所示,將WR#和RD#分別接C8051F023的/WR和/RD,即P0.7和P0.6。在C語言編程時定義指針類型為xdata型,它是指向片外存儲器的,通過給指針的賦值訪問片外的數(shù)據(jù)存儲區(qū),當訪問片外存儲器時,/RD和/WR會在讀和寫時自動變低,同時P3端口為數(shù)據(jù)總線,非復用方式下,地址總線的高8位使用P1口,低8位使用P2口;復用方式下,地址總線高8位仍使用P1口,低8位和數(shù)據(jù)總線復用P3口,P2口就不會受到影響。所以設置成復用方式(EMIOCF.4=0),P2口就可以用來作別的輸出端口,自由地控制RES#、CS#、DC。雖然不需要地址總線,但訪問片外存儲器時地址線會被使用,所以仍要避開。實驗結果的時序波形圖如圖3所示。只要CS#為低時,在WR#(RD#)的下降沿寫入(讀出)數(shù)據(jù)或命令,即可有效地完成讀寫的工作。3軟件程序的設計整個單片機控制OLED的顯示程序用C語言編寫,主要程序流程圖如圖4所示。單片機初始化包括關閉看門狗、時鐘初始化、端口初始化,以及定時器和中斷的初始化。OLED初始化包括開顯示、設置顯示模式、設置對比度控制器、對比度設置(1~256)、設置行列起始地址、設置具體位置顏色、設置串口管腳配置。清OLED屏和OLED顯示都是往GDDRAM里寫數(shù)據(jù),包括讀狀態(tài)、寫命令、寫數(shù)據(jù)子程序,清OLED屏就全寫“0”,OLED顯示只要寫入所要顯示的文字或圖片的字符代碼即可。每次寫(命令或數(shù)據(jù))之前都要讀狀態(tài),看位D7是否為“0”,也稱之為“忙”檢測,如果為“1”,表示“忙”;反之為“閑”,在“閑”的狀況下才可以寫操作。

4文字和圖片的顯示VGG12864G內(nèi)置128×64bits的顯示存儲器,用于存儲顯示數(shù)據(jù),圖5為RAM的地址結構。RAM容量為128×64=8192bits,它被分成8頁(page0-page7),每頁8行,每頁的列剛好是一個字節(jié),低位在上,高位在下;顯示屏上各像素點的顯示狀態(tài)與顯示存儲器的各位二進制數(shù)據(jù)一一對應,顯示存儲器的數(shù)據(jù)直接作為圖形顯示的驅(qū)動信號。數(shù)據(jù)顯示為“1”,相應的像素點顯示;數(shù)據(jù)顯示為“0”,相應的像素點不顯示。所顯示文字或圖片的字符庫,需要自己造,但人工的幾乎不可能,可以選用字模提取軟件——“字模提取V2.2”,該軟件提供兩種取模方式:橫向和縱向。再根據(jù)OLED顯示數(shù)據(jù)的RAM地址結構,選縱向的取模方式,由于OLED模組的字節(jié)結構是高位在下低位在上,所以要設置成字節(jié)倒序,字符的字體、字形、大小和顯示效果(下劃線和刪除線)可根據(jù)需要進行調(diào)整,然后采取C51格式(若用匯編語言編程可采取A51格式)取模生成單個字符的點陣顯示代碼,根據(jù)需要在OLED屏上的顯示效果,對代碼進行相應調(diào)整即可得到所需字符庫。根據(jù)所要顯示的文字或圖片生成所需字符庫,通過OLED顯示程序?qū)⒆址a寫入并存儲在SSD1303的GDDRAM模塊后,就可以穩(wěn)定地顯示出來。通過軟件編程也可實現(xiàn)圖片

溫馨提示

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

評論

0/150

提交評論