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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)驅(qū)動(dòng)LCD12864液晶顯示閃動(dòng)字體程序

          PIC單片機(jī)驅(qū)動(dòng)LCD12864液晶顯示閃動(dòng)字體程序

          作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò) 收藏
          /**********************************************************************

          *** 功能:12864LCD顯示 顯示閃動(dòng)字體,各位同學(xué)可以自己修改。
          *** 實(shí)驗(yàn)內(nèi)容:0x81 0x90 0x88 0x98 分別是LCD四行的行首地址,我們操作LCD現(xiàn)實(shí)的字符就是分別放在這里面的
          ***開(kāi)發(fā)板連接方法: 接上有字庫(kù)LCD12864 注意調(diào)節(jié)對(duì)比度,LCD12864工作電流較大,請(qǐng)用外接電源供電。
          ****************************************************************************************************/
          #include
          __CONFIG(0xff32);
          //芯片配置字,看門狗關(guān),上電延時(shí)開(kāi),掉電檢測(cè)關(guān),低壓編程關(guān),加密,4M晶體HS振蕩

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

          #define rs RA5 //定義LCD的數(shù)據(jù)/命令控制口
          #define rw RA4 //定義LCD的讀/寫控制口
          #define e RA3 //定義LCD的使能口
          #define psb RA2 //定義通信方式控制口
          #define rst RA1 //定義復(fù)位口
          #define nop()asm("nop") //定義空操作函數(shù)

          const unsigned char TAB1A[ ] = {"中科技電子網(wǎng)"};
          const unsigned char TAB1B[ ] = {***.*********.***"};
          const unsigned char TAB1C[ ] = {"0755-110"};
          const unsigned char TAB1D[ ] = {"HD-34 PIC開(kāi)發(fā)板"};

          unsigned int lcd_x; //定義LCD頁(yè)地址寄存器
          unsigned int lcd_y; //定義LCD列地址寄存器
          bit busy; //定義LCD忙標(biāo)志位

          void init(); //申明I/O口設(shè)置函數(shù)
          void lcd_init(); //申明LCD初始化函數(shù)
          void clear_p(); //申明清屏函數(shù)
          void writelcd(const unsigned char *pt); //聲明LCD寫字符串函數(shù)
          void wr_zb(); //申明有關(guān)顯示設(shè)置函數(shù)
          voidflash(); //申明設(shè)置LCD顯示閃爍函數(shù)
          void send_d(unsigned char x); //申明送一字節(jié)數(shù)據(jù)顯示函數(shù)
          void send_i(unsigned char x); //申明送一字節(jié)控制命令函數(shù)
          void chk_busy(); //申明檢測(cè)LCD是否工作繁忙函數(shù)
          void delay(); //申明延時(shí)函數(shù)1,供各命令之間的延時(shí)和決定顯示快慢
          void delay1(); //申明延時(shí)函數(shù)2,用以決定顯示閃爍快慢

          /****************************************************************************
          * 名 稱:main()
          * 功 能:主函數(shù)
          * 入口參數(shù):
          * 出口參數(shù):
          * 說(shuō) 明:
          ****************************************************************************/
          void main()
          {
          init(); //調(diào)用I/O口設(shè)置函數(shù)
          while (1)
          {
          lcd_init(); //調(diào)用LCD初始化函數(shù)
          clear_p(); //調(diào)用清屏函數(shù)
          send_i(0x81); //第1行
          writelcd(TAB1A);
          send_i(0x90); //第2行
          writelcd(TAB1B);
          send_i(0x88); //第3行
          writelcd(TAB1C);
          send_i(0x98); //第4行
          writelcd(TAB1D);
          delay(); //延長(zhǎng)顯示一段時(shí)間
          flash(); //調(diào)用顯示閃爍函數(shù)
          clear_p(); //調(diào)用清屏函數(shù)
          }
          }

          /****************************************************************************
          * 名 稱:init()
          * 功 能:I/O口初始化
          * 入口參數(shù):
          * 出口參數(shù):
          * 說(shuō) 明:
          ****************************************************************************/
          void init()
          {
          ADCON1 = 0X07; //設(shè)置A口為普通I/O口
          TRISA = 0X00; //設(shè)置A口為輸出
          TRISD = 0X00; //設(shè)置D口為輸出
          PORTA = 0X00000001;
          }


          /****************************************************************************
          * 名 稱:lcd_init()
          * 功 能:LCD初始化
          * 入口參數(shù):
          * 出口參數(shù):
          * 說(shuō) 明:
          ****************************************************************************/
          voidlcd_init()
          {
          rst = 0; //復(fù)位LCD
          delay(); //保證復(fù)位所需要的時(shí)間
          rst = 1; //恢復(fù)LCD正常工作
          nop();
          psb = 1; //設(shè)置LCD為8位并口通信
          send_i(0x30); //基本指令操作
          send_i(0x01); //清除顯示
          send_i(0x06); //指定在寫入或讀取時(shí),光標(biāo)的移動(dòng)方向
          send_i(0x0c); //開(kāi)顯示,關(guān)光標(biāo),不閃爍
          }


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


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