51单片机的交通灯设计

 设计功能

(1)采用四方向数码管显示时间的设计,符合实际的交通信号灯设计。
(2)7个按键,分别为:复位、夜间模式、紧急模式、设定时间、时间加、时间减、调试确定键;
(3)夜间模式:按下“夜间模式”按键后,四个方向的黄灯闪烁;
(4)紧急模式:当救护车、救火车等通过时,按下“紧急模式”按键,四个方向的红灯全部亮起;
(5)东西方向和南北方向的通行时间可以分开设置。就是模拟实际交通中的主干道和支干道。原理图:

原理图绘制软件采用AD2013。主要由51单片机+最小系统+数码管显示模块+LED指示灯模块+按键模块等构成;

其总体硬件原理图如图所。四路双位数码管的采用了动态扫描的驱动方式,共用段位显示引脚,8个数字每个时刻只显示一个数字,依次往复循环。

仿真设计

仿真软件采用Protues7.8。

程序设计

程序采用C作为编程语言,使用Keil5作为编程软件,仅展示一部分;

//函数的声明部分
void delay(int ms);			//延时子程序
void key();					//按键扫描子程序
void key_to1();				//键处理子程序
void key_to2();
void key_to3();
void display();				//显示子程序
void logo();   				//开机LOGO
void Buzzer();
//主程序
void main()
{
	TMOD=0X11;	   				//定时器设置
	TH1=0X3C;		
	TL1=0XB0;
	TH0=0X3C;					//定时器0置初值 0.05S
	TL0=0XB0;
	EA=1;						//开总中断
	ET0=1;						//定时器0中断开启
	ET1=1;					   //定时器1中断开启
	TR0=1;						//启动定时0
	TR1=0;						 	//关闭定时1
    logo();						//开机初始化
	P2=0Xc3;					// 开始默认状态,东西绿灯,南北黄灯   
    sec_nb=sec_dx+5; 			//默认南北通行时间比东西多5秒
	while(1)					  //主循环
	{	 
		key(); 					//调用按键扫描程序
		display(); 				//调用显示程序
	}	
}

关注公众号-单片机实例设计,发送“交通灯”获取资料;

下载地址

  • 0
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值