51单片机-----------四向交通灯

本文介绍了如何使用51单片机AT89C51实现四向交通灯的控制,包括实验目的、硬件和软件需求。内容涉及C语言编程、Keil4软件的使用、Proteus软件的电路设计与仿真,以及共阴极数码管的显示原理。实验任务包括数码管倒计时显示和中断控制交通灯变化,以应对紧急情况。
摘要由CSDN通过智能技术生成

实训一:四向交通灯

一 实验目的:

实验4:运用AT89C51芯片实现四向交通灯:

(1) 掌握C语言编程单片机控制程序的方法。
(2) 掌握使用Keil4软件编写、编译、调试程序的方法。
(3) 掌握使用Proteus软件绘制电路原理图、硬件仿真和程序调试。
(4) 理解和掌握共阴极数码管的显示原理和编码(记忆)。
(5) 熟悉使用51单片机I/O端口实现对外部用电器和电路的控制。

二、实验硬件和软件:

计算机1台、并安装Proteus8.6软件和Keil4软件。

Proteus8.6中会运用的部件:7SEG-MPX2-CC、AT89C51、BUTTON、LED-GREEN\RED\YELLOW、RESPACK-8d

三、试验任务:

1.使用Proteus排线连接的方式,在单片机I/O口上外接LED灯和数码管(用网络标识符),最终实现数码管从20-0的倒计时显示效果,为最终的实训项目一做准备。(要求:显示效果数码管显示间隔时间为1S,可以在完成该实验的基础上增加实验内容:两位数从20到1的交通灯计时显示。)

2.并且使用中断口P3^4使当操作者按下独立键盘使南北方向的交通灯变为绿色可通行,而西北方向的交通灯变为红色禁止通行,让救护车、消防车等紧急车辆通过。

以下内容为这次实验的主要内容(实验报告其余内容可参照本人的其余实验报告)

四向交通灯相关代码

void  jinji()    //紧急函数(为了完成老师要求:按下独立键盘使南北方向的交通灯变为绿色可通行,而西北方向的交通灯变为红色禁止通行,让救护车、消防车等紧急车辆通过)
{
   
	SN_green=0;			
	SN_red=1;			
	SN_yellow=1;			
	WE_green=1;			
	WE_red=0;			
	WE_yellow=1;		   	
	while(1)
	{
   
		if(k2==0)						         
		         {
   
			        delayxms(3);
			        if(k2==0)
			         {
   	
								 while(!k2);				
								 TR0=1;					  
								 if(flgaa==0)	jtda();	 
								 if(flgaa==1)	jtdb();	  
								 if(flgaa==2)	jtday();  
								 if(flgaa==3)	jtdby(); 
								} 
		         }
	}
}

代码中一些位的申明以及自己所写代码的调用:

#include 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值