![]() |
發布時間: 2019-8-21 11:41
正文摘要:請問大佬們,為什么液晶上電后只顯示第一排的方塊。初始化應該沒問題,下面代碼,幫幫忙,急!。 單片機源程序如下: #include<reg52.h> #include<string.h> sbit rs=P0^7; sbit rw=P0^6; sbit en= ... |
volarge current is low, repair your IC![]() |
同樣問題,想問問解決了沒 |
你這是調的過亮了。 |
初始化代碼沒有執行到1602就會導致第一行顯示全黑,需要檢查RW,E,rs,P2是否與單片機引腳可靠連接,且51單片機的P0口必須要有上拉10k電阻,3條控制信號線接到了P0上了,沒有10K電阻就會有問題。 |
同樣的問題,想問問你解決了嗎= = |
107056 發表于 2019-8-22 15:38 拔了跳線帽確實數碼管沒顯示了,但是液晶還是只是上電狀態...太難了 |
韋孟祥 發表于 2019-8-23 14:57 命令已經在初始化函數里面寫了噢,這個圖也是對的,我要裂開來了.... |
我說一下自己的看法啊,lcd1602不都是先寫命令,然后再寫數據的嗎,main函數里面你沒有寫命令,你可以試一下,然后你確定了你的開發板與那個圖是對應的嗎 |
Conlin不喝飲料 發表于 2019-8-22 13:35 你J1跳線帽拔了數碼管跟1602應該就不會共用了 |
Host 發表于 2019-8-22 09:43 這個數碼管關不了,他有一些管口和液晶共用 |
最好和你的數碼管分開使用,不然會有影響的 |
107056 發表于 2019-8-21 22:12 你是反著插的嗎,你的可以用嗎?我太難了 |
107056 發表于 2019-8-21 22:15 對,不能同時使用 |
107056 發表于 2019-8-21 22:12 沒有,我也試過反著插,你有沒有測試程序,能不能發給我 |
1602插反了不會燒,但是輸入電流會變大,模塊發熱,這是我曾經碰到過的。 |
而且這個板數碼管跟1602不能同時用,用的時候要拔跳線帽的 |
1602反過來插試試 |
你會不會是插反了。。。,我有塊一樣的板 |
將第一行程序顯示位置的代碼改一下,放到第二行試一試 |
本帖最后由 Conlin不喝飲料 于 2019-8-21 18:47 編輯 wulin 發表于 2019-8-21 12:59 不是很懂...能再準確的說一下嗎,請問我應該怎么樣初始化... ![]() ![]() |
999994 發表于 2019-8-21 14:43 這個當然知道鴨,我代碼就是只讓第一行顯示hello world |
999994 發表于 2019-8-21 14:42 ??請問你這是什么意思,看不懂... |
gb302 發表于 2019-8-21 13:25 這個我知道,我是想讓第一行顯示hello world,我在模擬電路上試過是可以的,但是用在這就不行了 |
wj_yuq 發表于 2019-8-21 12:30 調過了,都擰壞了還是一樣... |
你程序只讓第一行顯示 第二行當然不會顯示啦 |
void main() { init(); // write_data('1'); for(i=0;i<strlen(t0);i++) { write_data(t0[i]); delay(20); } while(1); } |
有顯示,不過對比度調錯了,調節R15 |
第一行和第二行的地址是不一樣的,具體請看1602的手冊 |
程序沒有問題只能說沒有語法和邏輯問題,不代表沒有時間問題。主時鐘頻率和延時函數對LCD1602驅動碼的時序影響很大。這是典型的初始化失敗的現象。 |
調LCD的驅動電壓試試沒有?就是原理圖中的電位器,管對比度的,對比度過大就會全是小方塊。 |