久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9033|回復: 0
打印 上一主題 下一主題
收起左側

LCD1602的單片機初始化程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:358047 發表于 2018-7-28 17:10 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
LCD1602的讀、寫操作的程序,及顯示字符串的程序
  1. uchar BusyTest(void)  //lcd忙碌狀態檢測
  2.   {
  3.     bit result;
  4.     RS=0;      
  5.     RW=1;
  6.     E=1;      
  7.     _nop_();   
  8.     _nop_();
  9.     _nop_();  
  10.     _nop_();   //空操作四個機器周期,給硬件反應時間
  11.     result=BF;  
  12.     E=0;
  13.     return result;
  14.   }
  15.         void WriteInstruction (uchar dictate) //設置模式或地址
  16. {   
  17.     while(BusyTest()==1);
  18.     RS=0;                  //根據規定,RS和R/W同時為低電平時,可以寫入指令
  19.     RW=0;   
  20.     E=0;                  
  21.     _nop_();
  22.     _nop_();            
  23.     P0=dictate;            //將數據送入P0口,即寫入指令或地址
  24.     _nop_();
  25.     _nop_();
  26.     _nop_();  
  27.     _nop_();               
  28.     E=1;                   //E置高電平  
  29.     _nop_();  
  30.     _nop_();  
  31.     _nop_();  
  32.     _nop_();               
  33.     E=0;                  //當E由高電平跳變成低電平時,液晶模塊開始執行命令
  34. }
  35. void WriteAddress(uchar x) //設置實際顯示的地址
  36. {
  37.               WriteInstruction(x|0x80);
  38. }

  39. void WriteData(uchar y)  //向LCD寫數據
  40. {
  41.     while(BusyTest()==1);   
  42.    RS=1;           
  43.    RW=0;
  44.    E=0;         
  45.          P0=y;           
  46.    _nop_();  
  47.    _nop_();
  48.    _nop_();
  49.          _nop_();      
  50.    E=1;         
  51.    _nop_();  
  52.    _nop_();  
  53.    _nop_();  
  54.    _nop_();  
  55.    E=0;            
  56. }
  57. void LcdInitiate(void) //初始化操作
  58. {
  59.    delay(15);             //首次寫指令時應給LCD一段較長的反應時間
  60.    WriteInstruction(0x38);  //顯示模式設置:16×2顯示,5×7點陣,8位數據接口
  61.    delay(5);  
  62.    WriteInstruction(0x38);  
  63.    delay(5);  
  64.    WriteInstruction(0x38);  
  65.    delay(5);  
  66.    WriteInstruction(0x0f);  //顯示模式設置:顯示開,有光標,光標閃爍  
  67.    delay(5);
  68.    WriteInstruction(0x06);  //顯示模式設置:光標右移,字符不移  
  69.    delay(5);  
  70.    WriteInstruction(0x01);  //清屏幕指令,將以前的顯示內容清除
  71.          delay(5);
  72. }


  73. void display(uchar hang,uchar lie,uchar *p)
  74. {
  75. uchar a;
  76. if(hang == 1)
  77. {
  78. a = 0x80;
  79. }
  80. if(hang == 2)
  81. {
  82. a = 0xc0;
  83. }
  84. a = a + lie - 1;
  85. while(1)
  86. {
  87. BusyTest();
  88. WriteInstruction(a);
  89. BusyTest();
  90. WriteData(*p);
  91. delay(10);
  92. a++;
  93. p++;   
  94. if((*p == '\0')||(a==0x90)||(a==0xd0))
  95. {
  96. break;
  97. }
  98. }
  99. }
復制代碼



評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: www.av在线 | 日韩毛片在线观看 | 精品欧美一区二区精品久久 | 久久久久资源 | 国产成人亚洲精品 | 国产一级淫片a直接免费看 免费a网站 | www.激情.com| 亚洲一一在线 | 国内精品久久精品 | 亚洲精品一区二区三区在线 | 久久99国产精品 | 色又黄又爽网站www久久 | 一区二区三区免费 | 国产在视频一区二区三区吞精 | 男人天堂社区 | 日日干日日操 | 久久手机在线视频 | 国产精品一区久久久 | 国产精品日日做人人爱 | 亚洲啊v | 免费激情 | 亚洲国产精品视频一区 | 91一区二区 | 久热精品在线 | 色视频免费 | 亚洲精品日韩一区二区电影 | 久久国际精品 | 欧美h | 中国三级黄色录像 | 我爱操 | 综合久久综合久久 | 久久久久久久久久久久久久国产 | 日韩成人免费视频 | 国产精品a久久久久 | 日韩在线精品强乱中文字幕 | 欧美成人a∨高清免费观看 老司机午夜性大片 | 中日av| 中文字幕一区在线观看视频 | h在线| 97日日碰人人模人人澡分享吧 | 日韩中文字幕免费在线 |