欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機+lcd1602顯示錯誤問題 [打印本頁]

作者: whb1997    時間: 2019-12-21 11:58
標題: 單片機+lcd1602顯示錯誤問題
用超聲波和lcd做了個測距,但是發現字符有的顯示不正確,就寫了個lcd單獨顯示的程序,發現和之前錯誤的是一樣的。
搞不懂是什么原因導致的。

代碼和顯示圖片如下:
#include <reg52.h>
sbit LCDEN=P3^4;
sbit LCDRS=P3^5;
sbit U1=P2^6;
sbit U2=P2^7;
unsigned char code table[]={"Distance:"};  
void delayms(unsigned int);
void write_com(unsigned char com)   
{
    LCDRS=0;                        
    P0=com;                        
    delayms(10);                  
    LCDEN=1;                        
    delayms(10);
    LCDEN=0;

}
void write_date(unsigned char date)
{
    LCDRS=1;
    P0=date;
    delayms(10);
    LCDEN=1;
    delayms(10);
    LCDEN=0;

}
void init()
{
    U1=0;                          
    U2=0;
    LCDEN=0;                     
    write_com(0x38);               
    write_com(0x0C);               
    write_com(0x06);               
    write_com(0x01);               
}
void main()
{   unsigned char num;
    init();
    write_com(0x80);
    for(num=0;num<=8;num++)
    {
        write_date(table[num]);
    }
    while(1);
}
void delayms(unsigned int ms)
{
    unsigned int x,y;
    for(x=ms;x>0;x--)
        for(y=110;y>0;y--);}
[attach]213594[/attach]



作者: 楊雪飛    時間: 2019-12-21 17:04
unsigned char code table[]={"Distance:"};  

table 改成 strins試試。
作者: wulin    時間: 2019-12-21 19:18
本帖最后由 wulin 于 2019-12-21 21:21 編輯

代碼沒有任何問題,像是硬件問題引起的,樓主把P0插針上的杜邦線拔掉試試,有可能因此引入干擾導致數據錯誤。
作者: 萌萌噠啊    時間: 2019-12-21 21:57
把大括號去掉
作者: 諸天明月    時間: 2019-12-23 08:15
你要展示的內容是字符串,所以
     unsigned char code table[]="Distance:";  //注意不可以大括號
      void main()
{   unsigned char num;
    init();
    write_com(0x80);
   
  for(i=0;table[i]!='\0';i++)
                        {
                                write_date(table[i]);
                        }
    while(1);
}即可




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1