<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ò) 收藏

          void checkBF()//檢查BF位,判斷LCD 是否忙

          {

          unsigned int check

          EALLOW;

          GpioMuxRegs.GPAMUX.all=0xff00;//設(shè)EVA前8腳為通用I/O口,其他為保留功能

          GpioMuxRegs.GPBMUX.all=0xff00;//設(shè)GPIOB0~2為通用I/O口,其他為保留功能

          GpioMuxRegs. GPBDIR.all=0x00ff;// 設(shè)GPIOB0~2為輸出引腳

          EDIS;

          GpioDataRegs. GPBDAT.bit.GPIOB0=0;

          GpioDataRegs. GPBDAT.bit.GPIOB1=1;//讀BF的狀態(tài),RS=0,R/W=1

          do {

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

          Check=GpioDataRegs. GPADAT.all;

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

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

          check=0x80check;//當(dāng)?shù)?位,即BF為0時(shí)才可以操作

          }while(!check= =0x00);

          }

          void InitialLCD()//液晶初始化

          {

          writeINS(0x30);//LCD選擇為8位并行數(shù)據(jù)傳輸,不擴(kuò)充指令

          Delay2(5);//延時(shí)大于100us

          writeINS(0x0E);//開顯示,開游標(biāo),關(guān)反白

          Delay2(5);//延時(shí)大于100us

          writeINS(0x01);//清屏顯示

          Delay2(500);//延時(shí)大于10ms

          writeINS(0x06);//DDRAM的地址計(jì)數(shù)器(AC)加1

          Delay2(5);//延時(shí)大于100us

          }

          void Delay1()//延時(shí)子程序

          {

          Int i;

          for ( i=0;i5;i++ );

          }

          void Delay2(unsigned int nTime)

          {

          int ii,jj,kk=0;

          for ( ii=0;iinTime;ii++ )

          {

          for ( jj=0;jj215;jj++ )

          {

          kk++;

          }

          }

          }

          欲在中某一個(gè)位置顯示中文字符時(shí),應(yīng)先設(shè)定顯示字符位置,即先設(shè)定顯示地址,再寫入中文字符編碼。當(dāng)字符編碼為兩字節(jié)時(shí),應(yīng)先寫入高位字節(jié),再寫入低位字節(jié)。的字符顯示地址RAM地址從80H到9FH,與4行8列共32個(gè)字符顯示區(qū)域一一對(duì)應(yīng)。另外,顯示ASCII字符過程與顯示中文字符過程相同,不過在顯示連續(xù)字符時(shí),只須設(shè)定一次顯示位置,有模塊自動(dòng)對(duì)地址加1指向下一個(gè)字符位置,否則,顯示的字符中將會(huì)有一個(gè)空ASCII字符位置。本文以從字庫中顯示“液晶”字樣為例,給出顯示“液晶”字符的主程序如下:

          main()

          {

          InitialLCD();//初始化液晶

          writeINS(0x80);//設(shè)定顯示地址為首行首列

          writeDATA (0xD2);

          writeDATA (0xBA);//顯示“液”

          writeDATA (0xBE);

          writeDATA (0xA6);//顯示“晶”

          for(;;);

          }

          3 結(jié)論

          從上面的應(yīng)用介紹可看出,本文所采用的方法不需要增加硬件,電路結(jié)構(gòu)簡單,只占用了的多達(dá)56個(gè)I/O引腳中的11個(gè)。所以,對(duì)剩余較多不用I/O引腳的系統(tǒng)完全可以采用這種控制方法,絕大多數(shù)下是可以滿足要求的。通過該我們可以說,采用模擬外部慢速設(shè)備的實(shí)現(xiàn)與其外設(shè)的這種方法是一種簡單有效的方法,并為各種系統(tǒng)顯示、慢速外設(shè)的提供了一種可以借鑒的方法。


          上一頁 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); })();