單片機的OLED顯示系統設計與實現

2021-01-04 電子產品世界

  為了提高圖形信息的顯示速度,並得到更多的顯示效果,文章基於FG_V1.2單片機開發板,依據OLED12864顯示屏的操作時序要求,用51單片機實現了基於0.96英寸OLED屏的顯示系統設計。經實際測試表明,其具有比12864LCD模塊更快的刷新速度和更好的顯示效果。

本文引用地址:http://www.eepw.com.cn/article/201710/366568.htm

  OLED(Organic Light Emitting Display)顯示技術是比液晶顯示技術更為先進的新一代平板顯示技術,其被業界公認為是繼LCD、PDP之後最理想和最具發展前景的第三代顯示技術。相比於液晶顯示技術,其具有超輕薄、高亮度、廣視角、自發光、響應快、抗震強、功耗低、適應溫度範圍寬,可實現柔性顯示等優越性能,有「夢幻顯示器」 的美譽,可廣泛應用於通信、計算機、消費電子、工業應用、商業、交通等領域。在顯示輸出方面,目前主要採用3種方式,即:圖形、數字或專用符號,在嵌入式領域,顯示常採用LED、數碼管及液晶顯示器。前兩種實現簡單,但顯示內容不夠豐富。LCD顯示器雖能顯示較為豐富的內容,但其響應慢(出現殘像),且亮度相對較低。OLED則響應較快,其響應速度可達液晶的1000倍以上,且OLED無需背光,亮度高,在功耗、視角等方面也均優於LCD顯示器,鑑於此,OLED顯示屏越來越廣泛地應用在日常生活當中。

  該文以宏晶公司的STC89C52單片機為控制核心,信意電子科技提供的0.96寸OLED模塊為顯示輸出設備,在Keil環境下編寫OLED顯示模塊驅動程序,並下載Hex文件至單片機,從而實現OLED顯示系統設計。

  1 實現原理

  文中所採用的OLD模塊具有和12864LCD相同的解析度,但其在單位面積上具有更多的像素點。該模塊的驅動晶片是SSD1306Z,它是一款專門用於驅動OLED點陣屏的COMS晶片,其包含128個段和64個公共端。為了能夠通過外部控制器向其寫入用於顯示的數字信息,其對外提供了8個數據引腳和 5個控制腳,並向用戶提供了4種總線接口。文中所採用的OLED模塊可實現SPI和IIC兩種總線接口模式,默認為SPI模式。在SPI模式下,僅有數據引腳的低2位和控制引腳的CS#,D/C#和RES#與單片機進行接口。為了能讓OLED具有豐富的顯示效果和靈活簡便的操作方式,SSD1306Z向用戶提供了豐富的操作指令集,另外還向用戶提供了128x64位的GDDRAM(Graphic Display Data RAM)。由於所採用的OLED不帶字庫,因此無論是顯示圖形還是顯示漢字,均需通過取模軟體進行編碼,然後按SPI協議,將對應的編碼按照所確定的地址模式寫入對應的CDDRAM中。編碼原理如圖1所示。圖1給出了16*8編碼格式的字符『A』,由於8行為一頁,因此其佔據2頁的高度,而寬度則佔據8 列。圖1中的每一個方格代表一位,若要顯示則置1,反之置0。向GDDRAM當中送數據時,先通過指令確定操作所需的地址模式及存儲器的地址,然後先寫 『A』的第2頁的編碼,再寫其第3頁的編碼,即可完成編碼的寫入操作。圖1所對應的編碼為0x00,0x00,0xe0,0x 9c,0xf0,0x80,0x00,0x00,0x08,0x0f,0x08,0x00,0x00,0x0b,0xoe,0x08,編碼時高位在下,低位在上。同理,可得對任意漢字的編碼。

  

  圖1:OLED字符編碼

  2 時序分析

  操作時序為IC晶片的可靠工作提供了正確的節拍,因此操作時序正確與否將直接影響晶片的工作狀態,文中OLED模塊默認工作方式為4線SPI,其操作時序如圖2所示。圖2上部分為操作一位對應的時序,下部分為操作一個字節所對應的時序,由圖2可知當發送一個字節時,先發該字節的最高位,最後發最低位。

  

  圖2:4線SPI操作時序圖

  圖2中,CS#為OLED片選信號線,低電平有效,在晶片有效後,可通過拉低或拉高D/C#來決定是進行命令寫入操作還是進行數據寫入操作,在時鐘 SCLK拉高之前建立D/C#信號,其建立時間為tAS,SDIN在SCLK低電平有效,並在SCLK上升沿時進行數據的讀取,數據保持時間為tDHW,之後可發生數據交換,為下次數據讀取作準備。圖2中具體的時序特性如表1所示。

  表1:4線SPI時序特性

  

  表1給出了正確實現OLED操作的時序要求,由表1可知時間參數的最小值均小於1μs。文中控制器選用的是STC89C52,採用12 M晶振時機器周期為1μs,因此,只需讓STC89C52按上圖時序順序執行程序,則其操作過程便可完全滿足4線SPI操作的時序要求。

  3 軟體實現

  要使OLED正確顯示出所需的信息,除了在其運行過程中嚴格按時序進行操作外,在起動時還要滿足一定的上電順序,之後還要對其進行相應的初始化。OLED的上電順序如圖3所示。

  

  圖3:OLED上電時序圖

  圖3中,在VDD得電並穩定後,RES#引腳被拉低並維持低電平至少3μs(t1),然後再接其拉高,從而實現晶片復位。在晶片完成復位後,VCC上電。在VCC穩定之後,可發送0XAF命令開顯示,而OLED的段和公共端(SEG/COM)則需再延遲100 ms,方可得電。按此可得對應的軟體實現為:

  

  同理可知,若將D/C#引腳電平拉高,則可得到發送一個字節數據的函數實現。

  4 硬體接口

  硬體基於自主開發的FG_V1.2開發板,核心控制晶片為宏晶公司LQFP-44封裝的貼片STC89C52單片機,OLED的時鐘引腳SCLK(D0)與單片機的P16引腳進行接口,數據引腳SDA(D1)與單片機的P17引腳進行接口,控制腳RST#與單片機的P36引腳進行接口,D/C#引腳與單片機的P37引腳進行接口,片選信號CS#已接至地。具體的硬體接口電路如圖4所示。

  

  圖4:OLED與單片機接口電路

  5 實現效果

  SSD1306Z驅動晶片為OLED提供了豐富的指令集,可以使OLED在實現數據顯示的同時,還能具有多種顯示效果(如反白、漸變、閃爍等)和動態效果(如左移、右移、斜角斜屏、動態區域設置等)。具體顯示效果如圖5所示。

  

  圖5:OLED實物顯示效果

  圖5為OLED模塊在STC89C52單片機控制下的幾種顯示效果。(a)為靜態顯示效果,(b)為反白顯示效果,反白後通過相機可見屏幕當中有動態黑色條紋,這是因為反白顯示時出現了串擾(Crosstalk)現象,而這種現象被相機捕獲到了,人眼觀察是不存在動態黑色條紋的。(c)為區域動態效果,屏幕漢字部分設置為靜態,而網址部分設置為連續右移的動態效果。由此可見,OLED相對比LCD顯示,其具有更豐富的顯示效果。

  6 結論

  文中通過STC89C52單片機對OLED顯示模塊進行了驅動,實驗表明,其不僅硬體接口簡單,而且在軟體實現上極具靈活性,模塊驅動晶片SSD1306Z包含豐富指令集,不僅簡化了軟體實現,而且豐富了顯示效果。相比於同解析度的12864LCD模塊,OLED顯示模塊小巧精緻,刷新速度快,顯示效果豐富,成本相對也較低,是12864LCD模塊的理想替代產品。隨著OLED技術的發展,相信顯示技術必將發展到一個新的階段。


相關焦點

  • 基於單片機的大型LED顯示系統設計
    基於單片機的大型LED顯示系統設計 佚名 發表於 2020-03-08 13:38:00 隨著平板顯示技術的不斷更新,大型LED顯示系統利用發光二極體構成的點陣模塊或像素單元組成大面積顯示屏
  • 基於STC89C52單片機的溫度檢測系統設計
    摘要:為了檢測現場溫度,並直觀反映其變化趨勢,設計了基於STC89C52單片機的溫度檢測系統。利用數字溫度傳感器DS18B20採集溫度信號,該信號送入STC89C52單片機處理,後由液晶顯示器LCD12864(ST7920)顯示溫度值,並繪製出溫度變化曲線。實測結果表明,系統可靠性、測試精度及溫度趨勢曲線繪製達到設計要求。
  • 單片機技術實現藍牙無線充電的系統方案
    整個充電過程可以通過按鍵進行控制,實現藍牙配對連接、斷開和藍牙關閉功能,並具有液晶顯示功能。   2 硬體電路設計   2.1 硬體總體設計   整個系統主要由藍牙發射與接收模塊、磁耦合諧振模塊、電壓電流檢測模塊、顯示與按鍵控制模塊、充電管理模塊、單片機控制電路和系統供電組成。
  • 80C196單片機仿真軟體的設計與實現
    但是基於嵌入式控制器的應用軟體測評通常需要構建與應用系統相當或更加複雜且完備的軟硬體測試環境,時間和資金的耗費不亞於被測系統開發。採用全軟體測試平臺實現應用軟體測評不失為一種較好的選擇。本文所介紹的80C196單片機仿真軟體即為旨在構建該種測試平臺的基礎技術之一。
  • 基於AT89C51單片機和傳感器實現家庭安全報警系統的設計
    警情採集電路當採集到警情信號時,單片機立即接通報警驅動電路實現聲光報警,同時由雙音多頻收發電路通過電話網絡撥打報警號碼向外界報警,當摘、掛機檢測電路檢測到被呼叫方摘機後,單片機接通語音報警電路,通過事先錄製好的語音信號告知對方與警情相關的信息,對方掛機後,模擬掛機,完成自動報警。
  • Proteus軟體仿真與Keil的51單片機系統設計
    它包括PROTEUS VSM(Virtual System Modelling)、PROTEUS PCB DESIGN兩大組成部分,在PC機上就能實現原理圖電路設計、電路分析與仿真、單片機代碼級調試與仿真、系統測試與功能驗證以及形成PCB文件的完整嵌入式系統設計與研發過程。
  • 如何使用MSP430單片機實現簡易計算器的設計
    本文介紹了一種基於MSP430單片機的簡易電子計算器設計。基於MSP430單片機的簡易電子計算器設計具有體積小、便於攜帶、應用方便、組成元器件少、製造成本低等優點。MSP430單片機具有的超低功耗、硬體浮點數運算等功能使得簡易電子計算器設計簡單、計算能力強,有著廣闊的發展前景。
  • 基於AT89C51單片機的十進位計算器系統設計
    AT89C51 單片機進行的十進位計算器系統設計,可以完成計算器的鍵盤輸入,進行加、減、乘、除4 位無符號數字的簡單四則運算,並在LED 上相應的顯示結果。硬體方面從功能考慮,首先選擇內部存儲資源豐富的AT89C51 單片機,輸入採用4×4 矩陣鍵盤。顯示採用4 位7 段共陽極LED 動態顯示。軟體方面從分析計算器功能、流程圖設計,再到程序的編寫進行系統設計。  引言  本系統採用AT89C51 單片機作為控制器,用來實現實現四位數的「+」,「-」,「*」,「/」運算,運算結果通過數碼管顯示,並具有有清零功能。
  • 51單片機+PID算法水溫控制系統設計
    本系統設計採用基於PID算法的單片機控制來實現水溫的調控。單片機控制部分採用AT89C51單片機為核心,採用軟體編程,實現用PID算法來控制PWM波的產生,繼而控制電爐的加熱來實現溫度控制。通過編程對PID各參數的調整,來達到提高加溫速度,減小超調的目的。
  • 單片機應用系統的可靠性設計
    單片機應用系統的設計包括功能性設計、可靠性設計和產品化設計。其中,功能性是基礎,可靠性是保障,產品化是前途。因此,從事單片機應用系統開發工作的設計人員必須掌握可靠性設計。本質可靠性是只考慮系統功能要求的軟、硬體可靠性設計,是可靠性設計的基礎。 如採用CMOS電路代替7rrL電路提高噪聲容限,增加系統抗幹擾能力: 採用高可靠性的軟硬體開發平臺實現產品開發; 按照電磁兼容規範設計可靠的PCB等。
  • 基於單片機和DSl8B20傳感器實現土木工程溫度監測系統的設計
    基於單片機和DSl8B20傳感器實現土木工程溫度監測系統的設計 陳娟 發表於 2020-12-09 10:17:09 1 引言 在土木工程中,許多大型的橋梁和大壩都是採用現場澆注的鋼筋混凝土結構
  • 基於單片機的快速位置伺服系統的設計
    所以對於這種快速位置伺服系統,要求整個系統各部分配合良好,其中的關鍵是控制器的選擇,綜合考慮高精度、抗幹擾能力、靈活性、可靠性、實時性、性價比等各因素的情況下。選擇了Frees—cale公司的MC9Sl2DGl28B作為控制器。MC9Sl2DGl28B晶片是一款16位的單片機,功能強大,性能優越。本文採用該型號的單片機保證了所設計系統的穩定可靠。
  • 基於單片機與計算機串口的溫度實時監控系統設計
    該系統通過單片機實現實時控制,並通過串口連接單片機與上位計算機,在計算機中實現實時監控、大容量的數據存儲及數據分析等功能,解決了常規溫度測量方法在溫度測量實時性差、不能儲存數據及缺乏數據分析功能等方面的缺陷。
  • 採用AVR單片機ATMEGA8實現通用外置功率調控裝置的應用設計
    系統總體設計該設計主要由過零採樣、按鍵輸入、單片機控制、數碼顯示和可控矽功率控制模塊組成。總體設計思想為,對50Hz的交流電信號進行過零採樣後,由單片機檢測過零點,並觸發單片機內部定時器,執行延時程序。
  • 基於單片機控制的多功能充電系統設計
    1 硬體電路設計 本系統採用移相全橋軟開關電路,即將Boost電路與全橋變換器合成一起組成單級PFC電路,該電路結構簡單、效率高,可以實現對輸入電流的整定,又可以工作在較大功率場合,發揮了全橋電路的優勢。 系統主要由充電主電路和充電控制迴路組成,圖1為多功能充電系統硬體原理圖。
  • 基於MCS-51系列單片機實現遙測數據存儲系統的設計
    基於MCS-51系列單片機實現遙測數據存儲系統的設計 吳芝路,任廣輝,王 發表於 2020-11-27 10:12:25   作者:吳芝路,任廣輝,王桂玲
  • 單片機驅動數碼管設計詳解(74HC595實現)
    數碼管顯示設計本設計使用了一個4位的數碼管,為共陽型,為了節省單片機的IO口,使用了兩片74HC595作為數碼管的驅動晶片,共佔用3個IO口。+1602+DS18B20的溫度報警程序 51單片機做的溫度顯示,溫度顯示在LCD1602液晶屏上。
  • 基於單片機控制數字移相器的系統硬體電路設計
    打開APP 基於單片機控制數字移相器的系統硬體電路設計 佚名 發表於 2020-04-15 16:04:59 目前資料上有很多移相電路,其實現方法多種多樣,大致可分為模擬式和數字式移相器兩類。模擬式移相器的電路較為複雜、線性差、測試精度低;數字式移相器大多以標準邏輯器件按傳統數字系統設計方法設計而成,其缺點為功耗大、可靠性低。本文介紹的基於單片機控制的數字移相器,採用環形隊列實現信號波形的任意相位移相,並且保持波形的幅度、頻率不變。其測試精度高,失真度小。系統原理方框圖如圖1所示。
  • MicroBlaze AXI總線實現OLED顯示
    OLED作為從設備,主設備通過SPI控制協議和OLED模塊進行通信,硬體接口為PMOD接口,OLED模塊內部集成SRAM存儲設備緩存顯示數據。
  • 基於C167單片機和CAN總線實現數位化電梯控制系統的設計
    基於C167單片機和CAN總線實現數位化電梯控制系統的設計 李炳宇,梁正峰,趙 發表於 2020-12-04 09:55:04 1 引言 國民經濟的飛速發展