ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:142.10KB ,
资源ID:5738563      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5738563.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(交通信号灯控制课程设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

交通信号灯控制课程设计.docx

1、交通信号灯控制课程设计 西南科技大学 课程设计报告课程名称 微型计算机原理与接口技术 设计题目 交通信号灯控制 院 (系) 年级专业 班 级 学生姓名 学 号 指导老师 2008年01月08日目 录一 概 述 3二设计内容与要求 4 三设计思想 5 四教学实验系统连线 6 五所用芯片工作原理 6 六实验连线图 7 七程序流程图 7 八程序源代码 11 九设计心得 15 一、 概述十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯黄灯绿灯”转换间隔,并自动切换。它

2、们一般由通行与禁止时间控制、红黄绿三色信号灯和方向指示灯三部分组成。交通灯的时间控制,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。但是,实际上不同时刻的车辆流通状况是十分复杂的、高度非线性的、随机的,还经常受人为因素的影响。采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。它不会因当前道路上通行车辆数的实际情况而变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。 本次课程设计有一个十字路口,1,3为南北方向,2,4为东西方向,每个路口各有红、黄、绿三个

3、交通信号灯。用红黄绿三个彩色发光二极管模拟控制交通信号。红、黄、绿灯接通时间分别为5秒、2秒、5秒。二、设计内容与要求1、设计要求假设有一个十字路口,1,3为南北方向,2,4为东西方向,每个路口各有红、黄、绿三个交通信号灯。用红黄绿三个彩色发光二极管模拟控制交通信号。红、黄、绿灯接通时间分别为5秒、2秒、5秒。2、设计内容用8255的B端口和C端口控制12个LED发光二极管的, 发光二极管输入为“0”时点亮;为“1”时熄灭。8255应工作于模式0输出状态。(1) 十字路口红、绿灯通电方式如下表:十字路口红、绿灯通电方式绿1绿2绿3绿4黄1黄2黄3黄4红1红2红3红4(2)交通灯的时间控制时间控

4、制有两种方法:1)硬件定时;2)用软件延时,调用软件延时子程序。三、设计思想1 用实验系统8255A实现对信号灯的控制(所用端口自定);2位数码显示用8255A实现控制。2 用实验系统8235的计数器2定时向实验系统主片8259A的IRQ7请求中断,以实现要求的5秒钟、2秒钟和5秒钟的定时。实验系统8235的计数器2的CLK2接OPCLK,频率为1.19318MHZ;GATE2已接 +5V;定时采用软硬件相结合的方式实现。 用实验系统的发光二极管模拟红绿灯。 注:8259A的端口地址为:218H、219H 8255A的端口地址为:端口A-200H、端口B-201H、端口C-202H、控制端口-

5、203H8253的端口地址为:计数器0-208H、计数器1-209H、计数器2-20aH、控制寄存器 0-20bH。设计数器0的计数初值为25000,由于CLK0接脉冲信号,频率为2.5MHZ,所以每10ms中断一次。利用CX对不同的状态时间计数,用来实现计数器0对5秒钟,2秒钟,5秒钟的定时。中断子程序分为数码显示刷新部分和红绿黄灯各种状态切换部分。每进入中断即刷新LED显示。用对于东西车道和南北车道黄灯闪烁利用标志位判断实现,满足比较条件就暗,不满足条件就亮。四、教学实验系统连线五、所用芯片工作原理8253计数的起停由8255的PA0控制,8255的PA0输出1时,8253开始计数,交通灯

6、按正常状态切换工作,PA0输出0时,计数器停止工作,交通灯不再按正常状态切换。8253开始计数后每100ms发出一个中断申请信号,在中断子程序中先刷新数码管,然后判断当前状态,进入相应的处理程序进行处理。当有紧急情况时进入外部中断服务子程序,先让8253停止计数,然后点亮所有的红灯,下一次外部中断处理时,恢复原来的交通灯状况,启动8253开始工作。六、实验连线图8255接口电路七、程序流程图主程序负责系统的初始化,然后数码管数据输出显示,同时检测PC键盘按键,有按键就退出程序。主程序的流程图如图1示。系统初始化包括8253的初始化,8255的初始化,中断向量初始化以及设置交通灯工作的初始状态。

7、8253定时的时间是100ms,clk0的输入时钟f46875hz,所以计数初值为124FH。图1 主程序的流程图定时中断子程序是本设计的重点,负责完成数码管输出数据刷新和各个状态的处理切换。中断子程序包括数码管输出数据刷新程序和各状态处理程序。中断程序的流程图如图2所示。数码管输出数据刷新子程序是实现倒计时5s,用LEDOUT表示输出的数据,cnt用来软件计时1s,就是计数50个100ms。LED输出是要将输出的数据转化为段选码。LED数码管倒计时显示子程序的流程图如图3所示。根据当前的状态跳转到相应的处理程序,在处理程序中完成定时和状态的切换。状态1和3的流程是一样的,先点亮对应的交通灯,

8、再判断定时到了就可以切换了。状态2和4要实现黄灯的闪烁,间隔点亮和熄灭就可以了。状态1和3处理程序的流程图(以状态1为例)如图4所示,其中NUM是状态1对应的PC口输出,见前面的表中介绍。状态2和4处理程序(以状态1为例)的流程图如图5所示,其中NUM1和NUM2是状态1对应的PC口输出。外部中断服务子程序主要用来处理紧急情况,将2个方向的车都停止运行,点亮所有红灯。下次中断来时恢复以前的状态。用一个标志位FLAG判断是第一次进入还是恢复状态。外部中断服务子程序的流程图见图6所示。八、程序源代码本次设计中,选用8235的计数器0定时向实验系统主片8259A的IRQ0请求中断。设置8253的计数

9、器0每100ms请求一次中断,工作于模式3;8255的A端口控制交通灯;数码管驱动程序采用指导老师提供的程序。初始化程序:DATA SEGMENT LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;存放七段代码表 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HD1 EQU 10HD2 EQU 200H ;8255A端口AEA EQU 200H ;8259端口地址EE EQU 203HCONTROL EQU 20bH ;8253端口地址COUNT0 EQU 208H COUNT1 EQU 209HCOUNT2 EQU 20aHZ8279 EQU

10、 222HD8279 EQU 220HLEDMOD EQU 00 ;左边输入,八位显示外部译码八位显示LEDFEQ EQU 38H ;扫描频率DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATACODE SEGMENT ASSUME CS:CODECONT DB 0CONT1 DB 0CONT2 DB 0BKSD DB 0BKAD DB 0BKDA DB 0TEMP DB 0*START: MOV AX,0MOV DS,AXMOV AX,OFFSET IRQ0ADD AX,2000HMOV SI,0FH*4MOV SI,AXMOV AX,0MOV SI+2,

11、AXIN AL,218HAND AL,7FHOUT 219H,ALCLIMOV AL,80H ;初始化8255OUT EE,ALMOV AL,00OUT EA,ALMOV AL,0f0HOUT EA,ALMOV DX,218H ;8259初始化MOV AL,00010010bOUT DX,ALMOV AL,08HMOV DX,219HOUT DX,ALMOV DX,203H ;设置为全输出MOV AL,80HOUT DX,ALMOV DX,200HMOV AL,0ffhOUT DX,AL ;清LEDMOV DX,200H ;全红MOV AL,0F0HOUT DX,ALMOV AL,000000

12、10b ;初始化 8253OUT CONTROL,ALMOV AX,2500MOV DX,COUNT0 OUT DX,ALMOV AL,AHOUT COUNT0 ,ALMOV AX,DATAMOV DS,AX中断服务程序:A1: STI HLT JMP A1IRQ0: JMP COMPARECOMPARE:CMP DL,0 JZ STATE0 CMP DL,1 JZ STATE1 CMP DL,2 JZ STATE2 CMP DL,3 JZ STATE3STATE0: ;状态0:东西红南北绿 mov al,00000101b out D2,al DEC SI JNZ CHANGE1 DEC D

13、H MOV SI,100CHANGE1:DEC CX CMP CX,0 JNZ M0 MOV CX,500STATE1: DEC DI ;状态1:东西方向黄灯闪烁,南北绿灯 CMP DI,0 JNZ SHINE1 MOV AL, 00000101b ;东西灭,南北绿 OUT D2,AL MOV DI,50 JMP CHANGESHINE1: MOV AL,00000010B ;东西黄,南北绿 OUT D2,ALCHANGE: DEC SI JNZ CHANGE2 DEC DI MOV SI,100CHANGE2:DEC CX CMP CX,0 JNZ M1 MOV CX,2000 MOV DH

14、,25STATE2: MOV AL,00000101b ;状态2:东西绿灯,南北红灯 OUT D2,AL DEC SI JNZ CHANGE3 DEC DH MOV SI,100CHANGE3:DEC CX CMP CX,0 JNZ M2 MOV CX,500STATE3: DEC DI ;状态3:东西绿灯,南北黄灯闪烁 CMP DI,0 JNZ SHINE2 MOV AL,000000101B ;东西绿灯,南北灭 OUT D2,AL MOV DI,50 JMP SOURCESHINE2: MOV AL, 00000010B ;东西绿,南北黄 OUT D2,ALSOURCE: DEC SI J

15、NZ CHANGE4 DEC DH MOV SI,100CHANGE4:DEC CX CMP CX,0 JNZ M3 MOV CX,6000 MOV DH,65M0: MOV DL,0 ;下次进入状态0 JMP EXITM1: MOV DL,1 ;下次进入状态1 JMP EXITM2: MOV DL,2 ;下次进入状态2 JMP EXITM3: MOV DL,3 ;下次进入状态3EXIT: MOV AL,20H OUT 218H,AL IRETCODE ENDSEND START九、设计心得在本次设计中,使用了8259A中断控制器、8253计数器、8255可编程并行接口实现了,对南北、东西方向

16、交通的分别计时、分别控制。在设计中掌握的计算机接口设计的基本方法、锻炼了团队合作的能力。 本次设计中,对MCS-51单片机又有了更深的认识。MCS-51单片机内部有两个可编程定时器/计数器T0和T1,每个定时器/计数器有四种工作方式:方式0方式3。方式0是13位的定时器/计数器,方式1是16位的定时器/计数器,方式2是初值重载的8位定时器/计数器,方式3只适用于T0,将T0分为两个独立的定时器/计数器,同时T1可以作为串行接口波特率发生器。不同位数的定时器/计数器其最大计数值也不同。 对于定时器/计数器的编程包括设置方式寄存器、初值及控制寄存器(可位寻址)。初值由定时时间及定时器/计数器的位数

17、决定。本次设计通过用以上四种工作方式设计100ms定时实例来对红绿灯的转换定时,不但要对硬件的控制,同时也运用了秒表的控制原理。 中断是指当机器正在执行程序的过程中,一旦遇到某些异常情况或特殊请求时,暂停正在执行的程序,转入必要的处理(中断服务子程序),处理完毕后,再返回到原来被停止程序的间断处(断点)继续执行。中断请求的优先级由用户编程和内部优先级共同确定,中断编程包括中断入口地址设置、中断源优先级设置、中断开放或关闭、中断服务子程序等。 通过这次的设计,本人对汇编语言和在大一的时候学习的逻辑语言和逻辑系统得到了很好的实践,并对微机原理与接口技术的理解有了更深的认识,我相信自己会把这些理论知识很好的运用的生活中去的。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1