你看看你会不会用单片机的SPI通讯方式,如果会的话,你可以用74HC595来扩充I/O,你如果要双向就用163,两种芯片的区别就是595有输出锁存,163没有
具体的操作也好用,你如果会用的话,在用74HC595给8255A送数据就简单多了
因为595本身就是串入并出芯片
还有就是用595结合245那样就更加完美了
简单点的74HC245,双向的,5V供电!
这种定义方式绝对有问题,#define PA XBYTE[0x1B00] /*PA口地址*/ 这种定义方式相当自身寄存器,你这样定义在给PA赐值 所赐的值还是在单片机里,单片机怎么会知道你的值是给8255的?
8255A是最常用的。有说明书。