收藏 分销(赏)

十字路口灯火控制系统设计.doc

上传人:精*** 文档编号:3069212 上传时间:2024-06-14 格式:DOC 页数:23 大小:631KB
下载 相关 举报
十字路口灯火控制系统设计.doc_第1页
第1页 / 共23页
十字路口灯火控制系统设计.doc_第2页
第2页 / 共23页
十字路口灯火控制系统设计.doc_第3页
第3页 / 共23页
十字路口灯火控制系统设计.doc_第4页
第4页 / 共23页
十字路口灯火控制系统设计.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、微机接口技术 课程设计说明书题 目 十字路口灯火控制系统设计(VI) 机械电子工程 系 机械电子 专业 班 学号 学生姓名 指导老师 完成日期 2009年12月28日2010年1月8日 湖南工程学院机械系 湖 南 工 程 学 院 课 程 设 计 任 务 书- - 设计题目:十字路口灯火控制系统设计(VI) 姓名 * 系别 机械系 专业 机械电子工程 班级 * 学号 * 指导 教研室主任 一、 基本任务及要求 1、设计任务 (1)硬件 扩展8031、74LS373、ROM、RAM、8279(显示)、74LS138、74LS273、7407 8255(基本I/O);PC口接开关控制系统的启动/停止

2、;PO口接彩灯;扩展外部中断做应急控制 ,定时器T0(50ms)。 (2)软件 从左至右定位显示“行人通行时间 车辆通行时间 ” 控制程序。 环岛十字路口灯火控制系统(车通行绿、人通行黄); 启动/停止、开关控制程序,启动时先屏1S问候语“HELLO”,停止黑屏、熄灯; 定时器T0初始化程序,基本时间10ms;应急控制程序,应急状态时闪烁红灯。 2、要求 (1)绘制硬件接线框图;绘制系统控制流程框图。 (2)撰写设计说明书(5-8千字),并附程序清单及其功能注释。 (3)控制程序必须调试通过。 二 、进度安排及完成时间 1、设计时间 二周(从2009年12月28日至2010年1月8日) 2、进

3、度安排 星期一 三布置任务;查阅资料;讲授相关知识;做相关实验 第17周: 星期四 设计硬件电路图;编写各功能子程序。 星期五 调试各功能子程序,并记录存在的问题与解决的方法。 第18周: 星期一 二 整理资料链接所有程序,进行总体调试。 星期三 四 按格式撰写设计说明书。 星期五 上交设计作业,文本文档打印稿及电子文档,并参加答辩。 目 录1 设计任务和要求11.1 设计任务11.2 设计要求11.3系统设计工作原理12 控制软件设计2 2.1 程序流程框图22.1.1 主程序流程框图22.1.2 中断服务程序流程框图3 2.2 主程序设计及其功能4 2.3 子程序设计及其功能42.3.1

4、8279初始化子程序42.3.2 倒计时显示子程序42.3.3 问候语显示程序42.3.4 中断应急程序43 控制电路设计7 3.1 硬件设计原理7 3.1.1 时间显示电路7 3.1.2 开关控制电路7 3.1.3 交通灯电路7 3.1.4 储存器扩展电路74 调试结果及说明8 4.1 硬件调试8 4.2 软件调试8 4.3 遇到的问题及解决方案8 4.3.1 遇到的问题8 4.3.2 解决方案85 系统功能及使用说明9 5.1 系统功能9 5.2 操作说明96 心得体会107参考文献11 附录1(系统电路原理图)12 附录2(程序清单)131 设计任务及要求1.1 设计任务(1)硬件扩展8

5、031、74LS373、ROM、RAM、8279(显示)、74LS138、74LS273、7407、8255(基本I/O);PC口接开关控制系统的启动/停止;PO口接彩灯;扩展外部中断做应急控制,定时器T0(50ms)。(2)软件 从左至右定位显示“行人通行时间 车辆通行时间”控制程序;环岛十字路口灯火控制程序(车通行绿、人通行黄);启/停止开关控制程序,启动时先1S问候语“HELLO”停止黑屏、熄灯;定时器T0初始化,基本时间10ms;应急控制程序,应急状态时闪烁红灯。1.2 设计要求(1)绘制硬件接线图;绘制系统控制流程框图。(2)撰写设计说明书(5-8千字),并附程序清单机其功能注释,(

6、3)控制程序必须调试通过。1.3 系统设计工作原理 设计环岛十字路口交通灯火控制系统所用的控制信号为2个双色LED灯,可显示红、黄、绿三种状态;车通行状态为车辆通行时间40S,人禁止通行,LED显示屏显示车辆通行的倒计时,双色灯1呈绿色,双色灯2熄灭。人通行为人通行时间为20S,车辆都禁止通行,LED显示屏显示人通行时间的倒计时,双色灯1呈黄色色,双色灯2绿色。在系统启动的时候需要判断8255的PC7处的开关是否处于启动状态,来决定是继续执行下面的程序还是继续等待。在系统的整个运行过程中要实现随时停止的功能,我们则在延时程序中设计,在延时程序中判断8255的PC口是否处于停止状态,如果不是则继

7、续执行下面的程序,否则进行清屏和熄灭所有交通灯的处理。应急处理采用的是扩展外部中断来实现的,响应外部中断,并做好保护现场的措施,闪烁红灯,中断返回,恢复现场。继续执行下面的程序。 2控制软件设计2.1 程序流程框图2.1.1 主程序流程框图开始初始化8279、8255、开放中断INT0熄灭交通灯,清除LED显示屏N开关开启?Y显示1S问候语“HELLO”状态1,黄灯亮,人行走Y计时,PC.7=0?NN状态1,绿灯亮,车辆通行Y计时,PC.7=0? 图12.1.2 中断服务程序流程框图中断入口保护现场交通指示灯亮绿灯延时20S交通指示灯熄灭延时15SNP3.2=1?Y恢复现场,恢复灯状态中断返回

8、 图22.2主程序设计及功能主程序满足的功能是:人通行状态时,车辆控制灯显示黄色时,行人控制灯显示绿色,同时LED数码管显示器显示人通行的20S倒计时;车辆通行状态时,车辆控制灯显示绿色,行人控制灯熄灭,同时LED数码管显示器显示车辆通行的40S倒计时;当有紧急情况发生的时候,通过拨动中断开关K2置为低电平使道路交通灯为红灯闪烁,禁止车辆和行人通行。2.3 子程序设计及功能 子程序包括:8279初始化程序、启动停止开关控制程序、倒计时显示程序、中断应急程序、显示问候语“HELLO”程序、硬件延时程序(基本时间10ms)、中断服务程序。2.3.1 8279初始化子程序 此系统8279初始化程序的

9、作用是设置8279的工作方式、分频系数、清楚显示RAM。2.3.2倒计时显示子程序 此系统的两个倒计时程序分别为行人通行时间车辆通行时间进行倒计时,第7位和第6位显示行人通行倒计时20S;第1位和第0位显示车辆通行倒计时40S。2.3.3 问候语显示程序问候语显示程序时用来显示问候语“HELLO”。2.3.4中断应急程序 此系统采用的是外部中断INT0,在执行中断服务程序时要使交通灯闪烁红灯,在中断返回时能够恢复到原来的状态。其具体程序如下:INT0: ;INT0/中断服务程序PUSH ACC ;保护现场PUSH DPLPUSH DPHPUSH 1PUSH 2PUSH 3PUSH 4LOOP3

10、:MOV DPTR, #8000H ;指向273的端口地址MOV A, #0FDH ;赋交通灯控制字MOVXDPTR, AMOV R2, #3 ;延时0.3SLCALL DELAY3 MOV DPTR, #8000HMOV A, #0FFHMOVX DPTR, A ;熄灭交通灯MOV R2, #3 ;延时0.3SLCALL DELAY3JNB P3.2, LOOP3 ;判断是否恢复中断POP 4 ;恢复现场POP 3POP 2POP 1POP DPHPOP DPLPOP ACCMOV A, 31H ;读取交通灯的状态MOV DPTR, #8000HMOVX DPTR, A ;恢复交通灯的状态R

11、ETIDELAY3: ;延时子程序DELAY1: MOV R1, #00H ;R1=00HDELAY2: MOV R0, #0B2H ;R2=B2H DJNZ R0, $ DJNZ R1, DELAY2 ;延时100ms DJNZ R2, DELAY1 ;R2的初值由调用程序给定 RET 3 控制电路设计 3.1 硬件设计原 根据课程设计的要求,确定该控制系统的硬件设计方案,该硬件电路由时间显示电路、开关控制电路、交通灯显示电路、存储器扩展电路4个部分组成。3.1.1 时间显示电路 时间显示电路图如图(3)所示D0-D78路驱动器138SL0-SL2 8031Q1CSQ0A0GNDGIRQAL

12、E8279LED数码显示器驱动器RDRDA0-A3B0-B3WRWR 图33.1.2开关控制电路 开关控制利用8255扩展输入输出口,将PC.7作为开关控制信号端口,实现整个程序的启动和停止。3.1.3交通灯电路 交通灯电路采用74LS138和74LS273组成。3.1.4存储器扩展电路 扩展外部程序存储器ROM时。单片机与外部程序存储器ROM(27128)其接法大致与片外数据存储器的接法一样,但外部程序存储器ROM(27128)的片选信号CS直接接地。 4调试结果及说明4.1 硬件调试 在做实验之前,检查二极管无故障、导线是否可用、连续接头无互相搭连后,依次检查发光二极管是否点亮,若没点亮则

13、需要检查数码管是否完好,接线是否良好,依次检查直到电路能够正常工作。4.2 软件调试 本系统的软件采用汇编语言编写的,在试验机上进行编译只能检查出语法和逻辑错误。在编译没错误但全速运行后结果有问题时,采用跟踪型单步运行,查出错误所在,并修改。直至全速运行结果正常为止。4.3 遇到的问题及解决方案4.3.1遇到的问题: (1)编译时出现多处错误。 (2)显示问候语“HELLO”只显示不完整,只显示其中某几位。 (3)中断返回之后,倒计时时间显示不继续工作。4.3.2解决方案: (1)修改了输入符号是的输入法。 (2)在:“HELLO”显示子程序后加上延时程序。 (3)重新设计在中断服务程序中的延

14、时程序而不直接调用原来的延迟程序。5控制系统使用说明5.1 系统功能 此系统是环岛十字路口的交通灯火控制系统,此控制系统能很好的指挥行人和车辆按有规则通行。当有紧急状况发生的时候,按下应急按钮交通指示灯会闪烁红灯,这时行人和车辆都禁止通行,当紧急状况解除后,在按上应急按钮交通灯控制系统会恢复到原来的状态,然后继续指挥车辆和行人通行。5.2 操作说明 依据艾迪克单片机实验系统进行硬件接线,8255的PC.7接开关K1,单片机的P3.2接开关K5,片选信号CS/接138译码器的端口地址8400H,74LS273的输出口PO0接DG1、PO1接DR1、PO7接DG3,74LS273的片选CS/接13

15、8译码器的端口地址8000H。K1的初始状态为低电平,K5的初始状态为高电平。连接号线之后,打开艾迪克单片机试验系统,用软件把主程序传送到单片机,编译,全速运行。再按下启动停止按钮K1,开始启动系统,首先显示屏会显示1S的问候语“HELLO”。然后分别进行行人和车辆通行的倒计时,行人通行倒计时时控制车行的灯为黄色,控制人行的灯为绿色;车辆通行倒计时时控制车行的灯为绿色,控制人行的灯为熄灭状态。在运行过程中随时可以按下应急控制按钮K5进行应急中断,按下K5后,所有的显示灯都闪烁红灯,并且倒计时全部暂停,按上K5后显示灯恢复中断前的状态,倒计时继续进行。按上K1停止系统,熄灯,熄屏。 6 心得体会

16、两个星期的的课程设计,就这样结束了。通过这此的微机接口技术课程设计,使我深深的体会到了自己在知识掌握上很不全面。本次课程设计巩固、扩大和加深我们从课堂上所学的理论知识。这次课程设计虽然分了组,但每个人分配好了任务。必须独自完成自己的任务,这样不但加强了我们的动手能力,同时加强了我们解决问题的能力。在做课程设计的过程中我们遇到了很多问题,有些问题自己解决不了,就必须和同组同学进行讨论。但有些问题我们同学之间也讨论不出结果,当然就要问老师了。真的非常感谢周慧和谭季秋两位老师指导我们,要不是他们细心的教导,我们也不可能这么顺利的完成此次课程设计。这也是毕业设计的一次预演。通过课程设计,让我们找出自身

17、状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期,让我们更快了适应社会。 7 参考文献 单片机原理与接口技术. 黄菊生 .国防工业出版社。单片机原理与接口实验指导书.周慧、黄菊生.湖南工程学院机电教研室。单片机原理及应用教程.刘瑞新. 机械工业出版社。附录一:系统硬件原理图 附件2:程序清单 Z8279 EQU 0FF82H ;8279命令/状态口地址D8279 EQU0FF80H ;8279数据口地址LEDMODEQU00H ;左边输入,八位字符显示,外部译码LEDFEQEQU2FH ;扫描速率LEDCLS

18、EQU0C1H ;清楚显示RAMLEDWR0EQU80H ;设定将要写入的显示RAM地址 ORG0000H LJMP MAIN ORG0003H AJMP INT0 ORG0030HMAIN: MOVSP,#60H ;设置堆栈指针 MOVDPTR,#8000H ;指向74LS273的端口地址 MOVA,#0FFH ;赋值给累积起 MOVX DPTR, A ;熄灭所有交通灯SETBEX0 ;允许外部中断源请求中断SETBEA ;允许CPU受理中断请求CLRIT0 ;设置低电平触发INT0/中断LCALL INIT8279 ;8279初始化MOVDPTR, #8406H ;指向8255的控制口地址

19、LI: MOVA, #89H ;工作方式控制字 MOVXDPTR, A ;写控制字到控制口 MOV DPTR, #8404H ;8255PC口地址 MOVX A,DPTR ;读取8255PC口的数据 JNB ACC.7, LI ;判断PC7是否等于1 LCALL HELLO ;调用“HELLO”子程序 LCALL DELAY ;调用延时程序 LCALL INIT8279 ;8279初始化L1: LCALL HUANG ;调用人通行的子程序 LCALL INIT8279 ;8279初始化 LCALL LU ;调用车辆通行子程序 LCALL INIT8279 ;8279初始化 SJMP L1INI

20、T8279: ;8279初始子化程序 MOV DPTR, #Z8279 MOV A, #LEDMOD ;置8279工作方式字 MOVX DPTR, A MOV A, #LEDFEQ ;置键盘扫描速率 MOVX DPTR, A MOV A, #LEDCLS ;置清楚LED显示字 MOVX DPTR, A RETHUANG: ;人通行的子程序 MOV DPTR, #8000H ;指向74LS273的端口地址 MOV A, #7CH ;写交通灯的控制字 MOV 31H, A ;控制字存储在31H单元 MOVX DPTR, A LCALL DJS ;调用倒计时子程序 RETDJS: ;倒计时子程序 M

21、OV R7, #07 MOV R6, #02H MOV A, R6 LCALL DISLED1 ;显示在第7位 MOV R7, #06 MOV R5, #00H MOV A, R5 LCALL DISLED1 ;显示在第6位 LCALL DELAY ;调用延时程序 MOV R7, #07 MOV R6, #01H MOV A, R6 MOV R4, #02H LCALL DISLED1 ;显示在第7位LOOP1: MOV A, R6 MOV R7, #07 DEC R6 LCALL DISLED1 ;显示在第7位 MOV R5, #09H MOVR7, #06 MOVR3, #0AHLOOP:

22、 MOVA, R5 DECR5 LCALLDISLED1 ;显示在第6位 LCALLDELAY ;延时1S DJNZR3, LOOP DJNZR4, LOOP1 RETDISLED1: ;显示子程序 PUSHDPH;保存现场 PUSHDPL PUSHACC MOV B, A MOV A, #LEDWR0 ;置显示显示RAM起始地址 ADD A, R7 ;加显示位偏移量 MOV DPTR, #Z8279 MOVX DPTR, A ;设定显示位置 MOV DPTR, #LEDSEG ;置显示常数表起始位置 MOV A, B MOVCA, A+DPTR ;在段码表中取显示字符 MOV DPTR, #

23、D8279 MOVX DPTR, A ;送显示字符 POP ACC ;恢复现场 POP DPL POP DPH RETLU: ;车辆通行子程序 MOV DPTR, #8000H MOV A, #0FEH ;赋交通灯控制字 MOV 31H, A MOVX DPTR, A LCALL DJS1 ;调用倒计时程序 RETDJS1: ;倒计时子程序 MOV R7, #04MOV R6, #02HMOV A , R6LCALL DISLED1 ;显示在第2位MOV R7, #00HMOV R5, #00HMOV A, R5LCALL DISLED1 ;显示在第去1位LCALL DELAY ;延时1SMO

24、V R7, #01MOV R6, #03HMOV A, R6MOV R4, #04HLCALL DISLED1 ;显示在第1位LOOP10: MOV A, R6MOV R7, #01DEC R6LCALL DISLED1MOV R5, #09HMOV R7, #00MOV R3, #0AHLOOP9: MOV A, R5DEC R5LCALL DISLED1LCALL DELAYDJNZ R3, LOOP9DJNZ R4, LOOP10RETHELLO: ;显示“HELLO”子程序 MOV R5, #00HMOV R4, #4LCALL DISLED ;显示在第0位MOV R5, #01HMO

25、V R4, #3LCALL DISLED ;显示在第1位MOV R5, #02HMOV R4, #2LCALL DISLED ;显示在第2位MOV R5, #03HMOV R4, #1LCALL DISLED ;显示在第3位MOV R5, #04HMOV R4, #0LCALL DISLED ;显示在第4位LCALL DELAY ;延时1SRETDISLED: ;合成显示位置子程序 PUSH DPHPUSH DPLPUSH ACCMOV A, #LEDWR0 ;置显示显示RAM起始地ADD A, R4 ;加显示位偏移量MOV DPTR, #Z8279MOVX DPTR, A ;设定显示位置MO

26、V DPTR, #TAB ;置显示常数表起始位置MOV A, R5MOVC A, A+DPTR ;在段码表中取显示字符MOV DPTR, #D8279MOVX DPTR, A ;送显示字符POP ACC ;恢复现场POP DPLPOP DPHRETDELAY: ;延时子程序 MOV DPTR, #8404H ;指向8255的PC口MOVX A, DPTR ;读取8255的PC口状态JB ACC.7, L2 ;判断PC.7是否为1LJMP MAIN ;转移到主程序L2:MOV R2, #100MOV TMOD, #01H ;设置T0工作方式MOV TH0, #0D8H ;T0赋初值MOV TL0

27、, #0F0HSETB TR0 ;启动T0工作LOOP7:JBC TF0, NEXT ;查询TF0,为1转NEXTSJMP LOOP7 ;TF0为0,继续查询等待NEXT:MOV TH0, #0D8H ;重装初值MOV TL0, #0F0HDJNZ R2, LOOP7 ;不为0转移到LOOP7CLR TR0 ;R2为0,关闭定时器RETINT0: ;INT0/中断服务程序PUSH ACC ;保护现场PUSH DPLPUSH DPHPUSH 1PUSH 2PUSH 3PUSH 4LOOP3:MOV DPTR, #8000H ;指向273的端口地址MOV A, #0FDH ;赋交通灯控制字MOVX DPTR, AMOV R2, #3 ;延时0.3SLCALL DELAY3 MOV DPTR, #8000HMOV A, #0FFHMOVX DPTR, A ;熄灭交通灯MOV R2, #3 ;延时0.3SLCALL DELAY3JNB P3.2, LOOP3 ;判断是否恢复中断POP 4 ;恢复现场POP 3POP 2POP 1POP DPHPOP DPLPOP ACCMOV A, 31H ;读取交通灯的状态MOV DPTR, #8000HMOVX DPTR, A

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服