如题,硬件连接是这样焊接的,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);*/
}
}
|