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

標(biāo)題: 單片機(jī)+Proteus仿真上電后LCD1602顯示不正確?附程序 [打印本頁(yè)]

作者: sunhaonan    時(shí)間: 2022-5-9 16:02
標(biāo)題: 單片機(jī)+Proteus仿真上電后LCD1602顯示不正確?附程序
顯示的數(shù)據(jù)也不是初始化的內(nèi)容,按下復(fù)位鍵,sd1那里中間的0會(huì)變成1,其余的按鍵沒(méi)反應(yīng),顯示屏一直顯示這樣的頁(yè)面。開(kāi)始考慮是不是線路沒(méi)有連接好,但是接成實(shí)線還是一樣

/********************************************************************
* 名稱 : write_com(uchar com)
* 功能 : 1602命令函數(shù)
* 輸入 : 輸入的命令值
* 輸出 : 無(wú)
***********************************************************************/
void write_com(uchar com)
{
        e=0;
        rs=0;
        rw=0;
        P0=com;
        delay_uint(25);
        e=1;
        delay_uint(100);
        e=0;
}

/********************************************************************
* 名稱 : write_data(uchar dat)
* 功能 : 1602寫(xiě)數(shù)據(jù)函數(shù)
* 輸入 : 需要寫(xiě)入1602的數(shù)據(jù)
* 輸出 : 無(wú)
***********************************************************************/
void write_data(uchar dat)
{
        e=0;
        rs=1;
        rw=0;
        P0=dat;
        delay_uint(25);
        e=1;
        delay_uint(100);
        e=0;        
}


/***********************lcd1602上顯示特定的字符****0XDF 度********************/
void write_zifu(uchar hang,uchar add,uchar date)
{
        if(hang==1)   
                write_com(0x80+add);
        else
                write_com(0x80+0x40+add);
        write_data(date);        
}

/***********************lcd1602上顯示兩位十進(jìn)制數(shù)************************/
void write_sfm2(uchar hang,uchar add,uint date)
{
        if(hang==1)   
                write_com(0x80+add);
        else
                write_com(0x80+0x40+add);
        write_data(0x30+date/10%10);
        write_data(0x30+date%10);        
}

/***********************lcd1602上顯示這字符函數(shù)************************/
void write_string(uchar hang,uchar add,uchar *p)
{
        if(hang==1)   
                write_com(0x80+add);
        else
                write_com(0x80+0x40+add);
                while(1)                                                                                                                 
                {
                        if(*p == '\0')  break;
                        write_data(*p);
                        p++;
                }        
}

/***********************lcd1602初始化設(shè)置************************/
void init_1602()        //lcd1602初始化
{
        write_com(0x38);        
        write_com(0x0c);
        write_com(0x06);
        write_string(1,0,"Wd1:00  Sd1:00%   ");        
        write_string(2,0,"Wd2:00  Sd2:00%   ");        
        write_zifu(1,5,0xdf);        //顯示度               
        write_zifu(1,15,0xdf);        //顯示度        
        write_sfm2(2,8,s_high);   //顯示濕度               
        write_sfm2(1,13,t_low);          //顯示溫度
}

作者: songxia8013    時(shí)間: 2022-5-9 19:27
你這樣發(fā),沒(méi)用!啥問(wèn)題看不出!上傳文件!
作者: laowang123222    時(shí)間: 2022-5-10 01:57
看不太清
作者: suncat0504    時(shí)間: 2022-5-10 07:57
自己地學(xué)會(huì)如何調(diào)試程序。像這樣有多組數(shù)據(jù)要被顯示的,你一個(gè)一個(gè)調(diào)試,不要一下子全部顯示出來(lái)。在程序中,先調(diào)通一個(gè),然后再下一個(gè)。每一個(gè)都調(diào)通了,再全部同時(shí)調(diào)試。




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