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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1508|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

標(biāo)準(zhǔn)清晰的LCD1602單片機(jī)驅(qū)動(dòng)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:512039 發(fā)表于 2019-4-14 17:45 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #include<stdio.h>
  4. #include<string.h>
  5. #include<math.h>
  6. #include<absacc.h>
  7. #define uchar unsigned char
  8. #define uint unsigned int
  9. #define DataPort P0     //數(shù)據(jù)端口
  10. #define Busy 0x80
  11. sbit RS    =P1^0;     //控制引腳定義
  12. sbit RW    =P1^1;        
  13. sbit Elcm =P1^2;
  14. code char exampl[]="Hello Every Body";
  15. unsigned char tem1,t;
  16. unsigned char c1=10;
  17. //*********************************一毫秒延時(shí)**********************
  18. void Delay1Ms(void)
  19. {
  20.   uint i=552;
  21.   while(i--);
  22. }
  23. //*********************************五毫秒延時(shí)**********************
  24. void Delay5Ms(void)
  25. {
  26.   uint i=5552;
  27.   while(i--);
  28. }
  29. //*********************************等待允許函數(shù)**********************
  30. void WaitForEnable(void)
  31. {
  32.   DataPort=0xff;
  33.   RS=0;RW=1;_nop_();
  34.   Delay1Ms();
  35.   Elcm=1;_nop_();_nop_();
  36.   Delay1Ms();
  37.   while(DataPort&Busy);
  38.   Elcm=0;
  39. }
  40. //*********************************寫控制字符函數(shù)**********************
  41. void LcdWriteCommand(uchar CMD,uchar AttribC)
  42. {
  43.   if(AttribC)WaitForEnable();   //檢測(cè)忙信號(hào)
  44.   RS=0;RW=0;_nop_();
  45.   DataPort=CMD;_nop_();    //送控制字子程序
  46.   Elcm=1;_nop_();_nop_();Elcm=0;//操作允許脈沖信號(hào)
  47. }
  48. //*********************************當(dāng)前位置寫字符函數(shù)**********************
  49. void LcdWriteData(char dataW)
  50. {
  51.   WaitForEnable();     //檢測(cè)忙信號(hào)
  52.   RS=1;RW=0;_nop_();
  53.   DataPort=dataW;_nop_();
  54.   Elcm =1;_nop_();_nop_;Elcm =0;   //操作允許脈沖信號(hào)
  55. }
  56. //*********************************顯示光標(biāo)定位函數(shù)**********************
  57. void LocateXY(char posx,char posy)
  58. {
  59. uchar temp;
  60.   temp=posx&0xf;
  61.   posy&=0x1;
  62.   if(posy)temp|=0x40;
  63.   temp|=0x80;
  64.   LcdWriteCommand(temp,0);
  65. }
  66. //*********************************單字符顯示函數(shù)**********************
  67. void DispOneChar(uchar x,uchar y,uchar Wdata)
  68. {
  69.   LocateXY(x,y);    //定位顯示字符的x,y位置
  70.   LcdWriteData(Wdata);   //寫字符
  71. }
  72. //*********************************顯示字符串函數(shù)**********************
  73. void ePutstr(uchar x,uchar y,uchar j,uchar code*ptr)
  74. { uchar i;
  75. for(i=0;i<j;i++)
  76. {
  77.   DispOneChar(x++,y,ptr[i]);
  78.   if(x==16)
  79.    {
  80.     x=0;y^=1;  
  81.    }
  82. }
  83. }
  84. //*********************************LCD初始化函數(shù)**********************
  85. void LcdReset(void)
  86. {
  87.   LcdWriteCommand(0x38,0);    //檢測(cè)模式設(shè)置(不檢測(cè)忙信號(hào))
  88.   Delay5Ms();
  89.   LcdWriteCommand(0x38,0);     //共三次
  90.   Delay5Ms();
  91.   LcdWriteCommand(0x38,0);
  92.   Delay5Ms();
  93.   LcdWriteCommand(0x38,1);  //顯示模式設(shè)置(以后均顯示忙信號(hào))
  94.   LcdWriteCommand(0x38,1);  //顯示關(guān)閉
  95.   LcdWriteCommand(0x38,1);  // 顯示清屏
  96.   LcdWriteCommand(0x38,1);  // 顯示光標(biāo)移動(dòng)設(shè)置
  97.   LcdWriteCommand(0x38,1);  //  顯示開及光標(biāo)設(shè)置
  98. }
  99. //*********************************四百毫秒延時(shí)函數(shù)**********************
  100. void Delay400Ms(void)
  101. {
  102.   uchar i=5;
  103.   uint j;
  104.   while(i--)
  105.   {
  106.   j=7269;
  107.   while(j--);
  108.   }

  109. }
  110. //*********************************主函數(shù)**********************
  111. void main(void)
  112. {
  113.   LcdReset();
  114.   Delay400Ms();
  115.   ePutstr(0,0,16,exampl);   //第一行從零位開始顯示Hello Every Body
  116.   while(1);
  117. }
復(fù)制代碼

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:428614 發(fā)表于 2019-4-22 22:48 | 只看該作者
你好,引用的頭文件怎么寫
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品99久久久久久 | 色婷婷av一区二区三区软件 | 欧美久久一区二区 | 337p日本欧洲亚洲大胆精蜜臀 | 91黄色片免费看 | av色站 | 日韩国产免费 | 九九色综合| 一区二区成人在线 | 欧美日韩国产综合在线 | 在线欧美一区二区 | 日日操操| 亚洲精品电影网在线观看 | 天天干夜夜操视频 | 免费观看www7722午夜电影 | 999久久久| 国产成人自拍av | 日本免费视频在线观看 | 国产成人一区 | 成人久久网 | 欧美日韩高清在线一区 | 狠狠做深爱婷婷综合一区 | 日韩一区精品 | 国产一区二区三区视频免费观看 | 成人欧美一区二区 | 亚洲电影免费 | 国产精品高清在线 | 伊人网99 | 天天干视频| 久久久久久国产精品三区 | 一区二区影视 | 久久久免费 | 精品国产一区二区三区免费 | 成人教育av | 亚洲男人网 | 午夜在线视频 | 天天色综 | 黑人巨大精品欧美一区二区免费 | 欧美视频二区 | 国产一区二区免费电影 | 日韩在线看片 |