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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

單片機LCD1602不顯示數字,程序有問題 求幫助

查看數: 3287 | 評論數: 8 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2020-4-15 20:36

正文摘要:

程序,謝謝各位大佬 #include<reg51.h> #define uchar unsigned char #define uint unsigned int sbit RS=P2^0; sbit RW=P2^1; sbit E=P2^2; #define LCD1602_GPIO P1 void LCD1602_WriteCom(uchar com); ...

回復

ID:155507 發表于 2020-4-16 10:24
void Delayms(uint a)
{
   uint i,j;
   for(j=0;j<a;j++)
   {
      for(i=o;i<125:i++);
   }
}   


給你改了,對比一下就知道哪里錯了。


  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit RS=P2^0;
  5. sbit RW=P2^1;
  6. sbit E=P2^2;
  7. #define LCD1602_GPIO P1
  8. void LCD1602_WriteCom(uchar com);
  9. void LCD1602_WriteDat(uchar dat);
  10. void LCD1602_Init();
  11. void Delayms(uint a);
  12. uchar Disp_PromNUM[]="NUM:";
  13. uchar Disp_PromNAME[]="NAME:";
  14. uchar Disp_Num[]="1730120526";
  15. uchar Disp_Name[]="SHI LEI";
  16. void main(void)
  17. {
  18.    uchar i;
  19.    LCD1602_Init();
  20.    for(i=0;Disp_PromNUM[i]!='\0';i++)
  21.    {
  22.       LCD1602_WriteDat(Disp_PromNUM[i]);
  23.           Delayms(2);
  24.    }
  25.    LCD1602_WriteCom(0x84);
  26.    for(i=0;i<8;i++)
  27.    {
  28.       LCD1602_WriteDat(Disp_Num[i]);
  29.           Delayms(2);
  30.    }
  31.    LCD1602_WriteCom(0xc0);
  32.    for(i=0;Disp_PromNAME[i]!='\0';i++)
  33.    {
  34.       LCD1602_WriteDat(Disp_PromNAME[i]);
  35.           Delayms(2);
  36.    }
  37.    LCD1602_WriteCom(0xC5);
  38.    for(i=0;Disp_Name[i]!='\0';i++)
  39.    {
  40.       LCD1602_WriteDat(Disp_Name[i]);
  41.           Delayms(2);
  42.    }
  43.    while(1);
  44. }
  45. void LCD1602_WriteCom(uchar com)
  46. {
  47.    E=0;
  48.    RS=0;
  49.    RW=0;
  50.    LCD1602_GPIO=com;
  51.    Delayms(1);
  52.    E=1;
  53.    Delayms(5);
  54.    E=0;
  55. }
  56. void LCD1602_WriteDat(uchar dat)
  57. {
  58.    E=0;
  59.    RS=1;
  60.    RW=0;
  61.    LCD1602_GPIO=dat;
  62.    Delayms(1);
  63.    E=1;
  64.    Delayms(5);
  65.    E=0;
  66. }
  67. void LCD1602_Init()
  68. {
  69.    LCD1602_WriteCom(0x38);
  70.    LCD1602_WriteCom(0x0c);
  71.    LCD1602_WriteCom(0x06);
  72.    LCD1602_WriteCom(0x01);
  73.    LCD1602_WriteCom(0x80);
  74. }
  75. void Delayms(uint a)
  76. {
  77.    uint i,j;
  78.    for(j=0;j<a;j++)
  79.    {
  80.       for(i=0;i<125;i++);
  81.     }
  82.   }
  83.   
復制代碼
ID:729252 發表于 2020-4-16 10:06
1、端口驗證:LCD屏的各個接口IO通過CPU設置高低電平判斷是否正確;
2、適當增加延時時間驗證;
3、指令是否正確;
ID:729252 發表于 2020-4-16 09:59
1、首先檢測端口指令是否發送正確:發送后設置斷點,檢驗端口電平是否你設置的值(高低電平都要試一遍);
2、適當增加延時驗證
3、指令是否正確?
ID:729252 發表于 2020-4-16 09:57
2、在指令發送讀回正確的前提下,若還是無顯示,適當增加延時再試;
ID:729252 發表于 2020-4-16 09:55
1、首先判斷IO設置是否正確:向并口寫入指令,將指令讀回比較是否正確(或用萬用表測量);
ID:70069 發表于 2020-4-16 09:50
void Delayms(uint a)
{
   uint i,j;
   for(j=0;j<a;j++)
   {
      for(i=0;i<125;i++);//i=0不是o,125后面是;,不是:
   }
}   
ID:213173 發表于 2020-4-16 09:37
程序沒有問題,是樓主抄錯了。
錯誤:for(i=o;i<125:i++);
正確:for(i=0;i<125;i++);
ID:592807 發表于 2020-4-16 08:43
你的LCD帶字庫嗎?

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品一区二区三区中文字幕 | 精品久久影院 | 亚洲码欧美码一区二区三区 | 国产成人精品久久二区二区91 | 91 在线| 国产高清视频在线观看 | 国产午夜精品久久久 | 精国产品一区二区三区四季综 | 91视频大全| 在线成人精品视频 | 日韩免费一区二区 | 久久免费精品 | 国产精品我不卡 | 中文字幕一区二区三区不卡 | 欧美久久久久久 | 三级黄色片在线 | 一区二区在线 | 日韩欧美在| 九九热热九九 | 91最新视频 | 九九九久久国产免费 | 欧美精品久久 | 国产精品av久久久久久久久久 | 久草a√ | www.亚洲| 欧美性大战久久久久久久蜜臀 | 国产玖玖| 欧洲精品视频一区 | 成人黄色电影在线观看 | www久久爱 | 在线观看免费黄色片 | 日本三级电影免费观看 | av在线视 | 日韩中文一区 | 综合国产 | 久久国产精品-久久精品 | 国产成人一区二区 | 亚洲在线| 日韩av在线中文字幕 | 人成在线视频 | 狠狠色网 |