亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lcd2864_dispaly.c

?? 為LCD的滾動顯示漢字程序
?? C
字號:
//實驗目的:用PICC熟悉12864LCD的中文使用
//使用12864LCD自帶中文字庫
//編程讓LCD12864向上滾動顯示詩詞〈北京歡迎你〉
//硬件設置:
//關斷LCD1602的所有跳線,接通LCD12864的所有跳線。
 #include<p30f6014.h>
 
  _FOSC(CSW_FSCM_OFF & XT_PLL4);  //4倍頻晶振,Failsafe 時鐘關閉
  _FWDT(WDT_OFF);                 //關閉看門狗定時器
  _FBORPOR(PBOR_OFF & MCLR_EN);   //掉電復位禁止,MCLR復位使能。
  _FGS(CODE_PROT_OFF);            //代碼保護禁止

//芯片配置字,看門狗關,上電延時開,掉電檢測關,低壓編程關,加密,4M晶體HS振蕩
#define  rs  LATBbits.LATB4       //定義LCD的數據/命令控制口              
#define  rw  LATBbits.LATB5       //定義LCD的讀/寫控制口
#define  e   LATBbits.LATB6       //定義LCD的使能口
#define  psb LATBbits.LATB2       //8位/4位并口選擇
#define  rst LATBbits.LATB7       //定義復位口 

#define  nop()  asm("nop")            //定義nop()函數


const unsigned char sdgt[]={
//北京歡迎你
' ',' ',0xB1,0xB1,0xBE,0xA9,0xBB,0xB6,0xD3,0xAD,0xC4,0xE3,' ',' ',' '};
const unsigned char clear[]={
' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '};
const unsigned char time[]={
//2008年10月12日
'2','0','0','8',0xC4,0xEA,'1','0',0xD4,0xC2,'1','2',0xC8,0xD5,' ',' '};
const unsigned char TAB[16][16]={
{//我家大門常打開
0xCE,0xD2,0xBC,0xD2,0xB4,0xF3,0xC3,0xC5,0xB3,0xA3,0xB4,0xF2,0xBF,0xAA,',' ,' '},
{//開放懷抱等你。  
0xBF,0xAA,0xB7,0xC5,0xBB,0xB3,0xB1,0xA7,0xB5,0xC8,0xC4,0xE3,',',' ',' ' ,' '},
{//擁抱過后有了默契,
0xD3,0xB5,0xB1,0xA7,0xB9,0xFD,0xBA,0xF3,0xD3,0xD0,0xC1,0xCB,0xC4,0xAC,0xC6,0xF5},
{//你會愛上這里。 
0xC4,0xE3,0xBB,0xE1,0xB0,0xAE,0xC9,0xCF,0xD5,0xE2,0xC0,0xEF,',', ' ', ' ' , ' '},
{//不管遠近都是朋友,
0xB2,0xBB,0xB9,0xDC,0xD4,0xB6,0xBD,0xFC,0xB6,0xBC,0xCA,0xC7,0xC5,0xF3,0xD3,0xD1},
{//請不要客氣,
0xC7,0xEB,0xB2,0xBB,0xD2,0xAA,0xBF,0xCD,0xC6,0xF8,',',' ',' ', ' ' , ' ' , ' '},
{//第幾次來沒關系。
0xB5,0xDA,0xBC,0xB8,0xB4,0xCE,0xC0,0xB4,0xC3,0xBB,0xB9,0xD8,0xCF,0xB5,',' ,' '},
{//我們歡迎你,
0xCE,0xD2,0xC3,0xC7,0xBB,0xB6,0xD3,0xAD,0xC4,0xE3,',',' ',' ', ' ' , ' ' , ' '},
{//北京歡迎你! 
0xB1,0xB1,0xBE,0xA9,0xBB,0xB6,0xD3,0xAD,0xC4,0xE3,'!',' ',' ', ' ' , ' ' , ' '},
{//讓溫暖感動你,
0xC8,0xC3,0xCE,0xC2,0xC5,0xAF,0xB8,0xD0,0xB6,0xAF,0xC4,0xE3,',',' ',' ',' '},
{//流動中的魅力充滿,
0xC1,0xF7,0xB6,0xAF,0xD6,0xD0,0xB5,0xC4,0xF7,0xC8,0xC1,0xA6,0xB3,0xE4,0xC2,0xFA},
{//著朝氣北京歡迎你。
0xD7,0xC5,0xB3,0xAF,0xC6,0xF8,0xB1,0xB1,0xBE,0xA9,0xBB,0xB6,0xD3,0xAD,0xC4,0xE3},
{//在太陽下分享呼吸,
0xD4,0xDA,0xCC,0xAB,0xD1,0xF4,0xCF,0xC2,0xB7,0xD6,0xCF,0xED,0xBA,0xF4,0xCE,0xFC},
{//在黃土地刷新成績 
0xD4,0xDA,0xBB,0xC6,0xCD,0xC1,0xB5,0xD8,0xCB,0xA2,0xD0,0xC2,0xB3,0xC9,0xBC,0xA8},
{//我家種著萬年青,
0xCE,0xD2,0xBC,0xD2,0xD6,0xD6,0xD7,0xC5,0xCD,0xF2,0xC4,0xEA,0xC7,0xE0,',',' '},
{//開放每段傳奇..,
0xBF,0xAA,0xB7,0xC5,0xC3,0xBF,0xB6,0xCE,0xB4,0xAB,0xC6,0xE6,'.','.','.','.'},
};


unsigned int lcd_x;                 //定義LCD頁地址寄存器
unsigned int lcd_y;                 //定義LCD列地址寄存器
void init();                        //申明I/O口設置函數
void lcd_init();                    //申明LCD初始化函數
void clear_p();                     //申明清屏函數
void qushu(int counts,const unsigned char *ps); //申明查表獲取顯示數據
void send_d(unsigned char x);       //申明送一字節數據顯示函數
void send_i(unsigned char x);       //申明送一字節控制命令函數
void chk_busy();                    //申明檢測LCD是否工作繁忙函數
void delay();                       //申明延時函數,供各命令之間的延時和決定顯示快慢用

//-------------------------------------------
//主程序
int main(void)
{
       unsigned char i,j;
       init();                      //調用I/O口設置函數
       lcd_init();                  //調用LCD初始化函數   
       clear_p();                   //調用清屏函數
while(1)
     {
      clear_p();
      send_i(0x90);                     //設置顯示位置:第二行
      qushu(0x10,sdgt);                 //顯示歌頭行
      send_i(0x88);                     //設置顯示位置:第三行
      qushu(0x10,time);                 //顯示日期行
      for(j=0;j<160;j++)
        {delay();}                      //延時一定時間
        clear_p();                      //清屏
    
for(i=0;i<16;i++)                       //顯示完所有信息需移動16次
       {

        send_i(0x80);                   //設置顯示位置:顯示第一行
        qushu(0x10,TAB[i]);  
        send_i(0x90);                   //設置顯示位置:清除第二行
        qushu(0x10,clear); 
        delay();
        send_i(0x90);                   //設置顯示位置:顯示第二行
        qushu(0x10,TAB[i+1]); 
        send_i(0x88);                   //設置顯示位置:清除第三行
        qushu(0x10,clear);       
        delay();   
        send_i(0x88);                   //設置顯示位置:顯示第三行
        qushu(0x10,TAB[i+2]);  
        send_i(0x98);                   //設置顯示位置:清除第四行
        qushu(0x10,clear); 
        delay();
        send_i(0x98);                   //設置顯示位置:顯示第四行
        qushu(0x10,TAB[i+3]); 
        delay();
        for(j=0;j<16;j++)               //控制移動頻率
        {delay();}
       }  
       for(j=0;j<32;j++)                //顯示完一次,等待一定時間
        {delay();}                       
     }
}

//-------------------------------------------
//I/O口設置函數
void init()
{
  TRISB=0X0000;                     //設置B口為輸出   
  TRISD=0X0000;                     //設置D口為輸出
}

//-------------------------------------------
//LCD初始化函數
void lcd_init()
{
  rst=0;                            //復位LCD
  delay();                          //保證復位所需要的時間
  rst=1;                            //恢復LCD正常工作
  nop();        
  psb=1;                            //設置LCD為8位并口通信
  send_i(0x30);                     //基本指令操作
  send_i(0x01);                     //清除顯示
  send_i(0x06);                     //指定在寫入或讀取時,光標的移動方向
  send_i(0x0c);                     //開顯示,關光標,不閃爍
}

//有關顯示設置函數
void wr_zb()
{
  send_i(lcd_y);
  send_i(lcd_x);
}

//-------------------------------------------
//清屏函數
void clear_p()
{
  send_i(0x1);                   //清除所有顯示
  send_i(0x34);                  //擴展指令操作
  send_i(0x30);                  //基本指令操作
}

//------------------------------------------
//查表函數
void qushu(int counts,const unsigned char *ps)
{
  int i;                         //定義循環變量
  for(i=counts;i>0;i--)          //循環counts次
     {  
        send_d(*ps);             //查表取數并調用顯示一個字節數據函數送顯示
        ps++;                    //取下一個數據
     }
}

//-------------------------------------------
//顯示一字節數據函數
void send_d(unsigned char x)
{
   chk_busy();                  //檢測LCD是否工作繁忙
   rs=1;                        //設置該字節數據是顯示數據
   rw=0;                        //設置該次操作為寫
   PORTD=x;                     //送數據口PORTD
   e=1;                         //使能
   nop();
   nop();
   nop();                       
   e=0;                         //禁止
}

//--------------------------------------------
//送一字節命令代碼函數
void send_i(unsigned char x)
{
   chk_busy();                  //檢測LCD是否工作繁忙
   rs=0;                        //設置該字節數據為控制命令
   rw=0;                        //設置此次操作為寫
   PORTD=x;                     //送數據口PORTD
   e=1;                         //使能
   nop();
   nop();
   nop();
   e=0;                         //禁止
}

//-------------------------------------------
//檢測LCD是否工作繁忙
void chk_busy()
{  
   TRISD=0Xffff;                 //更改總線方向為輸入
   rs=0;                         //總線上為命令
   delay();
   rw=1;                         //讀操作
   delay();
   while(PORTDbits.RD7)                  
      {
         delay();
         delay();
         e=1;                   
         delay();
         delay();
         e=0;                   
      }
   e=0;                         
   TRISD=0X0000;                  //總線還原為輸出  
 }

//-------------------------------------------
//延時函數
void delay()
{
    int i;
    for(i=0;i<4000;i++)
       {;}
}

//-------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩国产高清在线| 国产精品私人影院| 欧美日韩国产大片| 日韩亚洲欧美一区二区三区| 久久天天做天天爱综合色| 亚洲国产精品影院| 欧美一区二区三区啪啪| 亚洲小少妇裸体bbw| 国产成人精品免费| 欧美三区在线观看| 中文一区二区在线观看| 麻豆免费看一区二区三区| 色综合久久中文综合久久97| 精品乱人伦一区二区三区| 夜夜亚洲天天久久| 国产ts人妖一区二区| 日韩一区二区三区在线| 国产美女精品一区二区三区| 欧美日韩一区不卡| 精品在线视频一区| 777欧美精品| 亚洲第一精品在线| 欧美亚洲综合另类| 亚洲另类春色校园小说| 91玉足脚交白嫩脚丫在线播放| 日韩欧美在线不卡| 国产91精品露脸国语对白| 亚洲欧美日韩系列| 91网站最新地址| 日本一区中文字幕| 中文字幕一区二| 成人av电影观看| 中文字幕精品一区二区精品绿巨人 | 欧美精品一区二区三区蜜桃| 亚洲成人免费视| 久久综合九色综合欧美98| 色综合中文字幕国产 | 国产视频一区二区三区在线观看| 日本欧美一区二区三区| 国产精品乱码妇女bbbb| 国产精品一区二区三区乱码| 欧美成人一级视频| 91精品福利视频| 婷婷亚洲久悠悠色悠在线播放| 欧美日韩国产天堂| 成人午夜私人影院| 专区另类欧美日韩| 欧美性大战久久| av色综合久久天堂av综合| 亚洲免费电影在线| 国产精品无遮挡| 2021中文字幕一区亚洲| 欧美一区二区三区播放老司机| 91猫先生在线| 大美女一区二区三区| 美女视频第一区二区三区免费观看网站| 亚洲人成网站精品片在线观看| 国产午夜精品一区二区三区嫩草 | 91精品国产综合久久精品| 99r国产精品| 一区二区三区四区在线播放 | 不卡的看片网站| 国模大尺度一区二区三区| 国产欧美日韩麻豆91| 91麻豆文化传媒在线观看| 国产剧情一区二区| 色88888久久久久久影院野外| 国模一区二区三区白浆| 久久精品国产亚洲a| 久久精品免费在线观看| 日韩欧美一区二区在线视频| 韩国在线一区二区| 日韩和欧美的一区| 中文字幕欧美日韩一区| 久久品道一品道久久精品| 日本乱人伦aⅴ精品| 91色九色蝌蚪| 91农村精品一区二区在线| 91片在线免费观看| 91片黄在线观看| 91黄色激情网站| 欧美性xxxxxx少妇| 欧美日韩免费视频| 这里只有精品电影| 日韩欧美在线观看一区二区三区| 欧美一区二区精品在线| 欧美r级在线观看| 久久久精品综合| 国产精品久久久久婷婷二区次| 国产精品入口麻豆原神| 亚洲人成小说网站色在线 | 欧美在线免费播放| 国产成人小视频| 成人av在线资源| 色综合久久精品| 欧美在线免费观看亚洲| 51午夜精品国产| 精品国产不卡一区二区三区| 久久久久久久综合狠狠综合| 中文字幕精品一区 | 亚洲国产美国国产综合一区二区| 亚洲地区一二三色| 美女爽到高潮91| jlzzjlzz亚洲日本少妇| 91搞黄在线观看| 欧美一三区三区四区免费在线看| 日韩欧美一区在线| 国产精品乱码一区二区三区软件| 亚洲综合在线免费观看| 国产日产欧美一区二区视频| 亚洲天堂福利av| 日韩精品五月天| 国产成人免费在线观看| 91麻豆精品在线观看| 日韩一级黄色大片| 国产精品美日韩| 亚瑟在线精品视频| 国产一区二区电影| 欧美三片在线视频观看| 欧美精品一区二| 一区二区三区在线看| 久久成人精品无人区| 色婷婷av久久久久久久| 精品国产一区二区三区四区四 | 亚洲欧美另类小说| 九九视频精品免费| 国产大陆亚洲精品国产| 在线中文字幕一区| 久久久99精品免费观看| 午夜一区二区三区在线观看| 国产大片一区二区| 欧美一区二区黄色| 亚洲欧美国产三级| 国产一区二区精品久久99| 欧美日韩久久久| 亚洲丝袜精品丝袜在线| 国产一区二区视频在线播放| 欧美日韩一级大片网址| 亚洲欧洲另类国产综合| 精品无码三级在线观看视频| 欧美影视一区在线| 亚洲欧洲av在线| 国产精品综合一区二区三区| 欧美丰满美乳xxx高潮www| 欧美一区二区网站| 亚洲码国产岛国毛片在线| 国产呦精品一区二区三区网站| 欧美日韩国产色站一区二区三区| 综合久久一区二区三区| 国产成人综合自拍| 日韩免费性生活视频播放| 亚洲成人免费在线观看| 91福利在线观看| 亚洲视频综合在线| av日韩在线网站| 国产精品免费视频观看| 国产成人精品影视| 久久久.com| 国产精品18久久久久久久久 | 国产美女一区二区| 欧美zozozo| 久久91精品国产91久久小草| 91精品国产综合久久精品性色| 午夜私人影院久久久久| 欧美日韩日日摸| 亚洲成人动漫一区| 7777精品伊人久久久大香线蕉最新版| 亚洲一级二级三级在线免费观看| 在线免费不卡视频| 亚洲午夜免费视频| 欧美精品久久一区二区三区 | 麻豆久久一区二区| 日韩欧美一级精品久久| 久久99在线观看| 久久久久久电影| 国产.欧美.日韩| 成人欧美一区二区三区| 99久久精品国产一区| 亚洲女人小视频在线观看| 色女孩综合影院| 性做久久久久久久免费看| 91精品国产一区二区| 黑人巨大精品欧美黑白配亚洲| 久久美女艺术照精彩视频福利播放 | 精品欧美久久久| 国产高清在线观看免费不卡| 国产精品乱人伦| 欧美影院一区二区三区| 美女视频黄 久久| 国产精品丝袜在线| 日本福利一区二区| 日韩成人免费电影| 久久蜜桃一区二区| 色久优优欧美色久优优| 日韩av不卡在线观看| 久久婷婷一区二区三区| 91丨九色丨尤物| 秋霞午夜鲁丝一区二区老狼| 色婷婷综合久久久| 日本伊人色综合网|