首页 » 技术SOS » 嵌入式系统 » MCU和嵌入式微处理器 » AT89S52连接8255A 驱动12864液晶屏的显示程序问题

AT89S52连接8255A 驱动12864液晶屏的显示程序问题

菜鸟
2009-08-29 11:26:47
用8255A扩展AT89S52IO口驱动12864液晶屏时,LCD没有显示。8255A的PA口做8位数据口,PC0~PC5做为LCD的控制端口,在PROTUES中模拟式时发现PC口输出即LCD控制端口有反应,PA口全是低电平,毫无反应。8255A的A0,A1,CS分别接74LS373的O0,O1,O3,PA,PB,PC,CON口地址分别为0x0000,0x0001,0x0002,0x0003.经测试,在没有用8255A时,用P0口做数据口,P2口做控制口,LCD显示正常;用8255A扩展8位数码管,PA接段控,PC接位控,也能正常运行。LCD驱动没有问题,现在很怀疑是不是程序中对PA口的操作出了问题,又检查不出来,郁闷好几天了。所以发到这里,请大家帮忙看看,先谢谢了 程序如下: #include #include #define uchar unsigned char #define uint unsigned int #define PA XBYTE[0X0000]//PA口地址 #define PB XBYTE[0X0001]//PB口地址 #define PC XBYTE[0X0002]//PC口地址 #define CON XBYTE[0X0003]//控制口地址 /************************************************************ PC^0-lcdrs;PC^1-lcdrw;PC^2-lcden;PC^3-cs1;PC^4-cs2;PC^5-rstb; 在LCD上显示1 2 3 *************************************************************/ uchar code table[]={"1 2 3"}; void delay(uchar z)//延时程序 { uchar x,y; for(x=z;x0;x--) for(y=110;y0;y--); } void write_com(uchar com)//LCD写命令子程序 { CON=0x07;//cs1=1 CON=0x09;//cs2=1 CON=0x00;//置零lcdrs PC.0=lcdrs CON=0X02;//置零lcdrw PC.1=lcdrw PA=com; CON=0x05;//置位lcden PC.2=lcden delay(5); CON=0X04;//置零lcden } void write_date(uchar date)//LCD写数据子程序 { CON=0x07;//cs1=1 CON=0x09;//cs2=1 CON=0x01;//置位lcdrs PC.0=lcdrs CON=0x02;;//置零lcdrw PC.1=lcdrw PA=date; delay(5); CON=0x05;//置位lcden PC.2=lcden delay(5); CON=0x04;//置零lcden } void lcdinit()//液晶初始化程序 { CON=0x0b;//片选置1 CON=0x04;//置零lcden write_com(0x30); write_com(0x0c); write_com(0x01); write_com(0x06); } void main() { uchar i; CON=0x80;//8255工作方式控制字,PA,PC口输出,工作方式0 lcdinit(); while(1) { write_com(0x90);//从液晶第一行开始 for(i=0;i
需求补充: 最后几行程序写不上去啊,就是显示字符的语句
分享
关键词: AT89S52, 8255A  
专家
2009-08-30 13:36:46
1楼

不完整,不太好看。

菜鸟
2009-08-30 22:47:23
2楼

不好意思这两天有事耽误了,现在把主函数开始补充上,恳请指教,谢谢 void main() { uchar i; CON=0x80;//8255工作方式控制字,PA,PC口输出,工作方式0 lcdinit(); while(1) { write_com(0x90);//从液晶第一行开始 for(i=0;i

菜鸟
2009-08-30 22:48:45
3楼

怎么回事啊,最后一句就是写不上 for(i=0;i

菜鸟
2009-08-30 22:51:46
4楼

for(i=0;i

菜鸟
2009-08-30 22:54:44
5楼

第一次发帖,搞不懂,见笑了,哪前辈位帮帮我吧,我把资料用别的方式传过去

专家
2022-12-24 21:15:37
6楼

太乱了不好看啊

专家
2022-12-24 21:17:37
7楼

没写全啊

高工
2022-12-24 21:24:43
8楼

不完整,不太好看

专家
2023-02-19 09:09:18
9楼

不完整,不太好看