如題,硬件連接是這樣焊接的,QC1602 的D0--D7是直接連接到89c52的P2口的P2.0--P2.7 (D0對應P2.0,D1對應P2.1……,沒有外接上拉或者下拉電路),然后RS ,RW ,EN 這三個腳 是連接的P3口上,對應如下,RS< -- >P3.6 ; RW< --> P3.5 ; EN <--->P3.4 ,點不亮啊,目前發現一個問題,我的89C52 不能同時使用P2口和P3 口,部分代碼片段如下,sbit LCDEN = P3^4; P2 = 0xff ; LCDEN = 1; delay_ms(1000);LCDEN =0; delay_ms(1000);這樣的代碼運行后,用萬用表測LCDEN 不會出現高低高低的電壓跳變。然后屏蔽掉P2 =0xff ,就可以量到隔一秒高隔一秒低的電壓跳變。
#include <reg52.h>
#define uint unsigned int
//sbit lcden = P3^4;
int delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
int main(void)
{
while(1)
{
P2 = 0x00;
delay(1000);
P2 =0xff;
delay(1000);
/*lcden =0;
delay(1000);
lcden =1;
delay(1000);*/
}
}
|