找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1208|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

驅(qū)動(dòng)51單片機(jī)練習(xí)LCD1602時(shí)遇到的關(guān)于忙位和延時(shí)的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1067101 發(fā)表于 2023-3-18 11:50 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
二手普中A7套裝,STC89C516,晶振12MHz,12T模式,按手冊(cè)資料寫LCD1602的簡(jiǎn)單模塊,遇到幾個(gè)問題:

1. 檢查忙位讀到0跳出死循環(huán),但是寫數(shù)據(jù)操作只能成功25%。搜到不少中文資料也提到有類似問題,有解決方法嗎?

2. 然后用軟件延時(shí),調(diào)參后發(fā)現(xiàn)實(shí)際需要的時(shí)間略小于各種資料上給出的值很多就能穩(wěn)定。這和主頻有關(guān)嗎?換更好的MCU是不是能進(jìn)一步較小在程序里的軟件延時(shí)?
資料250kHz,清屏和復(fù)位1640us,寫40us
資料270kHz,清屏和復(fù)位1520us,寫37us
實(shí)驗(yàn)12MHz,清屏和復(fù)位1400us,寫25us

3. 我手寫的單變量和計(jì)算器給出的延時(shí)編譯后占用code和data數(shù)量一樣。數(shù)值調(diào)整到穩(wěn)定后,參數(shù)如下,i--和--i的速度是不是差距較大?
unsigned char i, j;
i = 3;j = 182;
do
{
        while (--j);
} while (--i);



unsigned char time=255;
while (time--);


4. 不少資料的寫操作中,會(huì)在置高電平和置低電平后分別delay,我的實(shí)驗(yàn)中發(fā)現(xiàn)只需要在高電平后delay一次,是不是這款MCU才能這樣,不能普遍運(yùn)用到其他MCU?當(dāng)然,LCDWrite(CMD,0x01)或LCDWrite(CMD,0x02)之后還是要delay 1.5ms。

5. 十幾年前的一份資料說(shuō),初始化時(shí)模式要發(fā)三次,是不是對(duì)于現(xiàn)在的MCU不再適用?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:384109 發(fā)表于 2023-3-18 20:18 | 只看該作者
對(duì)于操作1602這類模塊,出現(xiàn)問題如果確定硬件沒問題,那就是軟件的問題了
回復(fù)

使用道具 舉報(bào)

板凳
ID:1067101 發(fā)表于 2023-3-19 00:05 | 只看該作者
人中狼 發(fā)表于 2023-3-18 20:18
對(duì)于操作1602這類模塊,出現(xiàn)問題如果確定硬件沒問題,那就是軟件的問題了

感謝指點(diǎn)。
重新翻閱一遍資料,整理一遍思路,在讀寫數(shù)據(jù)的函數(shù)最前面檢查忙信號(hào),成功了。
各種資料中的軟件延時(shí)、P0=0xff上拉操作在實(shí)驗(yàn)中都沒有必要。
合并寫命令和寫數(shù)據(jù)時(shí),rs類型用uchar比部分資料中的bit更省code和data。

主樓中還有問題3,還望指點(diǎn)。


代碼如下:

void LCD_Wait()
{
        unsigned char uchar0;
        LCD1602_RS=0;
        LCD1602_RW=1;
        LCD1602_E=1;
        while(1){
                uchar0=LCD1602_D;
                if(uchar0>>7==0)break;
        }
        LCD1602_E=0;
}

void LCD_Write(unsigned char rs, unsigned char uchar0)
{
        LCD_Wait();
        LCD1602_RS=rs;
        LCD1602_RW=0;
        LCD1602_D=uchar0;
        LCD1602_E=1;
        LCD1602_E=0;
}
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表