![]() |
發布時間: 2020-4-15 20:36
正文摘要:程序,謝謝各位大佬 #include<reg51.h> #define uchar unsigned char #define uint unsigned int sbit RS=P2^0; sbit RW=P2^1; sbit E=P2^2; #define LCD1602_GPIO P1 void LCD1602_WriteCom(uchar com); ... |
void Delayms(uint a) { uint i,j; for(j=0;j<a;j++) { for(i=o;i<125:i++); } } 給你改了,對比一下就知道哪里錯了。
|
1、端口驗證:LCD屏的各個接口IO通過CPU設置高低電平判斷是否正確; 2、適當增加延時時間驗證; 3、指令是否正確; |
1、首先檢測端口指令是否發送正確:發送后設置斷點,檢驗端口電平是否你設置的值(高低電平都要試一遍); 2、適當增加延時驗證 3、指令是否正確? |
2、在指令發送讀回正確的前提下,若還是無顯示,適當增加延時再試; |
1、首先判斷IO設置是否正確:向并口寫入指令,將指令讀回比較是否正確(或用萬用表測量); |
void Delayms(uint a) { uint i,j; for(j=0;j<a;j++) { for(i=0;i<125;i++);//i=0不是o,125后面是;,不是: } } |
程序沒有問題,是樓主抄錯了。 錯誤:for(i=o;i<125:i++); 正確:for(i=0;i<125;i++); |
你的LCD帶字庫嗎? |