拔掉開發板上P0口(液晶數據埠)的LED燈跳線即可。 因為如果P0口上同時接了LED燈的話,單片機無法正常讀取液晶通過P0口發來的數據。 【測試程序】 #include <reg52.h>
sbit LED1 = P1^0; sbit LED2 = P1^1; sbit LED3 = P1^2;
sbit RS = P2^0; sbit RW = P2^1; sbit E = P2^2; sbit PSB = P2^3; sbit RESET = P2^5; sbit BF = P0^7;
void delay(unsigned int n) { unsigned char i; while (n--) for (i = 0; i < 115; i++); }
int main(void) { delay(40); LED1 = 0; // LED1表示正在檢查忙型信號 LED2 = 1; // LED2表示程序因忙信號阻塞 LED3 = 1; // LED3亮表示程序成功通過忙信號檢查 P0 = 0xff; RS = 0; RW = 1; E = 1; while (BF) LED2 = 0; E = 0; LED2 = 1; LED1 = 1; LED3 = 0; // 最後只有LED3亮,表明程序通過了忙信號檢查 // 如果最後是LED1和LED2都亮,則表明程序卡在了忙信號檢查部分 while (1); }
|