<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于C8051F020和USB的OLED控制系統(tǒng)設(shè)計(jì)

          基于C8051F020和USB的OLED控制系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2009-08-21 來源:網(wǎng)絡(luò) 收藏

          1 引言
          與傳統(tǒng)的液晶顯示屏相比,顯示模塊具有高亮度、高對(duì)比度、寬視角、響應(yīng)速度快、功耗低等特點(diǎn)。因此,隨著電子產(chǎn)品高度集成化的發(fā)展,顯示模塊在移動(dòng)終端、工業(yè)控制、便攜式電子產(chǎn)品等領(lǐng)域應(yīng)用十分廣泛。本文介紹了一種將技術(shù)應(yīng)用于顯示控制系統(tǒng)中的設(shè)計(jì),該系統(tǒng)以為核心控制器件。由于具有安裝方便、高速、靈活、低成本、易擴(kuò)展、支持熱插拔等優(yōu)點(diǎn),使得本系統(tǒng)可以輕松地實(shí)現(xiàn)在線數(shù)據(jù)更新,并通過外擴(kuò)的Flash實(shí)現(xiàn)系統(tǒng)的脫機(jī)顯示。
          2 系統(tǒng)簡(jiǎn)介
          系統(tǒng)的工作和組成原理如圖1所示。
          如圖1所示,整個(gè)系統(tǒng)由單片機(jī)、OLED顯示模塊、模塊、外擴(kuò)數(shù)據(jù)存儲(chǔ)器模塊組成。核心控制芯片是Silicon公司的,這是一款功能強(qiáng)大的單片機(jī);用來在線更新顯示數(shù)據(jù)的USB模塊,它以CH375V作為接口控制芯片,支持USB主機(jī)和USB設(shè)備兩種方式;AMD公司的閃存AM29LV081B作為單片機(jī)外部擴(kuò)展數(shù)據(jù)存儲(chǔ)器。96×64像素的全彩色OLED顯示屏,它的驅(qū)動(dòng)IC采用Solomon公司的SSD1332。

          本文引用地址:http://www.ex-cimer.com/article/202668.htm


          硬件設(shè)計(jì)
          3.1 主要芯片介紹
          (1)核心控制芯片 單片機(jī)C8051F020是完全集成的混合信號(hào)系統(tǒng)級(jí)SCM芯片,具有64個(gè)數(shù)字I/O引腳,具有片內(nèi)VDD監(jiān)視器、看門狗定時(shí)器和時(shí)鐘振蕩器,是真正能獨(dú)立工作的片上系統(tǒng),所有模擬和數(shù)字外設(shè)均可由用戶固件配置為使能/禁止和配置。Flash存儲(chǔ)器還具有在系統(tǒng)重新編程能力,可用于非易失性數(shù)據(jù)存儲(chǔ),并允許現(xiàn)場(chǎng)更新8051固件。
          (2)USB接口芯片CH375

          CH375是一個(gè)USB總線的通用接口芯片,支持USB-HOST主機(jī)和USB-DEVICE/SLAVE設(shè)備兩種方式。在本地端,CH375具有8位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到單片機(jī)等控制器的系統(tǒng)總線上。在USB主機(jī)方式下,CH375還提供了串行通訊方式,通過串行輸入、串行輸出和中斷輸出與單片機(jī)等相連接。
          CH375的USB主機(jī)方式支持常用的USB全速設(shè)備,外部單片機(jī)可以通過CH375按照相應(yīng)的USB協(xié)議與USB設(shè)備通訊。CH375還內(nèi)置了處理Mass-Storage海量存儲(chǔ)設(shè)備的專用通訊協(xié)議的固件,外部單片機(jī)可以直接以扇區(qū)為基本單位讀寫常用的USB存儲(chǔ)設(shè)備。
          3.2 USB模塊硬件電路設(shè)計(jì)
          本文在C8051F020的使用中需要配置交叉開關(guān),為了方便控制OLED的顯示和系統(tǒng)的控制操作,除了CH375必需的一個(gè)中斷外,還配置了兩個(gè)定時(shí)器中斷T1和T2以及一個(gè)外部中斷。將USB連接產(chǎn)生的中斷設(shè)置分配到INT0#,再多一個(gè)外部中斷INT1#。還考慮到CH375支持串行通信,所以將其和單片機(jī)的串口通信也設(shè)計(jì)在內(nèi),使用TX0和RX0。但是在串行方式下工作,數(shù)據(jù)傳輸速度慢,所以本文的研究采取并行接口。根據(jù)單片機(jī)優(yōu)先權(quán)交叉開關(guān)譯碼表,按照優(yōu)先級(jí)別,TX0使用P0.0,RX0使用P0.1,INT0#使用P0.2,T1使用P0.3,INT1#使用P0.4,由于P0.5~0.7由外部數(shù)據(jù)存儲(chǔ)器接口驅(qū)動(dòng),所以T2使用P1.0。圖2為USB模塊的連接電路圖。


          CH375芯片的RD#和WR#分別連接到單片機(jī)的讀選通輸出引腳RD#(P0.6)和寫選通輸出引腳WR#(P0.7)。CS#由地址譯碼電路驅(qū)動(dòng),用于當(dāng)單片機(jī)具有多個(gè)外圍器件時(shí)進(jìn)行設(shè)備選擇。INT#輸出的中斷請(qǐng)求是低電平有效,連接到單片機(jī)的中斷輸入引腳P0.2,單片機(jī)使用中斷方式獲知中斷請(qǐng)求。當(dāng)WR#為高電平并且CS#和RD#及A0都為低電平時(shí),CH375中的數(shù)據(jù)通過D7~D0輸出;當(dāng)RD#為高電平并且CS#和WR#及A0都為低電平時(shí),D7~D0上的數(shù)據(jù)被寫入CH375芯片中;當(dāng)RD#為高電平并且CS#和WR#都為低電平而A0為高電平時(shí),D7~D0上的數(shù)據(jù)被作為命令碼寫入CH375芯片中。
          3.3 外部數(shù)據(jù)存儲(chǔ)模塊
          對(duì)于全彩的 96×64像素的 OLED屏,每個(gè)像素由兩個(gè)字節(jié)組成,顯示一幅圖片需要的內(nèi)存空間為 96×64×2=12.288KB,而本文采用的單片機(jī)內(nèi)部只有 64KB的 Flash存儲(chǔ)器,最多只能顯示 5幅圖片,如果要顯示圖像是不可能的,所以必須在外部擴(kuò)展數(shù)據(jù)存儲(chǔ)器,使之能夠顯示動(dòng)態(tài)圖像。圖 3為外擴(kuò)的 Flash與單片機(jī)的連接框圖。


          本文的外部存儲(chǔ)器接口工作在復(fù)用方式,通過配置 PRTSEL(EMIOCF.5)的狀態(tài)決定 EMIF工作在低端口或是高端口錯(cuò)誤!未找到引用源。。本文對(duì)外部存儲(chǔ)器Flash的讀寫采用高端口(P4~P7)。地址總線A19~16使用P4.4~P4.1腳,地址總線A15~8使用 P6口,地址總線低 8位A7~0與數(shù)據(jù)總線復(fù)用 P7口,ALE使用P4.5,RD#使用P4.6,WR#使用 P4.7。
          在復(fù)用方式下工作時(shí),要用一個(gè)外部鎖存器保持 RAM地址的低 8位。本文的外部鎖存器選74LS373。它由ALE(地址鎖存使能)信號(hào)控制,ALE信號(hào)由單片機(jī)外部存儲(chǔ)器接口邏輯驅(qū)動(dòng)。在復(fù)用方式工作時(shí),可以根據(jù) ALE信號(hào)的狀態(tài)分兩個(gè)階段,在第一個(gè)階段,ALE為高電平,鎖存器選通,鎖存器的 Q輸出與 D輸入狀態(tài)相同,P7輸出為地址總線的低 8位。ALE由高變低標(biāo)志第二階段開始,鎖存器的輸出保持不變,即與鎖存器的輸入無關(guān)。在第二階段稍后,當(dāng)RD#(P4.6)或 WR#(P4.7)有效時(shí),數(shù)據(jù)總線控制 P7端口的狀態(tài)。
          3.4 OLED顯示模塊
          此模塊的驅(qū)動(dòng)電路核心部分應(yīng)用 Solomon公司的SSD1332芯片,在驅(qū)動(dòng)電路獲得控制信號(hào)和顯示數(shù)據(jù)后,由芯片 SSD1332產(chǎn)生 OLED所需的行驅(qū)動(dòng)和列驅(qū)動(dòng)的信號(hào),驅(qū)動(dòng)OLED,并把顯示數(shù)據(jù)傳送到 OLED顯示。
          4 讀取顯示數(shù)據(jù)程序設(shè)計(jì)
          本文研究的該部分的程序主要是顯示數(shù)據(jù)的采集,它是通過中斷響應(yīng)方式進(jìn)行的。CH375的中斷信號(hào)INT#連接單片機(jī)的INT0,設(shè)置成外部中斷,配置為下降沿觸發(fā)輸入,由IT0(TCON.0)和IT1(TCON.2)的設(shè)置決定,IE0(TCON.1)為外部中斷INT0的中斷標(biāo)志,產(chǎn)生中斷后即CPU在轉(zhuǎn)向ISR時(shí)自動(dòng)清除響應(yīng)的中斷標(biāo)志。該中斷的初始化程序如下: void INT_Init(void) {
          EA = 1; //中斷總允許
          EX0 = 1; //INT0中斷允許
          IT0 = 1; //INT0設(shè)置為下降沿觸發(fā)
          PX0 = 1; //INT0(/UINT)設(shè)置為高優(yōu)先級(jí),可中斷其他正在執(zhí)行的中斷程序 }
          程序中將 CH375中斷信號(hào)設(shè)為最高優(yōu)先級(jí),一旦有 U盤插入,立即產(chǎn)生中斷,之后進(jìn)入中斷程序入口,執(zhí)行中斷程序,進(jìn)行文件數(shù)據(jù)的讀取操作。軟件實(shí)現(xiàn)如錯(cuò)誤!未找到引用源。所示,首先調(diào)用CH375DiskConnect()查詢是否真的有 U盤插入,否則的話立即返回主程序,繼續(xù)執(zhí)行原來的程序,如果有 U盤插入,接著調(diào)用CH375Init(),進(jìn)行初始化復(fù)位;然后判斷 U盤是否準(zhǔn)備好,等待其準(zhǔn)備好后,即可調(diào)用函數(shù)CH375FileOpen(),根據(jù)參數(shù)(一般是文件名和完整的路徑名)打開指定的文件。文件如果不能正常打開,可能文件并不存在,立即返回主程序,結(jié)束本次讀取,也可以通過調(diào)用CH375FileEnumer()查詢文件是否存在。文件正常打開后,調(diào)用 CH375ByteLocate()函數(shù)執(zhí)行指針定位,以字節(jié)為單位移動(dòng)當(dāng)前文件指針,進(jìn)入字節(jié)模式。然后調(diào)用CH375ByteRead(),以字節(jié)為基本單位從當(dāng)前文件讀取數(shù)據(jù)。全部讀完后,調(diào)用CH375FileClose()關(guān)閉文件,并返回主程序,最后完成數(shù)據(jù)的讀取。
          5結(jié)論
          本文所設(shè)計(jì)的系統(tǒng)能夠?qū)崿F(xiàn)文字、圖片和圖像的動(dòng)靜態(tài)顯示。并將USB接口設(shè)計(jì)在內(nèi),實(shí)現(xiàn)嵌入式USB主機(jī),使系統(tǒng)可以作為USB主機(jī)與U盤通信,通過讀U盤來完成顯示數(shù)據(jù)的更新,使嵌入式系統(tǒng)和移動(dòng)存儲(chǔ)設(shè)備能夠在脫離PC機(jī)的情況下進(jìn)行數(shù)據(jù)交換。增強(qiáng)了電路系統(tǒng)的實(shí)用性,擴(kuò)大了其應(yīng)用范圍。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();