c51關於LCD1602的顯示問題!!急

2022-11-21 19:45:02 字數 1788 閱讀 8106

1樓:匿名使用者

看看你的說明書1602液晶每次讀資料時是要檢測忙訊號的,據你說的情況有99%是沒檢測,檢測忙訊號的方法,我還是把我寫的51微控制器的程式給你看看吧,1602相對於微控制器來說執行是很慢的,祝你好運

bit lcd1602_bz()

void write_1602_com(uchar com)void write_1602_data(uchar dat)

2樓:匿名使用者

感覺有以下三處有疑問:

1. l1602_char(uchar hang,uchar lie,char sign)

中char sign應為uchar sign。

2. void l1602_string(uchar hang,uchar lie,uchar *p)

中每次write後,a是否自動加1,如果不是的話在write(*p);後應加上a++;enable(a)。

3. l1602_char(1,5,'b');

l1602_string(1,1," 0123456789 ");

後面一句自動把前面一句的顯示覆蓋了。

3樓:匿名使用者

你52的程式是對的嗎?沒看出來你改的標頭檔案是什麼,要不你把52的程式發上來試試。

4樓:

能把lcd1602的資料發過來看看嗎?有時光看程式看不出來的。

5樓:哈爾濱微控制器

我測試了,程式是好的。就是硬體的問題了,

背光調了嗎?

你的背光電路我不知道是不是正確,我沒這麼接過。

再有問題加我

基於89c51微控制器c語言lcd1602液晶顯示問題

6樓:遙不可及

首先,顯示陣列定為:uchar code table="number is ";

然後定義:uchar code number="0123456789";

顯示的時候,將兩個陣列結合起來,就可以實現輸出:number is 1、2、 3、4、5、6......

例如:write_data(table[i])迴圈完之後緊跟weite_date(number[j]),j是多少,就有程式定了!

7樓:匿名使用者

可以這樣試試:

1、uchar code table = "number is "並顯示

2、設定一個自增變數,就是從1 加到你認為合適的數字(比如加到100,然後返回來再從1開始加)

3、把上述這個變數顯示在那個「table」的後面(當然是在液晶屏上)。

8樓:竇哲

去字模,動態掃描,要比數碼管簡單一些,道理一樣的

9樓:熱水不怕燙

**發給我吧,我也試試,不過宣告,我水平不怎麼樣哈,嘻嘻

51微控制器復位,lcd1602顯示變成亂碼是咋回事

10樓:歸零

可以再開機後先教微控制器來個較長延時,不就行了嗎?

萬年曆51微控制器lcd1602不顯示是什麼原因

11樓:

一般來說幾乎都是初始化沒做好

12樓:懂事電子設計

可能是初始化的過程有問題,

懂事電子設計 vgz

c51數碼管顯示改為1602lcd顯示,求改變後的**,原**如下 5

C51微控制器的中斷系統的結構及其工作原理是什麼

c51微控制器的中斷系統有5箇中斷源 2個優先順序 微控制器中斷系統工作原理 我覺得你應該看看暫存器是怎樣工作的,比如tr0 1 表示定時器中斷 et0 1 表示開啟定時器中斷 es 1 串列埠中斷 ex0 1 外部中斷 ea 1 開啟所有中斷 一般的微控制器書上都有介紹的,而且使用的時候也是比較簡...

為什麼我的C51微控制器不能驅動繼電器啊

1.換一個引腳試試 引腳壞掉了可能性比較大 2.微控制器與三極體沒有共地,把地線連上。3.npn管要高電平驅動,pnp管要低電平驅動。4.三極體驅動電流不夠,可上拉電阻試試。5.p0口需上拉電阻才可以驅動三極體。6.電流太小不夠繼電器吸合或者是電壓不足。建議 51微控制器上電後管腳預設是高電平,不用...

求讓按鍵控制數碼管的C51程式,其中按鍵為移位,另兩個按鍵分別為加減

不是很麻煩的程式,建議還是自己寫一下吧,再者程式也要和硬體對應起來才能用的,不是隨便寫的 這麼簡單的程式,建議先看書吧 求讓3個按鍵控制4個數碼管的c51程式,其中一個按鍵為移位,另兩個按鍵分別為加減,sampando 熱心回答很值得肯定,不過程式設計水平需要提高才行,這個程式無論是程式設計思路,編...