1.用AT89S52驱动1602液晶,单片机的P0.0-0.7分别连液晶的DB7-DB0,原定义为 #define databus P0 ,改为 #define databus ~P0 这样可以吗,如果不行,是否要把程序里的每处P0 都改为~P0呢?
2.如果MCU连接1602的8位数据线不连续,比如P0.1 P0.3 P0.8 P0.9 P1.5 ...分别连DB0-DB7,用什么指令能解决?
刚开始学51,菜鸟一个,望大家支持,谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
unchar temp,i;
for(i=0;i<8;i++)
{
if(date&0x80)//date就是你要写的数据
temp|=0x80;
temp>>=1;//最后temp赋给IO口可以了
date<<=1;
}
2.你可以分别定义这8个口啊,然后把要写的数据一位一位的取出来,然后按照高低位分别赋给这几个口就OK拉!!
上面是的我解决方法,楼下朋友有更好的,让大家分享一下。。呵呵
一周热门 更多>