求8155+at89c52拓展口c语言程序,和proteus仿真图
include<reg52.h>#include<absacc.h>#defineCOM8155XBYTE[0xfe00]#definePAXBYTE[0xfe01]#d...
include<reg52.h>#include<absacc.h>#define COM8155 XBYTE[0xfe00]#define PA XBYTE[0xfe01]#define PB XBYTE[0xfe02]#define PC XBYTE[0xfe03]void delay(){ int i,j; for (i=0;i<10;i++) for(j=0;j<10;j++);}void main (){ COM8155=0X01; while(1) { delay(); PA=0X00; }
}
怎么弄都不好使麻烦大家帮帮忙,找找问题,谢谢。} 展开
}
怎么弄都不好使麻烦大家帮帮忙,找找问题,谢谢。} 展开
1个回答
展开全部
更多追问追答
追问
照您说的还是不行了啊,PA=0X00;应该是P0口都为低电平啊,但是P0口一直都是高电平啊
追答
把你的程序,在我上面给出的电路图中执行,已经成功的使 PA 口,输出了 0x00。
#include
#include
//#define COM8155 XBYTE[0xfe00] //你的地址,我就不用了
//#define PA XBYTE[0xfe01]
//#define PB XBYTE[0xfe02]
//#define PC XBYTE[0xfe03]
#define COM8155 XBYTE[0x7f00] //这里,改成了我的电路的地址
#define PA XBYTE[0x7f01]
#define PB XBYTE[0x7f02]
#define PC XBYTE[0x7f03]
void delay()
{
int i,j;
for (i = 0; i < 10; i++) for(j = 0; j < 10; j++);
}
void main ()
{
COM8155 = 0X01;
while(1) {
delay();
PA = 0X00; //在 PA 可以看到 0000 0000。
}
}
你按照我的电路,仔细的重画一下,应该可以成功。
----
另外,你写的标号,看颜色,好像有点不像。
你写的,究竟,是不是标号?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询