C51编程:8051串口I/O扩展
我用AT89C52的串口控制4094扩展8个并行输出,串行口工作方式0,程序如下:
char DATA;
char code TblCallKey[12] = {
0xed,0xeb,0xe7,0xdd,0xdb,0xd7,0xbd,0xbb,0xb7,0x7d,0x7b,0x77
};
main()
{
EA=false;
SystemInitialize(); // Program system intialization status
EA = TRUE;
while(true)
{
for(i=0; i<12;i++)
SBUF=DATA | TblCallKey[i];
}
}
serial () interrupt 4 using 2
{
// if serial port interrupt
if (TI==TRUE)
{
TI=FALSE;
STB=TRUE;
DelayX10ms(1);
}
}
void SystemInitialize()
{
SCON = 0x00;
TMOD |= 0x21;
TH1 = 230;
TL1 = 230;
TR1 = true;
RI = false;
ES = true;
TF0 = true;
TR0 = true;
TH0 = TIME_4MS >> 8;
TL0 = TIME_4MS & 0x00FF
ET0 = true;
}
这个程序是用C51写的,麻烦那位有这方面的经验,指点一二。
发表时间:2002年11月12日16:34:00