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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

LCD1602A-5V使用說明和程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:427921 發表于 2018-11-29 15:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include <reg51.h>
  2. #include <intrins.h>
  3. //#include <at89x51.h>

  4. sbit LCD_RS=P1^0;//定義引腳
  5. sbit LCD_RW=P1^1;
  6. sbit LCD_E=P1^2;
  7. #define LCD_Data P2
  8. #define Busy    0x80 //用于檢測LCD狀態字中的Busy標識



  9. void WriteDataLCD(unsigned char WDLCD);
  10. void WriteCommandLCD(unsigned char WCLCD,BuysC);
  11. unsigned char ReadDataLCD(void);
  12. unsigned char ReadStatusLCD(void);
  13. void LCDInit(void);
  14. void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);
  15. void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);
  16. void Delay5Ms(void);
  17. void Delay400Ms(void);


  18. unsigned char code uctech[] = {"ic2012.taobao.co"};
  19. unsigned char code net[] = {"Happy every day!"};

  20. void main(void)
  21. {
  22. Delay400Ms(); //啟動等待,等LCD講入工作狀態
  23. LCDInit(); //LCM初始化
  24. Delay5Ms(); //延時片刻(可不要)

  25. DisplayListChar(0, 0, uctech);
  26. DisplayListChar(0, 5, net);
  27. ReadDataLCD();//測試用句無意義
  28. while(1);
  29. }

  30. //寫數據
  31. void WriteDataLCD(unsigned char WDLCD)
  32. {
  33. ReadStatusLCD(); //檢測忙
  34. LCD_Data = WDLCD;
  35. LCD_RS = 1;
  36. LCD_RW = 0;
  37. LCD_E = 0; //若晶振速度太高可以在這后加小的延時
  38. LCD_E = 0; //延時
  39. LCD_E = 1;
  40. }

  41. //寫指令
  42. void WriteCommandLCD(unsigned char WCLCD,BuysC) //BuysC為0時忽略忙檢測
  43. {
  44. if (BuysC) ReadStatusLCD(); //根據需要檢測忙
  45. LCD_Data = WCLCD;
  46. LCD_RS = 0;
  47. LCD_RW = 0;
  48. LCD_E = 0;
  49. LCD_E = 0;
  50. LCD_E = 1;
  51. }

  52. //讀數據
  53. unsigned char ReadDataLCD(void)
  54. {
  55. LCD_RS = 1;
  56. LCD_RW = 1;
  57. LCD_E = 0;
  58. LCD_E = 0;
  59. LCD_E = 1;
  60. return(LCD_Data);
  61. }

  62. //讀狀態
  63. unsigned char ReadStatusLCD(void)
  64. {
  65. LCD_Data = 0xFF;
  66. LCD_RS = 0;
  67. LCD_RW = 1;
  68. LCD_E = 0;
  69. LCD_E = 0;
  70. LCD_E = 1;
  71. while (LCD_Data & Busy); //檢測忙信號
  72. return(LCD_Data);
  73. }

  74. void LCDInit(void) //LCM初始化
  75. {
  76. LCD_Data = 0;
  77. WriteCommandLCD(0x38,0); //三次顯示模式設置,不檢測忙信號
  78. Delay5Ms();
  79. WriteCommandLCD(0x38,0);
  80. Delay5Ms();
  81. WriteCommandLCD(0x38,0);
  82. Delay5Ms();

  83. WriteCommandLCD(0x38,1); //顯示模式設置,開始要求每次檢測忙信號
  84. WriteCommandLCD(0x08,1); //關閉顯示
  85. WriteCommandLCD(0x01,1); //顯示清屏
  86. WriteCommandLCD(0x06,1); // 顯示光標移動設置
  87. WriteCommandLCD(0x0C,1); // 顯示開及光標設置
  88. }

  89. //按指定位置顯示一個字符
  90. void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)
  91. {
  92. Y &= 0x1;
  93. X &= 0xF; //限制X不能大于15,Y不能大于1
  94. if (Y) X |= 0x40; //當要顯示第二行時地址碼+0x40;
  95. X |= 0x80; // 算出指令碼
  96. WriteCommandLCD(X, 0); //這里不檢測忙信號,發送地址碼
  97. WriteDataLCD(DData);
  98. }

  99. //按指定位置顯示一串字符
  100. void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)
  101. {
  102. unsigned char ListLength;

  103.   ListLength = 0;
  104. Y &= 0x1;
  105. X &= 0xF; //限制X不能大于15,Y不能大于1
  106. while (DData[ListLength]>=0x20) //若到達字串尾則退出
  107.   {
  108.    if (X <= 0xF) //X坐標應小于0xF
  109.     {
  110.      DisplayOneChar(X, Y, DData[ListLength]); //顯示單個字符
  111.      ListLength++;
  112.      X++;
  113.     }
  114.   }
  115. }

  116. //5ms延時
  117. void Delay5Ms(void)
  118. {
  119. unsigned int TempCyc = 5552;
  120. while(TempCyc--);
  121. }

  122. //400ms延時
  123. void Delay400Ms(void)
  124. {
  125. unsigned char TempCycA = 5;
  126. unsigned int TempCycB;
  127. while(TempCycA--)
  128. {
  129.   TempCycB=7269;
  130.   while(TempCycB--);
  131. };
  132. }
復制代碼


LCD1602A-5V廠家說明書.pdf

348.56 KB, 下載次數: 39, 下載積分: 黑幣 -5

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区在线播放 | 国内精品久久久久久影视8 最新黄色在线观看 | 99久久亚洲| 国产精品日韩欧美一区二区 | 久久精品视频一区二区三区 | 中文字幕在线视频网站 | 国产午夜视频 | 国产一区二区在线观看视频 | 国产精品18hdxxxⅹ在线 | 亚洲精品在线播放 | 亚洲精品一区二区 | 99精品视频一区二区三区 | 久久久夜色精品亚洲 | 国产午夜三级一区二区三 | 亚洲3p | 久久精品国产一区 | 欧美亚洲视频在线观看 | 国产精品一区二区免费 | 在线第一页 | 伊人天堂网 | 精品三区 | 91在线影院| 精品欧美乱码久久久久久 | 欧美日韩一区二区三区不卡视频 | 蜜桃av鲁一鲁一鲁一鲁 | 成人一区二区三区 | 国产99在线 | 欧美 | 日韩三级电影一区二区 | 国产日产欧产精品精品推荐蛮挑 | 国产免费观看视频 | 中文字幕一区二区三区在线视频 | 九九热在线免费视频 | 国产一区二区精品在线观看 | 99精品国产一区二区青青牛奶 | 国产九九九九 | 99精品国产一区二区青青牛奶 | 久久99视频| 99视频在线看 | 久草视频在线播放 | av片在线观看 | 色资源在线观看 |