根据51单片机的交通灯设计.doc

上传人:一*** 文档编号:2536794 上传时间:2020-04-18 格式:DOC 页数:19 大小:1.11MB
返回 下载 相关 举报
根据51单片机的交通灯设计.doc_第1页
第1页 / 共19页
根据51单片机的交通灯设计.doc_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《根据51单片机的交通灯设计.doc》由会员分享,可在线阅读,更多相关《根据51单片机的交通灯设计.doc(19页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、.- 江苏师范大学 电气工程及自动化 实习报告姓 名:班 级:学 号:实习科目:单片机实训指导教师:实习时间: .-智能交通信号灯摘 要本设计是在熟练掌握单片机及其仿真系统使用方法基础上,综合应用单片机原理、微机原理等课程方面的知识,设计一个采用STC89C52单片机控制的交通灯控制电路。该设计结合实际情况给出了一种简单低成本城市交通灯控制系统的硬件及软件设计方案、各个路口交通灯的状态循环显示,并对程序流程图进行详细讲解分析。交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交

2、通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。根据给出的要求设计交通灯东西、南北两干道交于一个十字路口各干道有一组红、黄、绿三色的指示灯指挥车辆和行人安全通行。红灯亮禁止通行绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换且黄灯亮的时间为东西、南北两干道的公共停车时间。关键词:电子线路、STC89C52、交通灯目录第一章 引言11.概述12.设计目的 43.设计要求 44.实验原理 4第二

3、章 芯片与元件51.MCU52.74HC57363.led数码管6第三章 外围电路61.单片机最小系统62.数码管显示电路73.12位流水灯8第四章 整体设计81.交通控制系统总体设计82.单片机交通控制系统的基本构成及原理83.系统软件程序的设计9 第五章 总结10参考文献11附录A 智能交通灯电路原理图12附录B 智能交通灯汇编源程序13.-第1章 引言1概述 在城镇街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红黄绿信号灯。其中红灯亮,表示该条道路禁止;黄灯亮表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行;绿灯亮表示该条道路允许通行。交通灯控制

4、电路自动控制十字路口红黄绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口交通管理的自动化。2设计目的2.1 通过本次课程设计进一步熟悉和掌握单片机的结构及工作原理,巩固和加深“单片机原理与应用”课程的基本知识,掌握电子设计知识在实际中的简单应用。2.2 综合运用“单片机原理与应用”课程和先修课程的理论及生产实际知识去分析和解决电子设计问题,进行电子设计的训练。2.3 学习电子设计的一般方法,掌握STC89C52芯片以及简单电子设计过程和运行方式,培养正确的设计思想和分析问题、解决问题的能力,特别是总体设计能力。2.4 通过计算和绘制原理图、布线图和流程图,学会运用标准、规范、手册、

5、图册和查阅有关技术资料等,培养电子设计的基本技能。2.5 通过完成一个包括电路设计和程序开发的完整过程,了解开发单片机应用系统全过程,为今后从事的工作打基础。3设计要求3.1 利用单片机的定时器定时,实现道路的红绿灯交替点亮和熄灭。3.2 以STC89C52单片机为核心,设计一个十字路口交通灯控制系统。用单片机控制LED灯模拟交通信号灯显示。假定东西、南北方向方向通行(绿灯)时间为30秒,缓冲(黄灯)时间5秒,停止(红灯)时间30秒。3.3 南北方向、东西方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用倒计时的方法)。4实验原理4.1 基本原理 主体电路:交通灯自动控

6、制模块。这部分电路主要由80C51单片机的I/O端口、定时计数器等组成。 本设计先是从普通三色灯的指示开始进行设计,用P1口作为输出。程序的初始化是东西南北方向的红灯全亮。然后南北方向红灯亮,东西方向绿灯亮,60秒后东西方向黄灯闪亮5秒后南北方向绿灯亮,东西方向红灯亮。重复执行。倒计时用到定时器T0,用P2口作为LED的显示。二位一体的LED重复执行60秒的倒计时。作为突发事件的处理,本设计主要用到外部中断EX0。用一模拟开关作为中断信号。实际中可以接其它可以产生中断信号的信号源。 第二章 芯片与元件1MCU:STC89C52是一种低功耗、高性能CMOS 8位微控制器,具有8K 系统可编程Fl

7、ash存储器。高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52在众多嵌入式控制应用系统中得到广泛应用。主要性能:与MCS-51单片机产品兼容;8K字节在系统可编程Flash存储器;1000次擦写周期;全静态操作:0Hz-33MHz;三级加密程序存储器;32个可编程I/O口线;三个16位定时器/计数器;8个中断源;全双工UART串行通道;低功耗空闲和掉电模式;掉电后中断可唤醒;看门狗定时器;双数据指针;掉电标识符。274HC573:

8、74HC573包含八进制3态非反转透明锁存器,是一种高性能硅门CMOS器件。当锁存使能端LE为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。主要功能:三态总线驱动输出、置数全并行存取、缓冲控制输入、使能输入有改善抗扰度的滞后作用。3led数码管:led数码管(LED Segment Displays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。 第三

9、章 电路设计1单片机最小系统:STC89C52单片机最小系统主要由电源、复位、振荡电路三个部分组成。最小系统原理图如图3.1所示。 图3.1 51单片机最小系统版2. 数码管显示电路:由8位共阴LED数码管即驱动芯片74HC573组成,单片机控制两片锁存器是使能端,通过不停打开关闭使能端达到单片机一个8位I/O口控制8位数码管显示的效果。数码管显示电路如图3.2所示。图3.2 数码管显示电路312位LED灯:由12个LED小灯排列起来,加上限流电阻就组成了12位交通灯。12位流水灯的阴极接在单片机的I/O端口,以灌电流输进单片机从而驱动LED。交通LED灯的原理图如图3.3所示。图3.3 12

10、位LED灯 第四章 整体设计1交通控制系统总体设计 设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行。共有4种状态,这4种状态如下,周而复始,循环变化。4个状态归纳如下:.南北方向红灯亮,倒计时30s同时东西方向绿灯亮,倒计时30s,此状态下,南北方向禁止通行,东西方向直行。.南北方向黄灯亮,倒计时5s,同时东西方向红灯亮,倒计时30s,此状态下,除了已经正常在通行的车辆外其他车辆禁止通行。.南北方向绿灯亮,倒计时30s,同时东西方向红灯亮,倒计时30s,此状态下,南北方向车辆可以直行。.南北绿灯亮,倒计时30s,东西黄灯亮,倒计时5s。2单片机交通控制系统的基本构成

11、及原理单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。本系统在此基础上,加入了紧急情况处理与时间调整功能。据此,本设计系统以单片机为控制核心,连接成最小系统,由按键设置模块产生输入,信号灯状态模块,LED倒计时模块模块接受输出。系统的总体框图如图4.1所示。单片机上电后,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。在此过程中随时调用急停按键和时间调节中断。 图4.1 交通灯系统框图3系统软件程序的设计全部控制程序实际上分为若干模块:键盘

12、设置处理程序,状态灯控制程序,LED显示程序紧停程序,中断服务子程序等。整个软件程序方面主要分两大部分:主程序部分和中断处理程序。流程图如图4.2所示。具体程序见附录2。 图4.2 交通灯软件程序流程图第五章 总结 19通过这三周的单片机实训,我对51单片机有了很深入的了解,从汇编程序一行行的敲写与硬件电路搭建,最终将他们看做一个整体一个系统,从系统的角度来设计单片机的整体框架。这次智能交通灯的整体系统设计,起到了理论结合实践的学习效果,也感谢学校学院为我们搭建的单片机实训室,也在此感谢张兴奎老师在这次实训中对我的指导和帮助!参考文献1 张鑫.单片机原理及应用(第2版).北京:电子工业出版社.

13、2010.102 刘海宽.包建华.张兴奎.南京:东南大学出版社.2009.13 李广弟等.单片机基础M.北京:北京航空航天大学出版社, 20104 张靖武等.单片机系统PROTEUS设计与仿真M.北京:电子工业出版社, 2007.附录A智能交通灯电路原理图: 附录B智能交通灯汇编源程序:/*/功能:交通灯/说明:使用74HC573驱动共阴数码管;红绿灯各30s,黄灯5s/作者:杨勇/*/ DEYADDR EQU 40H;延时计数个数定义DULA bit P2.6;段选引脚定义WELA bit P2.7;位选引脚定义SMGDU EQU 51H;数码管段值TIMCTR EQU 52H;定时计数值L

14、IGHTCTR EQU 53H;交通灯计时状态计数值SN_NUM EQU 54H;南北倒计时显示值EW_NUM EQU 55H;东西倒计时显示值ORG 0000HLJMP mainORG 000BH;定时器0的中断入口地址LJMP T0_SER;跳到定时器0的中断服务函数ORG 001BH;定时器1的中断入口地址LJMP T1_SER;跳到定时器1的中断服务函数ORG 0030Hmain: MOV SP,#60H;初始化堆栈指针MOV TIMCTR,#00H; /以下几行为数据初始化MOV LIGHTCTR,#00H; /MOV SMGDU,#00H; /MOV SN_NUM,#30; /MO

15、V EW_NUM,#30; /CLR A; /LCALL T01_INIT;定时器0初始化BACK: MOV A,TIMCTR;读出当前计数值CJNE A,#20,BACK;若计数值达到20,则计时到1s,往下执行 ;否则,继续等待,知道加到1sMOV TIMCTR,#0;清定时计数值,重新计数MOV A,LIGHTCTR;/读出交通灯计时状态计数值 CJNE A,#0,Q1;如果相等,继续执行,否则,判断下一个MOV P1,#0FEH;南北红灯亮MOV P3,#0FBH;东西绿灯亮MOV SN_NUM,#30;南北倒计时显示值给30sMOV EW_NUM,#30;东西倒计时显示值给30sLJ

16、MP Q5;LIGHTCTR继续加1Q1:CJNE A,#30,Q2;如果相等,继续执行,否则,判断下一个MOV P1,#0FDH;南北黄灯亮MOV P3,#0FEH;东西红灯亮MOV SN_NUM,#5;南北倒计时显示值给30sMOV EW_NUM,#30;东西倒计时显示值给30sLJMP Q5;LIGHTCTR继续加1Q2:CJNE A,#35,Q3;如果相等,继续执行,否则,判断下一个MOV P1,#0FBH;南北绿灯亮MOV P3,#0FEH;东西红灯亮MOV SN_NUM,#30;南北倒计时显示值给30sLJMP Q5;LIGHTCTR继续加1Q3:CJNE A,#60,Q4;如果相

17、等,继续执行,否则,判断下一个MOV P1,#0FBH;南北绿灯亮MOV P3,#0FDH;东西黄灯亮MOV EW_NUM,#5;东西倒计时显示值给5sLJMP Q5;LIGHTCTR继续加1Q4:CJNE A,#65,Q5;如果相等,继续执行,否则,判断下一个MOV LIGHTCTR,#0;LIGHTCTR重新计数LJMP BACK;Q5: MOV A,SN_NUM;/南北灯倒计时,即SN_NUM每秒减1DEC A; / MOV SN_NUM,A;/MOV A,EW_NUM;/东西灯倒计时,即EW_NUM每秒减1DEC A; / MOV EW_NUM,A;/MOV A,LIGHTCTR;/交

18、通灯计时状态计数值加1INC A; /MOV LIGHTCTR,A;/ LJMP BACK; SHOW_SN: MOV A,SN_NUM;读取南北灯倒计时MOV B,#10;十位放A中,各位放B中DIV AB;高位在A中,低位在B中/南北灯倒计时的高位显示(计数值099s)MOV DPTR,#TABLE;MOVC A,A+DPTR;取出数码管的编码MOV P0,A;数字送P0,数码管显示SETB DULA;开段选送数CLR DULA;关段选MOV P0,#0FDH;南北灯倒计时的高位显示SETB WELA;开位选送数CLR WELA;关位选MOV DEYADDR,#2;延时xms,改变该数可改

19、变数码管扫描的速度LCALL deyxms;延时一会,动态显示/南北灯倒计时的低位显示MOV DPTR,#TABLE;MOV A,B;十位放A中,各位放B中MOVC A,A+DPTR;取出数码管的编码MOV P0,A;数字送P0,数码管显示SETB DULA;开段选送数CLR DULA;关段选MOV P0,#0FEH;南北灯倒计时的低位显示SETB WELA;开位选送数CLR WELA;关位选MOV DEYADDR,#2;延时xms,改变该数可改变数码管扫描的速度LCALL deyxms;延时一会,动态显示RET SHOW_EW: MOV A,EW_NUM;读取东西灯倒计时MOV B,#10;

20、十位放A中,各位放B中DIV AB;高位在A中,低位在B中/东西灯倒计时的高位显示(计数值099s)MOV DPTR,#TABLE;MOVC A,A+DPTR;取出数码管的编码MOV P0,A;数字送P0,数码管显示SETB DULA;开段选送数CLR DULA;关段选MOV P0,#0F7H;东西灯倒计时的高位显示SETB WELA;开位选送数CLR WELA;关位选MOV DEYADDR,#1;延时xms,改变该数可改变数码管扫描的速度LCALL deyxms;延时一会,动态显示/南北灯倒计时的低位显示MOV DPTR,#TABLE;MOV A,B;十位放A中,各位放B中MOVC A,A+

21、DPTR;取出数码管的编码MOV P0,A;数字送P0,数码管显示SETB DULA;开段选送数CLR DULA;关段选MOV P0,#0FBH;东西灯倒计时的低位显示SETB WELA;开位选送数CLR WELA;关位选MOV DEYADDR,#1;延时xms,改变该数可改变数码管扫描的速度LCALL deyxms;延时一会,动态显示RETT01_INIT: MOV TMOD,#11H;方式1,16位定时器MOV TH0,#3CH;T0 65535-50000=3CAFH,即50ms触发中断MOV TL0,#0AFH;MOV TH1,#0D8H;T1 65535-10000=D8EFH,即1

22、0ms触发中断MOV TL1,#0EFH;SETB EA;开总中断SETB ET0;开定时器0中断SETB ET1;开定时器1中断SETB TR0;启动定时器0SETB TR1;启动定时器1RETT0_SER:PUSH ACC;/保存数据PUSH PSW;/MOV TH0,#3CH;重装初值MOV TL0,#0AFH;MOV A,TIMCTR;/TIMCTR里的计数值加1INC A; /MOV TIMCTR,A;/POP PSW;/弹出数据POP ACC;/RETI/每10ms刷新一次数码管显示T1_SER:CLR TR1;关定时器1,防止延时函数执行时跳入中断造成干扰PUSH ACC;/保存

23、数据PUSH PSW;/MOV TH1,#0D8H;重装初值MOV TL1,#0EFH;LCALL SHOW_SN;/南北灯倒计时数码管显示LCALL SHOW_EW;/东西灯倒计时数码管显示POP PSW;/弹出数据POP ACC;/SETB TR1;重新打开定时器1中断RETI/延时函数deyxms: MOV 42h,#4 ;40h,41h,42h用于延时 delay : MOV 41h,#191 NOP NOP DJNZ 41h,$ DJNZ 42h,delay DJNZ DEYADDR,deyxms ;DEYADDR里存延时参数x 延时1*x ms RET TABLE: DB 3fh,

24、06h,5bh,4fh,66h,6dh,7dH,07h/数码管显示的编码 DB 7fh,6fh,77h,7ch,39h,5eh,79h,71h END实习(设计)成绩评定表班级 12电51 姓名 杨勇 学号 12285027 1、实习(设计)名称: 单片机实训 2、实习(设计)题目: 智能交通灯的设计 3、实习(设计)时间:自 2014 年12 月15 日 至 2015 年 01 月 04 日4、实习(设计)地点:12#405A 5、主要内容简述: (1)车辆通行繁忙的十字交叉路口,设计一交通灯控制器,设计南北方向通行时间为30秒,5秒黄灯,东西方向通行时间30秒,5秒黄灯。(2)南北、东西方向各用三个(红、黄、绿)LED表示,并用数码管显示南北、东西方向的剩余时间。 6、指导教师评语: 7、指导小组复评意见: 8、成绩: 指导教师签名: 年 月 日 指导小组组长签名: 年 月 日 教研室主任签名: 年 月 日

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 施工组织

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com