十字路口灯火控制系统设计Ⅱ_第1页
十字路口灯火控制系统设计Ⅱ_第2页
十字路口灯火控制系统设计Ⅱ_第3页
十字路口灯火控制系统设计Ⅱ_第4页
十字路口灯火控制系统设计Ⅱ_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 微机接口技术 课程设计说明书题 目 十字路口灯火控制系统设计() 机 械 工 程 系 机械设计 专业 0501 班 02 学号学生姓名 XX 指导老师 完成日期 2008-12-15 至 2008-12-28 XX学院机械系XX学院课程设计任务书设计题目:十字路口灯火控制系统设计()姓名XX系别机械系专业机械设计班级JS0501学号X指导老师XXX教研室主任XX一、基本任务及要求1设计任务(1)硬件 扩展8031、74LS373、ROM、RAM、8279(显示)、7407、73LS138、 中断系统、74LS244、74LS240;PI口接开关控制系统的启动/停止、应急(中断模式); P1口

2、接彩灯显示路口交通运行状态。(2)软件从左至右定位显示“ 通行时间 ”控制程序。标准十字路口灯火控制程序(通行绿、等待红)。启动/停止、应急开关控制程序。启动后立即进入正常工作,停止后屏显“STOP”、熄灯。应急状态,路口全闪红灯,在最左端显示“U”。软件延时程序(基本时间1s)。2要求(1)绘制硬件接线框图;绘制系统控制流程框图。(2)撰写设计说明书(58千字),并附程序清单及其功能注释。(3)控制程序必须调试通过。二、进度安排及完成时间1设计时间 二周(从2008年12月 15 日至2008年12月 26日)2进度安排 星期一三 布置任务;查阅资料;讲授相关知识;做相关实验第16周: 星期

3、四 设计硬件电路图;编写各功能子程序。星期五 调试各功能子程序,并记录存在的问题与解决的方法。第17周: 星期一二 整理资料链接所有程序,进行总体调试。星期三四 按格式撰写设计说明书。星期五 上交设计作业,文本文档打印稿及电子文档,并参加答辩。目 录1 设计概述11.1任务的提出11.2 任务要求11.3 控制系统的基本原理12系统总体设计思想22.1 总体结构22.2设计思想2 2.3 控制功能分析2 2.3.1双色灯控制功能分析2 2.3.2数码显示器控制功能分析32.4 延时计算33 硬件电路设计4 3.1 确定硬件设计方案4 3.1.1开关控制电路4 3.1.2显示电路4 3.1.3

4、8279显示器扩展电路5 3.1.4 双色灯电路 5 3.2系统控制电路设计64 控制软件设计7 4.1主程序设计7 4.2子程序设计8 4.2.1 8279初始化子程序8 4.2.2 东西南北通行子程序8 4.2.3 显示字程序94.2.4 中断程序10 4.2.5 双色灯控制字表11 4.2.6 程序段码表125 调试结果及说明135.1硬件说明135.2 软件调试135.3 遇到的问题及解决方案13结论14参考文献 15致谢16附录 A系统控制电路17附录 B 8279显示器扩展电路18附录 C程序清单191 设计概述1.1 任务的提出 该课程设计根据相应芯片的应用及双色灯的控制和八段数

5、码管的基本原理,完成十字路口交通灯设计(1)硬件 扩展8031、74LS373、ROM、RAM、8279(显示)、7407、73LS138、 中断系统、74LS244、74LS240;PI口接开关控制系统的启动/停止、应急(中断模式);P1口接彩灯显示路口交通运行状态。(2)软件启动/停止、应急开关控制程序。启动后立即进入正常工作,停止后屏显“STOP”、熄灯。应急状态:路口全闪红灯,在最左端显示“U”。软件延时程序(基本时间1s)。列LED灯控制字表和序段码表。1.2 任务要求(1)绘制硬件接线框图;绘制系统控制流程框图。(2)撰写设计说明书(58千字),并附程序清单及其功能注释。(3)控制

6、程序必须调试通过。(4)课程设计说明书的书写格式必须统一。包括课程设计说明书封面、任务书、目录、正文,装订成册。1.3控制系统的基本原理设计一个十字路口灯火控制系统,所需控制的信号灯为4个双色发光二极管及多位数码管;当要启动时,通过拨动启/停开关PI4控制键置1使南北绿色灯亮同时数码管倒计时显示30s,然后东西绿色灯亮同时数码管倒计时显示20s,如果有应急情况,通过拨动应急开关P3.2控制键置1使双色灯全为红色同时数码管显示“U”,应急状态结束时双色灯恢复原来的状态和数码管恢复原来的计时时间;当系统停止时,双色灯灭和数码显示器屏显“STOP”。2 系统总体设计思想2.1 总体结构依据给定的设计

7、要求通过汇编控制实现:(1)硬件控制:向单片机发送数据与控制信号;(2)软件控制: 通过汇编实现数码管显示通行时间及不同通行时间的转换; 通过汇编实现双色灯显示路口的通行状态及应急状态;(3)开关控制:提供启动、停止、应急控制功能。2.2 设计思想利用单片机的指令系统编写程序,使多位数码管从左至右定位显示“ 通行时间 ”;编写双色灯变化程序,启动后立即进入正常工作,停止后屏显“STOP”、熄灯。应急状态:路口全闪红灯,在最左端显示“U”。在编写程序的开始应对8279芯片进行初始化。2.3 控制功能分析2.3.1双色灯控制功能分析双色LED灯是由一个红色LED管芯和一个绿色LED管芯封装在一起,

8、共地而成。当红色管芯的正极接底电平,绿色管芯的正极接高电平时,双色灯显示红色。反之,当红色管芯的正极接高电平,绿色管芯接正极接低电平时,双色灯显示绿色。若两个管芯的正极都接低电平时,双色灯显示黄色。反之两个都接高电平时,双色灯灭。在该电路中,74LS138的数据端口8000接74LS244的片选信号,通过74LS240驱动4个双色LED灯,其中,输入端DG1-DG4为绿色灯管芯的正极,控制双色灯中绿色灯的亮灭;DR1-DR4为红色灯管芯的正极,控制双色灯中红色灯的亮灭;因此,从P3.2口输出的高电平控制信号,经过74LS240同相后还是高电平,能使对应的双色灯LED亮,所以,高电平控制信号为亮

9、灯的有效控制信号。2.3.2数码显示器控制功能分析显示器的控制有字型控制与字位控制两种。其中,显示字符的字形码从OUTA3OUTA0和OUTB3OUTB0输出,与显示器的段选a、b、c、d、e、f、g、dp连接,形成各种字符;显示器的位选信号由扫描输出线SL3SL0经外部译码获得。和A0构成8279端口地址,接单片机的地址线。当=0,A0=0时,CPU将访问8279的数据口,对其写入的数据为显示字符的字形码;对其读出的数据为键值。当=0,A0=1时,CPU将访问8279的访问命令/状态口,对其写入的数据为命令字,读出的数据为状态字。8279是一种可以同时管理键盘和显示器的专用接口芯片,与单片机

10、的P0口连接,用于数据、命令/状态的传递。用8279管理显示器,要对其进行工作模式初始化设置。2.4 延时计算设计一个软件延时子程序,从而维持灯和数码显示器变化所需的时间,规定延时程序的循环基本时间1s,而软件延时只延时100ms,因此显示一次数据要循环十次,在程序中用R2来存放该数作为循环变量,使每次数据的显示时间为1s。3 硬件电路设计3.1确定硬件设计方案根据设计要求 ,确定该控制系统的设计方案。硬件电路由4个部分电路组成,即存储器扩展电路、开关控制电路、LED灯电路、显示电路。 3.1.1 开关控制电路根据控制要求设置开关输入口PI.4、P3.2实现启/停、应急功能控制,参见图3.1。

11、 图3.1 开关输入口电路3.1.2显示电路在该电路中,把发光二极管的阴极连在一起构成公共阴极。使用时会共阴极接地,阳极端输入高电平的段发光二极管导通点亮,输入低电平的则不点亮。参见图3.2。图3.2 数码管电路3.1.3 8279显示器扩展电路扩展8279作显示器管理,连接8个数码显示器,参见附录A图3.3所示。8279的、分别接8031单片机经74LS373地址锁存器后的地址线(A0-A7)。8279数据端口(D0-D7)接8031单片机P0的数据线,8279的、与8031单片机的、相连。8279的CNTL和SHIFT直接接地。8279扫描线(SL0-SL2)接74LS138译码器的A、B

12、、C端口,通过74LS138译码器的输出端(Y0-Y7)接7407同向驱动器,再通过7407同向驱动器接LED数码显示器的位选信号。8279的显示数据输出线OUTA0-OUTA3、OUTB0-OUTB3,通过7407同向驱动器与LED数码显示器的段选a、b、c、d、e、f、g、dp连接。74LS138译码器的接地,接+VCC。因为8279的端口控制线地址线、分别接8031单片机经74LS373地址锁存器后的(),所以8279的数据口地址为FF80H,命令/状态口地址为FF82H。3.1.4 双色灯电路在该电路中,输入端DG1-DG4为绿色灯管芯的正极,控制双色灯中绿色灯的亮灭;DR1-DR4为

13、红色灯管芯的正极,控制双色灯中红色灯的亮灭;而7407为同相驱动器,因此,从P0口输出的低电平控制信号,经过7407同相后仍为低电平,能使对应的双色灯LED亮,所以高电平控制信号为亮灯的有效控制信号。74LS273的输出口PO0PO3接同相驱动器74LS240的DG1DG4,PO4PO7接同相驱动器74LS240的DR1DR4, 片选接8000H,接好线后,打开系统,利用专用软件输送主程序到单片机,可观察到灯饰演示结果。参见图3.4,3.5所示。图3.4 双色灯控制电路3.2系统控制电路设计(见附录A)4 控制软件设计4.1 主程序设计主程序设计:先开放外部中断,是为了满足随时出现的应急状况,

14、再给东西南北通行时间赋值,判断PI.4口控制的启/停开关是否置1,如果是1就进入正常工作状态;如果是0把全灭状态送给P1口,使双色灯全灭,同时数码显示器显示“STOP”。第二次判断PI.4之前延时100ms的目的是消除抖动,防止外界干扰影响开关的启动。主程序流程图如4.1所示。图4.1 主程序流程图4.2子程序设计从左至右定位显示 “ 通行时间 ”;应急状态,路口全闪红灯,在最左端显示“U”。软件延时程序(基本时间1s)。4.2.1 8279初始化子程序 用8279管理显示器,要对其进行工作模式设定,即初始化设置;工作模式设定是通过写命令字来实现的。8279初始化程序参见图4.2所示。图4.2

15、 8279初始化程序流程图4.2.2 东西南北通行子程序 根据设计要求编制东西南北通行子程序,子程序流程图如图4.3所示。该程序段的功能是对东西南北通行时间进行倒计时,南北通行时间为30s,东西通行时间为20s。软件延时是100ms,本程序通过循环10次来变成1s。本程序判断PI.4口的目的是判断系统是否停止,如果停止子程序返回,灯全灭的同时数显示器显示“STOP”。图4.3 东西南北通行子程序4.2.3显示子程序 显示子程序的功能为显示在不同状态下的显示字(例如U 、STOP、数字)。图4.4 显示子程序4.2.4中断程序 中断程序的目的是为应急的出现做准备,应急状态一出现路灯全闪红,数码显

16、示器显示“U”。保护P1 的状态是为了应急状态结束后,返回应急前的状态。图4.4 中断程序流程图4.2.5 双色灯控制字表4个双色LED灯显示状态P1口红灯控制信号P1口绿灯控制信号控制字DR4 DR3 DR2 DR1DG4 DG3 DG2 DG1状态1南北绿灯0 0 0 00 0 0 096H状态2东西绿灯1 1 1 10 0 0 069H状态3全红灯0 0 0 01 1 1 10FH状态4灯全灭1 1 1 11 1 1 1FFH表4-1 双色灯控制字表4.2.6 程序段码表 由于数码显示电路我们采用的是共阴极接线法,所以程序段码表采用共阴极代码,见表4-2所示表4-2 程序段码表显示字符共

17、阴极dp g f e d c b a控制字0 0 0 1 1 1 1 1 13FH10 0 0 0 0 1 1 0 06H20 1 0 1 1 0 1 15BH30 1 0 0 1 1 1 14FH40 1 1 0 0 1 1 066H50 1 1 0 1 1 0 16DH60 1 1 1 1 1 0 17DH70 0 0 0 0 1 1 107H80 1 1 1 1 1 1 107FH90 1 1 0 1 1 1 16FHA0 1 1 1 0 1 1 177HB0 1 1 1 1 1 0 07CHC0 0 1 1 1 0 0 139HD0 1 0 1 1 1 1 05EHE0 1 1 1 1

18、 0 0 179HF0 1 1 1 0 0 1 171HS0 1 1 0 1 1 0 16DHT0 0 1 1 0 0 0 131HO0 0 1 1 1 1 1 13FHP0 1 1 1 0 0 1 173HU0 0 1 1 1 1 1 03EH全灭0 0 0 0 0 0 0 000H5 调试结果及说明5.1硬件说明(1)十字路口灯火控制系统演示电路的调试:LED灯模块由4个双色发光二极管组成,接线繁琐,极易出错。检查二极管无故障、导线无断线、连线接头无互相搭联后,依次检查指示灯(发光二极管)是否点亮;若未点亮,则可能是连线接错或是芯片的问题,根据灯的亮灭情况依次查找直到电路正常工作为止。最为

19、重要的是在接线的时候先试导线是否损坏,然后把灯接到输出口上,灯亮则是导通。 (2)其它电路的调试主要看接口以及连线是否正确,依次检查。5.2 软件调试 本次课程设计的程序全部采用汇编语言编写,除语法与逻辑差错外,最简单的检查方法是单步运行来调好每一个模块,观察是否和我们设计的顺序一致。同时观察显示情况(明确调用显示程序),直到满足我们设计的要求。然后在进行整个程序的调试。5.3 遇到的问题及解决方案遇到的问题: (1) 数码管显示的数据不倒计时;(2) 数码显示器显示的数据不稳定;(3) PI.4口无法控制开关;(4) 同时显示“U”和数据;解决方案: (1) 检查程序循环是否正确。 (2)

20、检查一次延时的时间是否偏大。(3) 检查程序中赋给PI口的地址是否正确。 (4) 检查程序中显示“U”的程序运行的同时是否有数据显示程序也在运行结 论本次的课程设计是设计一个十字路口灯火的控制系统,该设计是以单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时对通行时间进行变换,进行不同状态的组合。但是在我们调试的过程中,也发现了一些问题,例如数码管显示的数据不倒计时、PI.4口无法控制开关。这些都不是硬件的问题,而是软件的问题。相对于硬件问题,这些软件问题还是容易解决的。而要解决硬件问题,则很复杂,我们要检查硬件是否损坏等问题。 本系统是通过两个开关K1、K2来控制

21、的,K1为应急控制开关,K2为启/停控制开关。调试过程中,若开关K2向上拨动(为高电平)则启动系统,我们可以观察到,南北绿灯亮,东西红灯亮,同时数码显示器上从30开始倒计时。当倒计时结束时东西红灯立即转换为绿灯,南北绿灯立即转换为红灯,数码显示器立即从20开始倒计时。当这次倒计时结束时又变为南北绿灯亮,东西红灯亮,依次循环。若开关K2向下拨动(为低电平)则系统停止,可以观察到,双色灯全灭,数码显示器显示“STOP”。以上两种情况可以相互转换。在任何时刻如果有应急状态出现,则数码显示器上显示“U”,双色灯全红,当应急状态结束时,双色灯和数码显示器都恢复为应急出现前的显示状态。参考文献1单片微型计

22、算及其应用. 孙育才. 东南大学出版社.2单片机原理与应用 .王迎旭. 机械工业出版社.3单片微型计算机技术. 刘国荣. 机械工业出版社.4单片机原理与接口实验指导书.周慧,黄菊生.湖南工程学院机电教研室.5单片机应用系统设计 何立民. 北航出版社6单片机原理及及应用 王迎旭. 机械工业出版社7单片机原理及及应用教程刘瑞新. 机械工业出版社致 谢课程设计这几个字眼对我们来说是在熟悉不过了,但是这次的课程设计与以往不同,不同之处就在于它是一次综合性的设计,它综合了我们所学的所有单片机知识,具有很强的针对性。可以说课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重

23、要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的此次课程设计,我感慨颇多,从理论到实践,在接近两个星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步。不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。这次课程设计

24、使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,做这种实用性的课题,难免会遇到过各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如对单片机汇编语言掌握得不好、对使用的芯片不够了解等等。通过这次课程设计,使我把以前所学过的知识重新温故了一次。本次课程设计,我在周老师和谭老师的精心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,单片机领域对我今后进一步

25、学习机电方面的知识有极大的帮助。在此,忠心感谢周老师和谭老师以及同组同学的指导和支持。附 录A系统控制电路附 录B图3.3 8279显示器扩展电路附 录C程序清单:BZ8279 EQU 0FF82H ;8279状态/命令口地址 D8279 EQU 0FF80H ;8279数据口地址 LEDMOD EQU 00H ;左边输入,八位字符显示,外部译码 LEDFEQ EQU 2FH ;扫描速率 LEDCLS EQU 0C1H ;清除显示RAM LEDWR0 EQU 80H ;设定的将要写入的显示RAM地址 ORG 0000H LJMP START ORG 0003H LJMP INT0 ORG 00

26、40H9START:SETB EA ;开放中断系统 SETB EX0 ;允许外部中断0申请中断 SETB IT0 ;按下降沿触发中断 MOV 30H,#30 ;南北绿灯闪烁时间 MOV 31H,#20 ;东西绿灯闪烁时间 ACALL INIT8279 A1:MOV DPTR,#8000H ;把PI口的地址赋给DPTR MOVX A,DPTR JB ACC.4,A2 ;判断PI.4口的状态 MOV A,#0FFH MOV P1,A ;把全灭控制字送给P1口 LCALL DISP LJMP A1 A2:LCALL DLY ;消除抖动 MOVX A,DPTR JNB ACC.4,A1 LCALL J

27、TD LJMP A1 JTD:MOV A,#96H ;东西红灯,南北绿灯控制字 MOV P1,A MOV R0,30H ;把循环初值非给R0 B4:MOV R2,#10 ;延时循环变量 B1:LCALL DLY ;调用延时子程序 LCALL DISP ;调用显示子程序 MOVX A,DPTR JNB ACC.4,B3 ;判断系统是否停止 DJNZ R2,B1 DJNZ R0,B4 MOV A,#69H ;东西绿灯,南北红灯控制字 MOV P1,A MOV R0,31H B5:MOV R2,#10 B2:LCALL DLY LCALL DISP MOVX A,DPTR JNB ACC.4,B3

28、DJNZ R2,B2 DJNZ R0,B5 LJMP JTD B3:RET DISP:JB P3.2,A5 ;判断是否是应急状态 LCALL DISPLAY3 ;调用显示U的子程序 LJMP A4 A5:MOVX A,DPTR JB ACC.4,A3 ;判断PI.4口的状态 LCALL DISPLAY1 ;调用显示STOP的子程序 LJMP A4 A3:LCALL DISPLAY2 ;调用显示倒计时的子程序 A4:RET INIT8279:MOV DPTR,#Z8279 ;8279初始化子程序 MOV A,#LEDMOD ;置8279工作方式字 MOVX DPTR,A MOV A,#LEDFE

29、Q ;置键盘扫描速率字 MOVX DPTR,A MOV A,#LEDCLS ;置清除LED显示字 MOVX DPTR,A RET DISLED: ;合成显示位置子程序PUSH DPH ;保护现场 PUSH DPL PUSH ACC MOV A,#LEDWR0 ;置显示RAM起始地址 ADD A,R4 ;加显示位偏移量 MOV DPTR,#Z8279 MOVX DPTR,A ;设定显示位置 MOV DPTR,#LEDSEG ;置显示常数表起始位置 MOV A,R5 MOVC A,A+DPTR ;在段码表中取显示字符 MOV DPTR,#D8279 MOVX DPTR,A ;送显示字符 POP A

30、CC ;恢复现场 POP DPL POP DPH RET DISPLAY1:MOV A,#0FFH ;显示STOP的子程序 MOV P1,A MOV R5,#10H MOV R4,#7 LCALL DISLED MOV R5,#11H MOV R4,#6 LCALL DISLED MOV R5,#12H MOV R4,#5 LCALL DISLED MOV R5,#13H MOV R4,#4 LCALL DISLED MOV R5,#15H MOV R4,#3 LCALL DISLED MOV R5,#15H MOV R4,#2 LCALL DISLED MOV R5,#15H MOV R4,#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论