标题: 利用51单片机和8255芯片做的交通灯程序 [打印本页]

作者: 小小磊    时间: 2017-4-21 14:50
标题: 利用51单片机和8255芯片做的交通灯程序
#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接地*/

作者: admin    时间: 2017-4-21 22:30
好资料,楼主能分享一下原理图吗?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1