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

標題: 單片機控制1602液晶顯示電路圖+程序 [打印本頁]

作者: 大椰汁粉粉粉    時間: 2019-5-14 16:35
標題: 單片機控制1602液晶顯示電路圖+程序
利用51單片機控制lcd1602是非常普遍的,在此我將原理圖和程序分享出來,供大家一起學習
這個程序實現的將超聲波模塊所檢測到的距離和溫度傳感器接收到的溫度顯示到lcd上,只是一個參考
大家想顯示其他的東西,原理圖可以照著用,但是程序可能就要進行修改了

電路原理圖如下:


單片機源程序如下:
  1. #include <reg52.h>


  2. #define uchar unsigned char // 以后unsigned char就可以用uchar代替
  3. #define uint  unsigned int  // 以后unsigned int 就可以用uint 代替


  4. sbit LcdRs_P  = P1^2;       // 1602液晶的RS管腳
  5. sbit LcdRw_P  = P1^3;       // 1602液晶的RW管腳
  6. sbit LcdEn_P  = P1^4;       // 1602液晶的EN管腳



  7. /*********************************************************/
  8. // 毫秒級的延時函數,time是要延時的毫秒數
  9. /*********************************************************/
  10. void DelayMs(uint time)
  11. {
  12.     uint i,j;
  13.     for(i=time;i>0;i--)
  14.         for(j=112;j>0;j--);
  15. }


  16. /*********************************************************/
  17. // 1602液晶寫命令函數,cmd就是要寫入的命令
  18. /*********************************************************/
  19. void LcdWriteCmd(uchar cmd)
  20. {
  21.     LcdRs_P = 0;
  22.     LcdRw_P = 0;
  23.     LcdEn_P = 0;
  24.     P0=cmd;

  25.         DelayMs(1);

  26.     LcdEn_P = 1;   
  27.         DelayMs(1);
  28.     LcdEn_P = 0;   
  29. }


  30. /*********************************************************/
  31. // 1602液晶寫數據函數,dat就是要寫入的命令
  32. /*********************************************************/
  33. void LcdWriteData(uchar dat)
  34. {
  35.     LcdRs_P = 1;
  36.     LcdRw_P = 0;
  37.     LcdEn_P = 0;
  38.     P0=dat;

  39.         DelayMs(1);

  40.     LcdEn_P = 1;   
  41.         DelayMs(1);
  42.     LcdEn_P = 0;
  43. }


  44. /*********************************************************/
  45. // 1602液晶初始化函數
  46. /*********************************************************/
  47. void LcdInit()
  48. {
  49.     LcdWriteCmd(0x38);        // 16*2顯示,5*7點陣,8位數據口
  50.     LcdWriteCmd(0x0C);        // 開顯示,不顯示光標
  51.     LcdWriteCmd(0x06);        // 地址加1,當寫入數據后光標右移
  52.     LcdWriteCmd(0x01);        // 清屏
  53. }


  54. /*********************************************************/
  55. // 液晶光標定位函數
  56. /*********************************************************/
  57. void LcdGotoXY(uchar line,uchar column)
  58. {
  59.     // 第一行
  60.     if(line==0)
  61.         LcdWriteCmd(0x80+column);
  62.      // 第二行
  63.     if(line==1)        
  64.         LcdWriteCmd(0x80+0x40+column);
  65. }



  66. /*********************************************************/
  67. // 液晶輸出字符串函數
  68. /*********************************************************/
  69. void LcdPrintStr(uchar *str)
  70. {
  71.     while(*str!='\0')
  72.         LcdWriteData(*str++);
  73. }


  74. ///*********************************************************/
  75. //// 液晶輸出數字
  76. ///*********************************************************/
  77. //void LcdPrintNum(uchar num)
  78. //{
  79. //  LcdWriteData(num/100+48);       // 百位
  80. //  LcdWriteData(num%100/10+48);    // 十位
  81. //  LcdWriteData(num%10+48);        // 個位
  82. //}


  83. /*********************************************************/
  84. // 主函數
  85. /*********************************************************/
  86. void main()
  87. {
  88.     char num=78;

  89.     // 1、首先,執行液晶初始化
  90.     LcdInit();                      // 液晶初始化


  91.     // 2、定位,確定行(0-1)和列(0-15)的數字
  92.     LcdGotoXY(0,3);



  93.     // 3.1 如果顯示單個字符
  94.     LcdWriteData('Y');

  95.     // 3.2 如果顯示一串字符
  96.     LcdPrintStr("hello!");

  97.     // 3.3 顯示一個采集的數字
  98.     LcdWriteData(num/10+0x30);
  99.     LcdWriteData(num%10+0x30);


  100.     while(1);
  101. }
復制代碼





作者: 280570255    時間: 2019-5-16 09:06
不錯,又長了一點見識.




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产在线一区二区 | 四虎首页| 7777久久 | 午夜视频免费在线观看 | 日韩中文视频 | 免费性视频 | 欧美一区二区三区在线看 | 国产一区二区视频在线 | 欧美激情视频一区二区三区在线播放 | 黄色大全免费看 | 国产精品福利网 | 日韩av成人在线 | 欧美不卡一区 | 久久久久无码国产精品一区 | 亚洲国产区 | 日韩www| 久久久久网站 | 国产亚韩 | 国产日韩欧美另类 | 亚洲欧美在线一区 | 黑人精品欧美一区二区蜜桃 | 精品久久99| 成人在线视频一区 | 91 久久| 最新中文字幕一区 | 日韩国产黄色片 | 在线视频91 | 中文字幕av网 | 欧美一级免费看 | av男人的天堂在线 | 一级全黄视频 | 热re99久久精品国99热观看 | 国产精品国产三级国产aⅴ中文 | av免费看在线 | 久久久久久亚洲精品 | 欧美a级成人淫片免费看 | 午夜视频网 | 狠狠操电影 | 久久伊人免费视频 | 看片国产| 国产日韩欧美精品一区二区 |