#include <reg51.h> //定义51寄存器的头文件
#include <absacc.h> //定义存储器形式的头文件
#define PA XBYTE[0xfcff] //定义PA地址 P2.1接A1,P2.0接A0
#define PD XBYTE[0xffff] //定义控制字地址
void Delay10ms(unsigned int c);
void main(void)
{
PD = 0x80;//D7标志位为1,A口选择工作方式0,基本输入输出
while(1)
{
PA = 0xde; //东西红灯,南北绿灯;
Delay10ms(500);
PA = 0xdd; //东西红灯,南北黄灯警告,闪烁第一次;
Delay10ms(50);
PA = 0xdf; //东西红灯,南北熄灭;
Delay10ms(50);
PA = 0xdd; //东西红灯,南北黄灯警告,闪烁第二次;
Delay10ms(50);
PA = 0xdf; //东西红灯,南北熄灭;
Delay10ms(50);
PA = 0xdd; //东西红灯,南北黄灯警告,闪烁第三次;
Delay10ms(50);
PA = 0xdf; //东西红灯,南北熄灭;
Delay10ms(50);
PA = 0x7b; //东西绿灯,南北红灯;
Delay10ms(500);
PA = 0xbb; //东西黄灯警告,闪烁第一次,南北红灯;
Delay10ms(50);
PA = 0xfb; //东西熄灭,南北红灯;
Delay10ms(50);
PA = 0xbb; //东西黄灯警告,闪烁第二次,南北红灯;
Delay10ms(50);
PA = 0xfb; //东西熄灭,南北红灯;
Delay10ms(50);
PA = 0xbb; //东西黄灯警告,闪烁第三次,南北红灯;
Delay10ms(50);
PA = 0xfb; //东西熄灭,南北红灯;
Delay10ms(50);
}
}
void Delay10ms(unsigned int c)
{
unsigned char a, b;
for (;c>0;c--)
{
for (b=38;b>0;b--)
{
for (a=130;a>0;a--);
}
}
}
/*D0~7接P0~7;南北向接A5~7(红黄绿);东西向接A2~0( 红黄绿);8255的RD WR与单片机RD WR相连;CS、REST接地*/
|