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

標題: 51單片機顯示問題 [打印本頁]

作者: eeworker    時間: 2025-1-11 20:22
標題: 51單片機顯示問題
請教各位大佬,我使用51單片機做測距抽水的系統,當距離沒達到預設值時,顯示如圖1,當距離達到預設值水泵啟動,顯示屏變為圖2,距離正常時不會自動回到顯示距離的界面(像圖1),一直保持圖2狀態,請各位大佬指導一下。

IMG_20250111_201031.jpg (1.43 MB, 下載次數: 0)

圖1

圖1

IMG_20250111_201208.jpg (1.4 MB, 下載次數: 0)

IMG_20250111_201208.jpg

作者: WL0123    時間: 2025-1-12 07:19
圖1證明LCD驅動代碼基本沒有什么問題,刷新后成圖2,這是LCD初始化失敗的典型現象。這就要看你刷新LCD時是怎么調用的驅動代碼的。也有可能是受中斷干擾導致(雖然LCD對時序不是太敏感)。
作者: 這一生只為你    時間: 2025-1-12 09:27
我認同樓上,如果初始正常,某一個動作以后不正常,首先應該判斷的就是這個動作是不是導致了一些問題。在此可以使用排除法:首先把底下的負載切除,只剩下單片機最小系統,然后連線短接使系統達到進入這個動作所需要的外部條件,查看系統反應,如果正常,那就大概率是外部干擾,如果不正常,那就繼續檢查程序。
作者: eeworker    時間: 2025-1-12 21:47
WL0123 發表于 2025-1-12 07:19
圖1證明LCD驅動代碼基本沒有什么問題,刷新后成圖2,這是LCD初始化失敗的典型現象。這就要看你刷新LCD時是 ...

可不可以麻煩前輩您幫我看一下程序
作者: WL0123    時間: 2025-1-13 11:39
eeworker 發表于 2025-1-12 21:47
可不可以麻煩前輩您幫我看一下程序

程序發上來
作者: eeworker    時間: 2025-1-17 09:47
void LcdWriteCmd(uchar cmd)
{
        LcdRs_P = 0;
        LcdRw_P = 0;
        LcdEn_P = 0;
        P0=cmd;
        DelayMs(2);
        LcdEn_P = 1;   
        DelayMs(2);
        LcdEn_P = 0;       
}

void LcdWriteData(uchar dat)
{
        LcdRs_P = 1;
        LcdRw_P = 0;
        LcdEn_P = 0;
        P0=dat;
        DelayMs(2);
        LcdEn_P = 1;   
        DelayMs(2);
        LcdEn_P = 0;
}

void LcdGotoXY(uchar line,uchar column)
{
        // 第一行
        if(line==0)        
                LcdWriteCmd(0x80+column);
        // 第二行
        if(line==1)        
                LcdWriteCmd(0x80+0x40+column);
}

void LcdPrintStr(uchar *str)
{
        while(*str!='\0')
                        LcdWriteData(*str++);
}

void LcdPrintNum(uint num)
{
        LcdWriteData(num/100+0x30);                                // 百位
        LcdWriteData(num%100/10+0x30);                // 十位
        LcdWriteData(num%10+0x30);                                // 個位
}

void LcdInit()
{
        LcdWriteCmd(0x38);        // 16*2顯示,5*7點陣,8位數據口
        LcdWriteCmd(0x0C);        // 開顯示,不顯示光標
        LcdWriteCmd(0x06);        // 地址加1,當寫入數據后光標右移
        LcdWriteCmd(0x01);        // 清屏
}

void LcdShowInit()
{
        LcdGotoXY(0,0);                                                                    // 定位到第0行第0列
        LcdPrintStr("L:     R:       ");        // 第0行顯示“      U         ”
        LcdGotoXY(1,0);                                                                    // 定位到第1行第0列
        LcdPrintStr("D:         ");        // 第1行顯示“ L    D    R    ”
}



作者: eeworker    時間: 2025-1-17 09:49
因為前幾天有點忙沒注意登錄,前輩幫我看一下驅動程序,我已經發上來了
作者: WL0123    時間: 2025-1-17 13:45
eeworker 發表于 2025-1-17 09:49
因為前幾天有點忙沒注意登錄,前輩幫我看一下驅動程序,我已經發上來了

前面已經說了問題不在LCD驅動代碼本身,而在于你主函數刷新LCD時是怎么調用驅動代碼的。給你一個示例,有詳細注釋,讀懂就不會解決不了目前的問題。 萬年歷漢字1602 1302 18B20 仿真程序.rar (140.98 KB, 下載次數: 0)




作者: llzfry    時間: 2025-1-17 20:02
可以在重新返回圖1界面時,再次調用初始化,或者調用清屏,然后再調用顯示距離就不會有問題了。
作者: eeworker    時間: 2025-1-17 22:20
WL0123 發表于 2025-1-17 13:45
前面已經說了問題不在LCD驅動代碼本身,而在于你主函數刷新LCD時是怎么調用驅動代碼的。給你一個示例,有 ...

好的好的,謝謝前輩,我學習一下
作者: eeworker    時間: 2025-1-18 23:44
llzfry 發表于 2025-1-17 20:02
可以在重新返回圖1界面時,再次調用初始化,或者調用清屏,然后再調用顯示距離就不會有問題了。

你好,可以和您交流一下嗎
作者: llzfry    時間: 2025-1-19 11:00
eeworker 發表于 2025-1-18 23:44
你好,可以和您交流一下嗎

可以。請你確定你的單片機用的是STC還是AT的。還有一種可能就是寫完指令后的延時時間不夠,或者是你的程序在反復調用顯示,這樣是不合適的。
作者: eeworker    時間: 2025-1-19 15:06
llzfry 發表于 2025-1-19 11:00
可以。請你確定你的單片機用的是STC還是AT的。還有一種可能就是寫完指令后的延時時間不夠,或者是你的程 ...

您好,我用的是STC的,如果可以的話能不能%,我把出現的情況詳細說一下。
作者: llzfry    時間: 2025-1-22 12:54
eeworker 發表于 2025-1-19 15:06
您好,我用的是STC的,如果可以的話能不能%,我把出現的情況詳細說一下。

你可以把完整的程序貼出來,我給你看看




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美自拍另类 | 国产99久久精品一区二区永久免费 | 深爱激情综合 | 欧美日韩国产高清 | 久久亚洲国产 | 久草99| 成人三级电影 | 成人字幕网zmw | zzzwww在线看片免费 | 亚洲性免费 | 欧美精品一区二区在线观看 | 特级生活片 | 久热国产在线 | 日本久久久一区二区三区 | 四虎影视1304t | 99免费精品视频 | 自拍偷拍亚洲视频 | 国产免费一区二区三区 | 亚洲福利一区二区 | h视频免费在线观看 | 亚洲国产一区二区三区在线观看 | 天天天天天操 | 亚洲欧美一区二区三区国产精品 | 一级片毛片 | 日韩电影免费在线观看中文字幕 | 亚洲视频中文字幕 | 精品国产一区探花在线观看 | 国产黄色小视频 | 日本大香伊一区二区三区 | 波多野吉衣久久 | 香蕉久久av| 青青操av| 在线免费观看黄网 | 日本中文字幕一区 | 亚洲精品大片 | 日本亚洲一区 | 精品亚洲国产成av人片传媒 | 一区二区三区欧美 | 午夜精品一区二区三区在线播放 | av男人的天堂在线 | 日韩精品一区二区三区中文在线 |