为什么我用8155扩展89C51端口时不能控制8155的PA,PB,PC口。且8155接上后发烫。
D8155HC-2的端口定义:#definea8155_conXBYTE[0x7F00]#definea8155_aXBYTE[0x7F01]#definea8155_b...
D8155HC-2的端口定义:
#define a8155_con XBYTE[0x7F00]
#define a8155_a XBYTE[0x7F01]
#define a8155_b XBYTE[0x7F02]
#define a8155_c XBYTE[0x7F03]
设定8155的端口输出:
a8155_con=0x03; //A,B口输出,C口输入
void test_io()
{
uint temp1=0x00;
uint temp2=0x00;
a8155_a=0xff;
delay_10us(1);
a8155_b=0xff;
delay_10us(1);
temp1=P1;
temp2=P2;
}
现在的问题是单跑89C51没问题(我做了测试,指示灯工作正常),但接上8155就是不能得到A,B口的高电平输出。
看了8155的资料,好像其读写像也对相关的控制引脚的时序有要求吧,是不是对其读写也要想I2C那样操作?但我看到网上相关的资料也多是直接对其进行读写的。还请高手指导。
另为什么接上8155后发烫呢,是不是型号不对(我用的为D8155HC-2),实测其所有的IO口都是低电平。 展开
#define a8155_con XBYTE[0x7F00]
#define a8155_a XBYTE[0x7F01]
#define a8155_b XBYTE[0x7F02]
#define a8155_c XBYTE[0x7F03]
设定8155的端口输出:
a8155_con=0x03; //A,B口输出,C口输入
void test_io()
{
uint temp1=0x00;
uint temp2=0x00;
a8155_a=0xff;
delay_10us(1);
a8155_b=0xff;
delay_10us(1);
temp1=P1;
temp2=P2;
}
现在的问题是单跑89C51没问题(我做了测试,指示灯工作正常),但接上8155就是不能得到A,B口的高电平输出。
看了8155的资料,好像其读写像也对相关的控制引脚的时序有要求吧,是不是对其读写也要想I2C那样操作?但我看到网上相关的资料也多是直接对其进行读写的。还请高手指导。
另为什么接上8155后发烫呢,是不是型号不对(我用的为D8155HC-2),实测其所有的IO口都是低电平。 展开
3个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询