单片机控制交通灯系统由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“单片机交通灯控制系统”。
单片机控制交通灯实验设计
摘要:本次实验运用80C51单片机来完成对红黄绿交通灯的控制。实验当中主要运用了80C51单片机的计数器定时器功能,另外对单片机的一些参数进行了设置,比如说晶振,复位电路中的电阻值,电容值等。系统采用上电自动复位【1】,利用4个数码管显示各状态的剩余时间,时间显示采用倒计时方式,两组红黄绿LED三色灯作为模拟显示的交通信号灯,各状态交替进行。
关键字:80C51单片机
倒计时
红绿灯LED显示
前言:十字路口的红绿交通灯,保证了车辆,行人有条不紊的通行。从事本课题设计的意义在于,在实际的脚痛管理中引入答案偏激交通灯控制代替交管人员在交叉路口服务,有助于提高交通运输的安全性,提高交通管理的服务质量,并在一定程度上减少服务人员的工作量。通过自己的实际操作,了解和掌握80C51单片机在解决实际问题时的应用,同样也了解红绿交通灯设计的背景和原理。目前在一些大的十字路口上所用到的交通灯系统不仅仅有红黄绿灯的指示,而且还有直行,转弯的提示灯,本次实验个人仅就十字路口中的红黄绿交通灯作简要分析。再设计本次实验时我调整了各个数码管的频率设置,还有对其中一些原件进行了参数的设置,以达到我想要的结果。本次实验完全是通过自己的查书翻阅资料进行设计的,设计不当之处望老师加以指正。
正文:本次实验老师要求参照实际交通灯的模型来进行设计,设计难度不限。我所设计的交通灯系统用在十字路口上,由红黄绿三种颜色的灯组成。红灯亮时道路上的车辆停止运行;黄灯是一种过渡用的信号灯,当它亮时,表示道路上的红绿色信号灯即将进行转换;绿灯亮时则表示可以通行。我所设计的电路图如下:
试验流程图:
实验:本电路中包含的主要元件有:80C51单片机芯片,交通灯,红绿信号LED灯,数码显示管等。交通灯设计了两组,分别代表南北和东西方向。当东西方向允许通行时,南北方向就禁止行车;南北方向允许通车时,东西方向就禁止行车。连接线路图如图所示。经过我的观察,十字路口的交通灯东西,南北方向分别为红灯,绿灯时所需要的时间是不同的。例如当东西方向为红灯时,变为绿灯的过程中不仅要有一个黄灯的转换过程,而且计数的时间和开始南北方向为绿灯时的计数起始值是不一样的。红灯的计数起始值要比绿灯的计数起始值长,这么做主要是为了安全因素的考虑。即不管哪个方向是红灯,计数的起始值始终要比起始是绿灯的那个方向长。所以,本次实验我在设计时,把红灯的起始时间设计为9S,而绿灯的起始时间设定为7S。当东西南北方向的红绿灯进行转换时,所设定的9S,7S数值一次跟着一起转换,在程序中要加以变换。在电路中我还依次设计了外接晶振的内部时钟电路和复位电路。外接晶振的内部时钟方式所选取的电容值为30PF;复位电路采用上电复位电路,因为所选取的晶振为12MHZ,所以电容值选为10UF,R1电阻选为8.2K。复位电路处接正5伏特电源。在LED灯前面要加上限流电阻。【2】因为一般数码管的工作电流为5MA左右,而电源为5伏特,所以限流电阻值为5/0.005=1K。
调试过程:本次实验的调试过程还是非常艰辛的。起初我的数码显示管只设计了一组两个,按照之前所做过的三次试验,我进行了组合。但是调试出来的结果是数码管可以显示数据,但是设为9的一个数码管每次跳到2,设为7的数码管每次跳到1就停止了。不能自动循环。我又仔细检查调试了源程序。发现我在写试验程序时,LOOP1和LOOP3并不是按照LOOP2那样把P2和P3端口依次查表进行循环,而只是顾及了P2端口查表循环,然后进行更正后,设为9的端口可以自己跳到1并且开始循环。在实验的设计中,为了把黄灯闪烁的时间考虑在内,设为9和7的端口我分别进行了频率的调整,使设为7的端口值变为1之后还能停在那里等待设为9的那个端口变为1之后一起进行循环。因为实际的交通灯的数码显示管都是有四个的,所以为了减少工作量,我并没有去重新再写一段程序,而是把上面两个弄好的数码管中的连线依次接到我想接的数码管上。这样理论上是行的通的,因为只是把端口进行了复用,但是刚开始我做的时候是不成功的。因为我发现在接上两个交通灯后,上面两个弄好的数码管间也不能完整的显示每一个数字了,而是对于每一个数字都会有短缺。【3】我又进行了线路的排线仔细检查,发现原来是有些线路接在一起了,造成了连线,只要起始位置之间保证是一条线连接过来的,那么这个想法就可以实现,最后在自己的努力之下终于成功了。
测试结果:交通灯可以正常工作,按照以上所述进行红黄绿的转换。因为在实验中我分别用到了四个循环,针对两个数码管和LED灯,并且调用了延时程序。
结论:本次交通灯的实验设计花费了我很大的精力,具体得出以下几点结论要点:
1.试验中要注意的第一点就是排线是否正确,以及所设计的程序和电路图的接口是否正确。如果不正确的话,根本出不来想要的结果。
2.注意到本次实验用到的是汇编语言,同以前的C语言还是有很多的不同的。包括循环的调用与C语言就有很多的不同。C语言中后面所跟的循环主要是条件,而汇编语言中是要转到的目的地址,一定要特别注意。
3.实验中要注意各元器件的参数问题,只有合理设计好各元器件参数值,这样设计出的实验才更精准,达到的效果才更好。
4.单片机是一门实用性很强的学科,所以必须多加实践,必须用到实际中才能成为真正学以致用的知识。参考文献:
【1】 单片机原理与应用技术,第三版,李全钊主编,P27-P30 【2】 梁宗善.电子技术基础与课程设计.华东理工大学出版社.1994.【3】 赵广林,电路设计与制版
【4】 http://www.daodoc.com/
附录:
图1:复位电路
图2:晶振电路
3:80C51的主芯片图
毕业设计程序源代码ORG 0000H;主程序的入口地址LJMP MAIN;跳转到主程序的开始处ORG 0003H;外部中断0的中断程序入口地址ORG 000BH;定时器0的中断程序入口地址LJMP T0_INT;跳......
#include #define uchar unsigned char #define uint unsigned int sbit dula=P2^6; sbit wela=P2^7; sbit beep=P2^3; unsigned int pp; unsigned char code table[]={0x3f......
智能交通灯设计与实现基于单片机的智能交通灯控制系统的设计与实现,系统能够根据十字路口双车道车流量的情况控制交通讯号灯按特定的规律变化。首先对智能交通灯的研究意义和......
基于单片机控制的交通灯设计系统 班级:姓名:学号: 第一章 概述 1.设计内容本系统需要采用AT89C51单片机AT89C5中心器件来设计交通灯控制器,实现以下功能: 1.1初始东西绿灯亮,南......
单片机控制交通灯AT89C51单片机及由Keil 软件编写单片机程序,并且通过Proteus仿真测试,设计一个交通灯系统,实现简单的交通灯的管理功能。在交通灯系统的管理中,用发光二极管模......