各位兄弟,帮忙看看吧~ 8255一直没反应,就写了很简单的程序看看,可是依然么反应.
换过8255了,应该不是片子的问题.虽然我吧A0和A1在373上的位置接反了,现在没有烙铁就没有改过来,不过控制口11地址和PA口00地址没关系的嘛.
然后就是感觉奇怪的是,8255初始化读端口地址,那各口对外应该呈现高电平,可是现实都是低的.
用的6M晶振,而且添加了延时,应该8255也没那么慢吧~我晕了~
#include <absacc.h> #include <reg51.h>
#define IOUT PBYTE[0x00] //8255A各端口地址 #define RelayOUT PBYTE[0x01] #define DAOUT PBYTE[0x02] #define COM8255 PBYTE[0x03]
sbit CS = P3^3;
void main(void) { unsigned char idata i; for(i = 0;i<100;i++) ; CS = 0x00; COM8255 = 0x80; CS = 0x01;
for(i = 0;i<100;i++) ; CS = 0x00; IOUT = 0xff; CS = 0x01; P1 = 0; } |