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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于TMS320F2812的液晶顯示的設(shè)計(jì)

          基于TMS320F2812的液晶顯示的設(shè)計(jì)

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

          引言

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

          近年來,芯片在高速數(shù)據(jù)處理中得到了廣泛的應(yīng)用。是美國德州儀器公司(TI公司)專門為工業(yè)應(yīng)用而的新一代處理器。該芯片采用了高性能的32位中央處理器、哈佛總線結(jié)構(gòu),高性能靜態(tài)CMOS技術(shù),主頻最高可達(dá)150MHZ(時(shí)鐘周期6.67ns);具有外部存儲(chǔ)器XINTF,可擴(kuò)展多達(dá)1MB的存儲(chǔ)空間。但是這種高速器件與慢速外設(shè)之間的產(chǎn)生了問題。一般來說,與慢速外設(shè)的訪問有兩種方式:直接訪問方式和間接訪問方式。間接訪問是用DSP的數(shù)字I/O口來控制慢速外設(shè),用編程來模擬外設(shè)的接口,加入相應(yīng)的等待延時(shí)來實(shí)現(xiàn);而直接訪問是將慢速外設(shè)與DSP特定的XINTF區(qū)相連,通過增加相應(yīng)的內(nèi)部等待狀態(tài)來實(shí)現(xiàn)上的匹配。有多達(dá)56個(gè)獨(dú)立的可編程、多用途雙向數(shù)字I/O口,本文將利用這些I/O口,通過編程模擬慢速液晶控制器的讀寫,實(shí)現(xiàn)與液晶通信。

          1 FYD12842-0402B模塊簡介

          點(diǎn)陣式模塊是一種集顯示、控制與驅(qū)動(dòng)為一體的顯示器件,在中我們采用的是成都市飛宇達(dá)實(shí)業(yè)有限公司生產(chǎn)的模塊FYD12864-0402B,內(nèi)置液晶控制器。

          FYD12864-0402B是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標(biāo)一級(jí)、二級(jí)簡體中文字庫的點(diǎn)陣圖形液晶顯示模塊。其顯示分辨率為128 64,內(nèi)置8192個(gè)16*16點(diǎn)漢字,和128個(gè)16*8點(diǎn)ASCII字符集,強(qiáng)大的字庫省去了很多自行編碼的麻煩;該模塊不僅可以顯示8 行16 16點(diǎn)陣的漢字,利用其靈活的接口方式和簡單、方便的操作指令,還可構(gòu)成全中文人機(jī)交互圖形界面;其內(nèi)置了DC~DC轉(zhuǎn)換電路,無需外加負(fù)電壓,無需片選信號(hào),簡化了。

          總之,由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,具體可以參看FYD12864-0402B的使用手冊(cè)。

          2 的硬件接口設(shè)計(jì)

          2.1 間接硬件接口設(shè)計(jì)

          TMS320F2812與ST7920的間接硬件接口設(shè)計(jì)如圖1所示。ST7920并、串口方式可選,當(dāng)PSB置高時(shí)為并行方式,置低時(shí)為串口方式。本例在實(shí)際應(yīng)用中僅使用8位并口的通訊模式,故將PSB接固定高電平。RESET為液晶復(fù)位引腳,低電平有效。V0與VOUT以圖1中方式相連可以調(diào)節(jié)LCD的對(duì)比度。本設(shè)計(jì)用TMS320F2812的GPIOA0~7作為數(shù)據(jù)接口,GPIOB0、GPIOB1分別與RS、R/W相連作為控制信號(hào),其具體控制功能如表1所示。E為ST7920的使能信號(hào),將其與GPIOB2相連,E=1時(shí),配合R進(jìn)行讀數(shù)據(jù)或指令;當(dāng)E=1 時(shí),配合/W進(jìn)行寫數(shù)據(jù)或指令。

          圖1 TMS320F2812與ST7920的硬件接口電路

          另外,在本設(shè)計(jì)中,TMS320F2812的I/O口只能接受最大3.3V的電壓,而液晶的輸出電壓有5V,因此在兩者之間需要進(jìn)行電平轉(zhuǎn)換。

          2.2 DSP與ST7920的軟件接口設(shè)計(jì)

          DSP和液晶模塊的接口包括2部分操作:DSP讀液晶模塊狀態(tài)的操作;DSP向液晶模塊寫數(shù)據(jù)和指令的操作。這些操作的實(shí)現(xiàn)是參考液晶模塊的時(shí)序圖,產(chǎn)生滿足這些時(shí)序的接口控制邏輯。液晶的時(shí)序圖如圖2所示。

          (b) ST7920讀資料時(shí)序圖

          圖2 ST7920讀寫時(shí)序圖

          其中,TC=1200(MIN),TPW=140(MIN),TR=TF=25(MAX),TAS=10(MIN),TAH=20(MIN),TDSW=40(MIN),TH=20(MIN),TDDR=100(MAX)(單位均為ns)

          從時(shí)序圖可以看出,ST7920的RS、R/W可以同步操作,讀寫操作是由使能信號(hào)E完成的,因此,在軟件設(shè)計(jì)中關(guān)鍵是要設(shè)計(jì)出合理的E信號(hào),以滿足ST7920的讀/寫時(shí)序。要實(shí)現(xiàn)對(duì)ST7920的正確讀寫必須使F2812的I/O口模擬時(shí)序注意滿足以下條件:

          (1) 在讀寫時(shí),必須使E信號(hào),即IOPB2保持高信號(hào)140ns以上

          (2) 在寫操作時(shí)IOPA0~IOPA7的數(shù)據(jù)必須在E信號(hào)變?yōu)榈碗娖角氨3?0ns以上

          (3) 在讀、寫兩個(gè)數(shù)據(jù)之間的間隔必須大于1200ns。

          此外,ST7920有內(nèi)部標(biāo)志忙標(biāo)志BF,BF=1表示模塊在進(jìn)行內(nèi)部操作,此時(shí)模塊不接受外部指令和數(shù)據(jù);BF=0時(shí),模塊為準(zhǔn)備狀態(tài),隨時(shí)可接受外部指令和數(shù)據(jù)。因此,在送出一個(gè)指令前需檢查BF標(biāo)志位,如不檢查,則在前一個(gè)指令和這個(gè)指令中間必須延遲一段較長的時(shí)間,等待前一個(gè)指令確定執(zhí)行完成。從程序的可移植性和通用性方面考慮,本設(shè)計(jì)選用了C語言進(jìn)行軟件模塊的設(shè)計(jì)實(shí)現(xiàn)。另外,在軟件的編寫上采用了結(jié)構(gòu)體、共用體的方法,以結(jié)構(gòu)體成員的形式來訪問寄存器的某一位或者某幾位。相比以前使用的宏定義方式,這種方式實(shí)現(xiàn)了對(duì)寄存器位域的獨(dú)立訪問,為寄存器提供了更加靈活和高效的訪問手段,也大大提高了代碼的可讀性、可靠性和可維護(hù)性。現(xiàn)給出程序如下:

          void writeINS (int INS ) //DSP向液晶寫入命令

          {

          checkBF();//測(cè)試BF位是否忙

          EALLOW;

          GpioMuxRegs. GPADIR.all=0x00ff;//設(shè)GPIOA0~7為輸出引腳

          EDIS;

          GpioDataRegs. GPBDAT.bit.GPIOB0=0;

          GpioDataRegs. GPBDAT.bit.GPIOB1=0;//寫指令到LCD,RS=0,R/W=0

          GpioDataRegs. GPADAT.all=INS;//輸出指令

          GpioDataRegs. GPBDAT.bit.GPIOB2=1;//E=1

          Delay1();//延時(shí)140ns以上

          GpioDataRegs. GPBDAT.bit.GPIOB2=0;//E=0,指令寫入LCD

          }

          void writeDATA(int data) //向液晶寫入數(shù)據(jù)

          {

          checkBF();//測(cè)試BF位是否忙

          EALLOW;

          GpioMuxRegs. GPADIR.all=0x00ff;//設(shè)GPIOA0~7為輸出引腳

          EDIS;

          GpioDataRegs. GPBDAT.bit.GPIOB0=1;

          GpioDataRegs. GPBDAT.bit.GPIOB1=0;//寫數(shù)據(jù)到LCD,RS=1,R/W=0

          GpioDataRegs. GPADAT.all=data;//輸出數(shù)據(jù)

          GpioDataRegs. GPBDAT.bit.GPIOB2=1;//E=1

          Delay1();//延時(shí)140ns以上

          GpioDataRegs. GPBDAT.bit.GPIOB2=0;//E=0,數(shù)據(jù)寫入LCD

          }


          上一頁 1 2 下一頁

          評(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); })();