单片机交通灯课程设计 .doc

上传人:yy****2 文档编号:97486901 上传时间:2024-06-17 格式:DOC 页数:35 大小:814.50KB
返回 下载 相关 举报
单片机交通灯课程设计 .doc_第1页
第1页 / 共35页
单片机交通灯课程设计 .doc_第2页
第2页 / 共35页
点击查看更多>>
资源描述

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

1、摘 要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新,因此也运用到了交通信号灯控制系统中。单片机渗透到我们生 活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。科技越发达,智能化的东西就越多,使用的单片机就越多。看来学单片机是社会发展的需求。本设计由单片机 AT89S52 芯片和 LED 数码管为核心,辅以必要的电路,构成了 一个单片机交通灯。引入了电子设计自动化技术,运用了 Proteus 单片机仿真软件 和 Keil 软件,设计并实现本次的交通信号单片机控制系统。 关键词

2、 : 交通灯;AT89S52;LED 显示ABSTRACTAs technology evolved in recent years, it is monolithic integrated circuits, and promote the traditional test, control technology is therefore also apply to the traffic signal control system. monolithic integrated circuits come to pervade every aspect of our lives, it is

3、 difficult to find what field did not monolithic integrated circuits of the box. Therefore, monolithic integrated circuits, exploitation and application of the study will make a number of computer applications and the intelligent control of the scientists and engineers. the more advanced technology,

4、 the more intelligent.Key words: traffic lights;at89s52;led display目 录1 设计要求及总体方案介绍51.1 设计课题任务51.2 功能要求说明51.3 方案介绍及工作原理52 硬件系统的设计72.1 硬件系统各模块功能介绍72.1.1 显示电路设计72.1.2 发光二极管指示灯电路72.1.3 键盘控制电路72.1.4 数码管电路82.1.5 下载口电路82.1.6 流水灯电路82.2 电路原理图82.3 电路PCB图82.4 元器件布局图82.5 元器件清单92.6 硬件测试92.7 所做实物图93 软件系统设计103.1

5、单片机资源使用情况103.2 软件系统各模块功能103.2.1 显示 P.模块103.2.2 亮灯模块103.2.3 显示模块103.2.4 紧急按钮模块113.2.5 延时模块113.2.6 键处理和键扫描程序113.3 主程序设计113.4 程序流程图133.5 交通灯程序清单154 设计总结164.1 使用说明164.2 交通灯运行图164.3 设计体会16结束语18致谢.19参考文献.20附录A. 21附录B.22附录C.23附录D.24附录E.25附录F331 设计要求及总体方案介绍1.1 设计课题任务设计一个具有特定功能的十字路口交通灯。该交通灯上电或按键复位后能自动显示系统提示符

6、“P.”, 进入准备工作状态。按开始键则开始工作,按结束键则返回“P.”状态。要求甲车道和乙车道两条交叉道路上的车辆交替运行,甲车道为主车道,每次通车时间为60秒,乙车道为次车道,每次通车时间为30秒,要求黄灯亮3秒,并且1秒闪烁一次。有应急车辆出现时,红灯全亮,应急车辆通车时间10秒,同时禁止其他车辆通过。1.2 功能要求说明本次课程设计所做的交通灯所实现的功能有:1、在系统上电或按键复位后显示“P.” ,进入准备工作状态。 2、按开始键开始工作,按结束键则返回“P.”状态。3、甲车道和乙车道两条交叉道路上的车辆交替运行,且甲为主车道,乙为次车道; 其中主车道通行时间为 60s,次车道通行时

7、间为 30s;黄灯亮三秒,并闪烁 1s。 4、出现紧急车辆时,要求红灯全亮,紧急车辆通车时间为 10s,同时禁止其他车辆 出行。1.3 方案介绍及工作原理本设计采用一主(甲)车道(东西方向),一次(乙)车道(南北方向)的路 口,主车道的通行时间为 60s(为次车道的 2 倍)。在正常情况下,两车道的交通灯 按表 1.1 进行转换,并以倒计数的方式将剩余时间显示在每个干道对应的两位 LED 上;另发挥部分主要有:1. 当按下开始键后,系统才开始工作2.当按结束键时, 系统返回 P.状态,结束键松开则恢复原来状态;3.当出现紧急情况时,路口的交通 灯全为红灯,控制码为 CF,时间为 10s,紧急情

8、况解除时,恢复到原来的状态。交通灯系统结构如图1如示。表1 交通灯状态表次(乙)车道主(甲)车道剩余口线控制码状态说明P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0绿灯黄灯红灯红灯黄灯绿灯11011011DB主车道绿灯亮次车道红灯亮57s11010111D7主车道黄灯闪,次车道红灯亮3s011011116F10101111AF主车道红灯亮,次车道绿灯亮27s11101111EF主车道红灯亮,次车道黄灯闪3s 图1 交通灯系统结构图2 硬件系统的设计2.1硬件系统各模块功能介绍2.1.1 显示电路设计单片机应用系统最常用的显示器是 LED(发光二极管显示器) 、LED(液晶显示

9、器) 。这两种显示器可显示数字、字符及系统的状态。它们的驱动电路简单、易于实现且价格低廉,因此,得到了广泛应用。本次设计要显示数字倒计时,用数码管动态显示。将 LED显示器各位数码管的所有段控端相应地并联在一起,由 P0 的 8个口线控制,形成段选线多路复用,而各位数码管的共阳极实现各位的分时选通。共阳极数码管字形代码表如表 2 所示。表2 共阳极数码管字形代码表字型共阳代码字型共阳代码0C0H682H1F9H7F8H2A4H880H3B0H990H499HP.0CH592H灭FFH2.1.2 发光二极管指示灯电路该电路部分是交通信号灯的主要显示部分。采用发光二极管构成,按交通规划 分红、黄、

10、绿三种颜色。发光二极管直接与单片机的 I/O 端口相连,绿灯和黄灯控 制器还有红灯控制器的控制信号都是由秒脉冲发生器给出的。2.1.3 键盘控制电路键盘是最常用的输入设备,是实现人机对话的纽带。按其结构形式可分为非编 码键盘和编码键盘。 编码键盘采用硬件方法产生键码。每按下一个键,键盘能自动生成键盘代码, 键数较多,且具有去抖动功能。这种键盘使用方便,但硬件较复杂。非编码键盘仅 提供按键开关工作状态,其键码由软件确定,这种键盘键数较少,硬件简单,广泛 应用于各种单片机应用系统,在单片机控制电路中,可把单片机使用的键盘分为独 立式和矩阵式两种。独立式实际上就是一组独立的按键,这些按键可直接与单片

11、机的 I/O 口连接,即每个按键独占一条口线,这种接法简单。矩阵式键盘也称行列式 键盘,因为键的数目较多,所以键按行列组成矩阵。本设计中键盘数目较少,且为 安装方便,因此在本设计中采用独立式接法。按从一个键到键的功能被执行主要应 包括两项工作:一是键的识别,即在键盘中找出被按的是哪个键,另一项是键功能 的实现。第一项工作是使用接口电路实现的,而第二项工作则是通过执行中断服务 程序来完成。具体来说,键盘接口应完成以下操作功能: (1) 键盘扫描,以判定是否有键被按下(称之为“闭合键”)。(2) 键识别,以确定闭合键的行列位置。 (3) 产生闭合键的键码。 (4) 排除多键、串键(复键)及去抖动。

12、 以上这些内容通常是以软硬件结合的方式来完成的,即在软件的配合下由接口 电路来完成。但具体哪些由硬件哪些由软件完成,要看接口电路的情况。总的原则 是,硬件复杂软件就简单,硬件简单软件就得复杂一些。2.1.4 数码管电路数码管的段控口接在单片机的P0口上,位控通过三极管接在单片机的P2口上。2.1.5 下载口电路下载口的1脚接在P1.5口,2脚悬空,3脚接在单片机的复位口上,4脚接P1.6口,5脚接P1.7口,6脚接地,7、8、8、10脚接地。2.1.6 流水灯电路流水灯电路直接挂接在单片机的P3口上,采用共阳接法。蜂鸣器接在P3.1口上。2.2电路原理图原理图见附录A。2.3 电路PCB图电路

13、 PCB 图见附录B所示。2.4 元器件布局图元器件布局图见附录C。2.5 元器件清单元器件清单见附录D所示。2.6 硬件测试实物做好后,使用USB下载线连接单片机的下载口和电脑的USB口,把老师给的测试程序编入单片机中,检查是否各模块的功能显示正常。若有问题,则需对实物进行检查并修改。2.7 所做实物图所做实物图如图2所示 图2 所做实物图3 软件系统设计3.1 单片机资源使用情况、P3口为二极管的控制端、P0口用作地址/数据总线、P2口用作地址/数据总线、P1.0、P1.1、P1.2、P1.3口线作为键盘输入端既在AT89S52的P3口用来接八个发光二极管的阴极,控制其亮与灭,P0口和P2

14、口外接由8个LED数码管构成的显示器,用P0口作LED的段码输出口(P0.0P0.7对应于LED的adp),P2口作LED的位控输出线,P2口外接四个个按键A、B、C、D(分别对应于P1.0、P1.1、P1.2、P1.3口)用于调整显示接口电路。3.2 软件系统各模块功能3.2.1 显示 P.模块该模块的功能是在单片机上电或者复位后,在数码管上显示“P.” ,此时系统处 于等待工作状态。在按下开始按钮后,跳出此模块,进入正常的工作状态。3.2.2 亮灯模块该模块的功能是控制交通灯的亮与灭,在程序中,先控制主路的绿灯亮 57S,再 黄灯闪烁 3 秒,同时支路上的红灯亮 60S;再控制支路上的绿灯

15、亮 27S,再黄灯闪烁 3 秒,同时主路上的红灯亮 30S。正常情况下,随着主程序循环。当紧急按钮按下后, 控制两个路口的红灯同时亮十秒,待紧急时间过去,主动跳出至原来位置。3.2.3 显示模块该模块的功能是主路和支路上的时间显示。当系统开始运行时,同时在主路和 支路上显示 57S 的倒计时,待 57S 过后,同时在主路和支路上显示 27S 的倒计时, 正常情况下,随着主程序循环。当按下紧急按钮之后,同时在主路和支路上显示 10S 的倒计时,之后自动跳出。3.2.4 紧急按钮模块该模块的功能是在出现紧急情况下,按下紧急按钮,送入单片机信号,系统进 入紧急状态,在数码管显示 10S 倒计时,同时

16、主路和支路的红灯都亮。待 10S 过后, 自动跳出。3.2.5 延时模块该模块的功能是为其他各模块提供延时。不论是数码管显示的延时,红绿灯亮 的延时,黄灯的闪烁,都需要此模块来提供延时。3.2.6 键处理和键扫描程序键处理程序主要是将从P1口取值送往单片机进行取反。键扫描程序主要是判断是否有键按下,即度过前沿抖动之后再判断是否有键按下,如果确实有键按下再判断是否释放,同样也要度过后沿抖动。最终将处理完的键值作为返回值返回。3.3 主程序设计系统(上电)复位后,进入主程序。首先对系统进行初始化,包括设置各入口地址、中断的开启、对各个数据缓存区清“0” 、赋定时器初值化,初始化完毕后,就进入数码管

17、显示程序。在主程序中还进行了赋寄存区的初始值、设置定时器初值等操作,当定时时间到时就转去执行定时中断程序。并在执行完后返回主程序。具体流程图见图 3 所示。 图3 主程序流程图3.4 程序流程图图4 定时器中断流程图 图5 显示程序流程图图6 键扫描程序流程图3.5 交通灯程序清单交通灯程序清单见附录E。4 设计总结4.1 使用说明本实验主要是利用单片机 AT89S52、数码管和发光二极管组成,整个电路结构比较简单,它能实现以下几个功能: (1)时间的显示。 (2)红黄绿灯的发光与熄灭。 具体操作说 明如下 : 当交通灯 上电或 按 键复位后能 自动显 示 系统提示符 “P.”,进入准备工作状

18、态。当按下启动按钮并释放后,数码管显示将会从“57” 开始倒计时,每隔一秒减 1,此时南北方向开始一直亮绿灯,东西方向一直亮红灯, 直到显示为“03”时,数码管将会从“03”开始倒计时,每隔一秒减 1,此时南北方 向每隔一秒黄灯就闪烁一次,东西方向亮一直红灯,直到显示为“00”时,数码管 将会从“27”开始倒计时,此时南北方向一直亮红灯,东西方向一直亮绿灯,直到 显示为“03”时,数码管又将从“03”开始倒计时,此时南北方向一直亮红灯,东 西方向每隔一秒黄灯就闪烁一次;当没有其他键按下时,交通灯将这样一直循环下 去。当按下结束键并释放后,数码管将显示“P.”,东西南北方向无灯亮,当有其它 键按

19、下时,就退出,去执行该键的键功能。当按下紧急键并释放后,数码管将显示 “10” ,并且每隔一秒就减 1,东西南北方向全部红灯亮,当显示到“00”时,就会 自动退出中断继续完成主程序。4.2 交通灯运行图交通灯运行实拍图见附录F。4.3 设计体会回顾起此次单片机课程设计, 我仍感慨颇多, 学到了很多的东西. 同时不仅巩固了以前所学过的知识, 而且还学到了很多在书本上所没有学到过的知识.在实际设计中才发现, 书本上理论性的东西与在实际运用中的还是有一定的出 入的, 所以有些问题不但要深入地理解, 而且要不断地更正 以前的错误思维.一切问题必须要靠自己一点一滴的解决, 而在解决的过程当中你会发现自己

20、在飞速的提升. 对于单片机设计, 其硬件电路是比较简单的, 主要是解决程序设计中的问题, 而程序设计是一个很灵活的东西, 它反映了你解决 问题的逻辑思维和创新能力,它才是一个设计的灵魂所在. 因此可以说单片机的设计是软件和硬件的结合, 二者是密不 可分的. 通过这次课程设计我发现单片机原理应用行很强, 只有老师的讲解不行, 只看也不中, 只有自己动手去做才会发现自己确实有太多的不足,许多的原理,程序看似简单,真正 去做才知道知识并没有自己想象的那样扎实. 从而懂得了理 论与实际相结合是很重要的,只有理论知识是远远不够的, 只有把所学的理论知识与实践相结合起来, 从理论中得出结 论, 才能真正为

21、社会服务, 从而提高自己的实际动手能力和 独立思考的能力. 而且大大提高了动手的能力, 使我充分体会到了在创造过程中探索的艰难和成功时的喜悦结束语将设计的程序下载到单片机中,通过测试,基本上完成了任务书的要求,并相应的完成了十字路口交通灯的控制。通过本次课程设计,让我明白除了要求我们做课程设计,而最主要的是让我们能把学习中的更加广泛地运用到实际生活中来。交通灯的设计就是一个很明显的例子,以前的我们并不知道交通灯是什么原理而来,可是现在我们知道了。所以,在以后的学习中,我们要以把学习运用到生活中为目标。以更好的学习来回报自己的努力!致谢在这次课程设计的完成过程中,我得到了许多人的帮助。 首先我要

22、感谢王老师在课程设计上给予我的指导、提供给我的支持和帮助, 这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上 的难题,让我能把系统做得更加完善。在此期间,我不仅学到了许多新的知识, 而且也开阔了视野,提高了自己的设计能力。其次,我要感谢帮助过我的同学,他也为我解决了不少我不太明白的设计上的 难题。同时也感谢学院为我提供良好的做毕业设计的环境。 最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学。参考文献1李广弟,单片机基础M,北京航空航天大学出版社,2007.6。 2马忠梅,单片机的C语言应用程序设计M,北京航空航天大学出版社,2007.1。附录A 电路原理图附录B

23、电路PCB图顶层底层附录C 元器件布局图附录D 元器件清单器件型号数量单片机AT89S521个晶振12MHZ1个电容22uf,33pf若干电阻普通若干单排针10针接口1个按键普通4个开关6脚开关1个数码管HSN5642S2个下载接口10针接口1个蜂鸣器脉冲式1个附录E 交通灯程序清单;* 系统起始程序区*ORG 0000H LJMP MAINORG 000BHLJMP LOOP* 系统监控程序区*ORG0050HMAIN:MOVPSW,#00HMOVTMOD,#01H MOVTH0,#(65536-10000)/256MOVTL0, #(65536-10000)MOD 256SETB EASE

24、TB ET0MOV R0, #20H MOV R7, #5FH LOOP1: MOV R0, #00H INC R0 MOV 30H, #57 MOV SP, #50H MOV 7FH, #11H MOV 7EH, #10HMOV 7DH, #10HMOV 7CH, #10HMOV 7BH, #10HMOV 7AH, #10HMOV 79H, #10HMOV 78H, #10H MOV R5, #08H MOV R0, #78HLOOP2:LCALL DIR LCALL KEYJB 20H.0,K0 LJMP LOOP2;* 子程序区*主干道绿灯亮57秒,次干道亮红灯*K0: SETB TR0

25、 MOV 78H, #07HMOV 79H,#05HMOV 7AH,#10HMOV 7BH,#10HMOV 7CH,#10HMOV 7DH,#10HMOV 7EH,#10HMOV 7FH,#10H MOV P3, #0FFH MOV 30H, #57 CLR P3.2 CLR P3.3 MOV 33H, #0 MOV A, 30HMOV B, #10DIV ABMOV 79H, AMOV 78H, B K1:LCALL DIRLCALL KEYMOV A, 30H JZ HUANGJNB 20H.1,PP LCALL JIN PP:JB 20H.2, YTE LJMP K1 YTE: LJMP

26、 K3; *主干道黄灯闪3秒,次干道亮红灯* HUANG: MOV 30H, #03 SETB P3.2 MOV 33H, #0 MOVA, 30H MOVB, #10 DIV AB MOV 79H,A MOV 78H,B KJ : LCALL DIR LCALL KEY MOV A, 30H JZ LV MOV A, 33H CJNE A, #50, LIANG CLR P3.1 LIANG: CJNE A, #99, LIANG1 SETB P3.1 LIANG1: JNB 20H.1, PP1 LCALL JIN PP1: JB20H.2, K3 LJMP KJ; *主干道红灯亮27秒,

27、次干道亮绿灯* LV : MOV 30H, #27 SETB P3.1 CLR P3.0 SETB P3.3 CLR P3.5 MOV 33H, #0 MOV A, 30H MOV B, #10 DIV AB MOV 79H, A MOV 78H, B KFC : LCALL DIR LCALL KEY MOV A, 30H JZ HUANG1 JNB 20H.1, PP2 LCALL JIN PP2: JB 20H.2, K3 LJMP KFC; *主干道红灯亮3秒,次干道黄灯闪3秒* HUANG1: MOV 30H, #03 SETB P3.5 MOV 33H, #0 MOV A, 30H

28、 MOV B, #10 DIV AB MOV 79H, A MOV 78H, B JJ : LCALL DIR LCALL KEY MOV A, 30H JZ LIKE MOV A, 33H CJNE A, #50, LIANG2 CLR P3.4 LIANG2: CJNE A, #99, LIANG3 SETB P3.4 LIANG3: JNB 20H.1, PP3 LCALL JIN PP3: JB 20H.2, K3 LJMP JJ LIKE: LJMP K0; *返回键程序* K3: CLR TR0 LCALL QUANMIAN MOV P3, #0FFH LJMP MAIN; *紧急

29、子程序*JIN : PUSH 33H PUSH 30H PUSH P3 PUSH ACC MOV P3, #0FFH MOV 30H, #10 CLR P3.0 CLR P3.3 MOV 33H, #0 MOV A, 30H MOV B, #10 DIV AB MOV 79H, A MOV 78H, B KG: LCALL DIR MOV A, 30H JZ HUI LJMP KG HUI: POP ACC POP P3 POP 30H POP 33H RET; *中断服务程序*LOOP:PUSH ACCPUSH BPUSH PSWSETB RS1CLR RS0MOV TH0, #(65536

30、-10000)/256MOV TL0, #(65536-10000)MOD 256INC 33HMOV A, 33H CJNE A, #100,RECLR CMOV 33H, #0DEC 30HMOV A, 30HMOV B, #10DIV ABMOV 79H, AMOV 78H, BMOV A, 30H RE:POP PSWPOP BPOP ACCRETI; *数码管清屏子程序*QUANMIAN: MOV 7FH,#10H MOV 7EH,#10HMOV 7DH,#10HMOV 7CH,#10HMOV 7BH,#10HMOV 7AH,#10HMOV 79H,#10HMOV 78H,#10HA

31、CALL DIRRET; *延时1毫秒子程序* DELAY: PUSH PSW SETB RS1 SETB RS0 MOV R7, #02HDELAY1: MOV R6, #0FFHDELAY2: DJNZ R6, DELAY2 DJNZ R7, DELAY1 POP PSW RET; *显示子程序; *入口:77H,78H,79H,7AH,7BH,7CH,7DH,7EH,7FH,* DIR: PUSH DPHPUSH DPLPUSH ACCPUSH PSW CLR RS1 SETB RS0 MOV R1, #78H MOV R2, #0FEH LD0:MOV A, R1MOV DPTR, #TABLEMOVC A, A+DPTRMOV P0, #0FFH MOV P2, R2 MOV P0, #0FFH MOV P0, A LCALL DELAY

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

当前位置:首页 > 教育专区 > 成人自考

本站为文档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