#include <absacc.h>
#include <reg51.h>
#define uchar unsigned char
#define COM8255 XBYTE[0xDFFF]
#define PA8255 XBYTE[0xDFFC]
#define PB8255 XBYTE[0xDFFD]
#define PC8255 XBYTE[0xDFFE]
void outPa(void)
{PA8255=0x0AA;}
void inPb(uchar data *ram, uchar n)
{
while(n) {
if (0==0xEF^PC8255) { //判断PC4是否反转一次,^用来异或。
*ram++=PB8255;
n--;
} } }
void time0 (void) interrupt 1 using 0
{COM8255=0X09; COM8255=0x08;} //PC4上产生一个模拟脉冲
void main()
{ PC8255=0x10;
TMOD=0x06;
COM8255=0x82;//初始化PC4,和中断方式,以及8255;
TH0=-246%256;
TL0=-246%256;
EA=1; ET0=1; TR0=1;
outPa(); inPb(0x00,10);
}
这个题目我不清楚是PC4上自己产生脉冲还是,外部产生PC4接收。
我是自学C51,刚刚学到8255,这个程序 不知道是否应该这么写,谢谢各位老师能给我指点
一下。