资源预览内容
第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
第9页 / 共21页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
贵州师范学院电子课程设计报告书班级 11级 1班 学生姓名 王旭东 学号 11030540094 专业 电子信息科学与技术 院系 物电学院 2014年6 月20 日北京理工大学珠海学院计算机学院课程设计摘 要随着城市人口的快速增长和机动车数量的大量增加,城市交通灯作为缓解交通压力、提高道路通行效率的重要手段,其作用越来越重要。因此,如何改进交通灯的设计,使其更好的适应城市交通的发展也成为一个重要课题。红绿灯控制系统是利用8253A定时/计数器芯片的定时功能,向8259A中断控制器芯片发出定时中断请求,驱动8255A可编程并行接口芯片改变路口的LED灯的亮灭。系统采用DVCC-598JH+微机原理与接口技术实验箱作为测试与运行的平台,8086汇编语言作为编程语言,并用MASM5.0作为汇编语言开发环境。关键词:红绿灯控制系统 8253A定时器 8259A中断控制器 8255A可编程并行接口 DVCC-598JH+目 录摘 要 2011.十字路口基本情况分析 2012.交通灯状态转换分析 43.紧急通行情况分析 54.硬件功能分析 64.1 8253A定时/计数器芯片 64.2 8259A中断控制器芯片 74.3 8255A可编程并行接口芯片 95.系统设计 105.1硬件设计 105.1.1 电路分析 105.1.2 电路连接设计 105.2软件设计 125.2.1 程序总体设计 125.2.2 程序流程设计 135.2.3 重要代码分析 156.系统实现 196.1 软件开发与运行环境 106.2 系统硬件环境 206.3 系统运行步骤 206.4 系统测试结果 20参考文献 21心得体会 22II北京理工大学珠海学院计算机学院课程设计1 十字路口基本情况分析设有一个十字路口,1、3为东西方向,2、4为南北方向,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车; 延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3 路口红灯亮, 而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复上述过程。2 交通灯状态转换分析合理的设置每个路口、每个方向的交通灯的通行时间,对车辆能否及时疏散,有着决定性的作用。状态1 的时候:1、3路口的绿灯熄灭,1、3路口的黄灯开始亮,当通行时间剩下5秒结束时,LED会闪烁,而同时2、4路口的红灯亮状态2的时候:1、3 路口红灯亮, 而同时2、4路口的绿灯亮,2、4路口方向通车;状态3的时候:1、3 路口红灯亮, 而同时2、4路口的黄灯亮;状态4 的时候:1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。整个状态转换的过程见表2-1。表2-1 路口四个状态和相互转换过程状态每个路口灯的点亮情况通行时间路口1路口2路口3路口4状态1(ZT1)黄 红 黄 红5s状态2(ZT2)红 绿 红 绿15s状态3(ZT3) 红 黄 红 黄5s状态4(ZT4)绿红绿红15s完成四个状态的一次循环需要40秒, 红灯亮20秒 、绿灯亮15秒 、黄灯亮5秒完成了在适当的时间限度内,有效的疏散较大的通行量的目的。3 紧急通行情况分析手动拨动单脉冲一次,则产生一个优先级高一级的中断,程序转而执行此中断处理程序,处理完后返回继续执行低级中断。整个执行过程见图3-1循环值入栈红灯全亮继续处理未完成的低级中断循环值出栈结束中断服务程序继续执行主程序是否中断主程序图3-1 紧急中断程序4 硬件功能分析4.1 8253A定时/计数器芯片8253A定时/计数器具有定时、计数双功能。它具有三个相同且相互独立的16位减法计数器,分别称为计数器0、计数器1和计数器2。每个计数器计数频率为02MHZ。其内部数据总线缓冲器为双向三态,故可直接连在系统数据总线上,通过CPU写入计数初值,也可由CPU读出计数当前值。读写控制逻辑,当选中该芯片时,根据读写命令和送来的地址信息控制整个芯片工作。其工作方式通过控制字确定。控制字寄存器用于接收数据总线缓冲器的信息。当写入控制字时,控制计数器的工作方式;当写入数据时则装入计数初值。控制寄存器为8位,只能写入不能读出。8253A内部结构见图4-1。当8253A执行计数功能时,计数器装入初值后,当GATE为高电平时,可用外部事件作为CLK脉冲对计数值进行减1计数。每来一个脉冲减1,当计数值减为0时,由OUT端输出一个标志信号。当8253A执行定时功能时,计数器装入初值后,当GATE为高电平时,由CLK脉冲触发开始自动计数。当计数到零时,发计数结束定时信号。8253A可以工作在方式0到方式5,常用的有方式2频率发生器方式和方式3方波发生器方式。在方式2时,当初值装入后,OUT变为高;计数结束,OUT变为低。该方式下如果计数未结束,但GATE为低时,立即停止计数,将OUT变为高;当GATE再变高时,便启动一次新的计数周期。在方式3时,当装入初值后,在GATE上升沿启动计数,OUT输出高电平;当计数完成一半时,OUT输出低电平。在本系统中,8253A工作于方式3方波发生器方式。计数器0CLK0GATE0OUT0计数器1CLK1GATE1OUT1计数器2CLK2GATE2OUT2数据总线缓冲器读/写逻辑控制字寄存器D0-D7-RD-WRA0A1-CS图 4-1 8253A内部结构图4.2 8259A中断控制器芯片8259A是专为控制优先级中断而设计的芯片。它将中断源按优先级排队、辨认中断源和提供中断向量的电路集成于一体,只要用软件对它进行编程,就可以管理8级中断。8259A的内部结构见图4-2。它由中断请求寄存器(IRR)、优先级分析器、中断服务寄存器(ISR)、中断屏蔽寄存器(IMR)、数据总线缓冲器、读写控制电路、级联缓冲器和比较器组成。控制逻辑服务寄存器优先级分析器中断请求寄存器中断屏蔽寄存器IMR内部总线IR0IR1IR2IR3IR4IR5IR6IR7数据总线控制器读写电路级联缓冲器/比较器CAS0CAS1CAS2D0-D7-RD-WRA0-CSSP/-ENINT-INTA图 4-2 8259A的内部结构对8259A编程和初始化的时候,首先要写初始化命令字ICW1-ICW4。写ICW1以确定中断请求信号类型,清除中断屏蔽寄存器,进行中断优先级排队和确定系统是用单片还是多片。写ICW2用来定义中断向量的高五位类型码。ICW3可以定义主片8259A中断请求线上IR0-IR7有无级联的8259A从片。写ICW4用来定义8259A工作时用8085模式还是8088模式,以及中断服务寄存器复位方式等。初始化命令字写完以后,要写8259A的控制命令字,它包括OCW1-OCW3。写OCW1可以设置或清除对中断源的屏蔽。写OCW2设置优先级是否进行循环、循环的方式和中断结束的方式。8259A复位时自动设置IR0优先权最高,IR7优先权最低。写OCW3用来设置查询方式和特殊屏蔽方式,并可以读取8259A中断寄存器的当前状态。在本系统中,使用8259A的循环等待中断工作方式。4.3 8255A可编程并行接口芯片8255A是一种可编程的芯片,它采用双列直插封装,用5V电源供电。内部有3个8位的I/0端口:A口、B口和C口。这三个端口也可以分为各有12位的两组:A组和B组。A组包含A口8位和C口的高四位,B组包含B口8位和C口的低四位;A组控制和B组控制用于实现方式选择操作;读写控制逻辑用于控制芯片内部寄存器的数据和控制字经数据总线缓冲器送入各组接口寄存器中。由于8255A数据总线缓冲器是双向三态8位驱动器,因此可以直接和8088系统数据总线相连。8255A的内部逻辑结构见图4-3。A组端口A组端口C高4位A组端口C低4位B组端口A组控制B组控制数据总线缓冲器读写控制逻辑双向数据总线D0-D7I/0PA7-PA0I/0PC7-PC0I/0PC0-PC20I/0PB7-PB0-CSCPU接口内部逻辑外设接口-RD-WRA1 A0RESET图4-3 8255A的内部结构8255A有三种工作方式:方式0、方式1和方式2。它通过对控制寄存器写入不同的方式选择控制字来决定其三种不同的工作方式。方式0是基本输入输出方式。该方式下的A口8位和B口8位可以由输入的控制字决定为输入或输出,C口分成高4位(PC4-PC7)和低4位(PC0-PC3)两组,也有控制字决定其输入或输出。需要注意的是,该方式下,只能将C口其中一组的四位全部置为输入或输出。方式1选通输入输出方式,又叫单向输入输出方式。它分为A、B两组,A组由数据口A和控制口C的高4位组成,B组由数据口B和控制口C的低4位组成。数据口的输入输出都是锁存的,与方式0不同,由控制字来决定它是作为输入还是输出。C口的相应位用于寄存数据传送中所需的状态信号和控制信息。方式2为双向输入输出方式。本方式只有A组可以使用。此时A口为输入输出双向口,C口中的5位(PC3-PC7)作为A口的控制位。在本系统中,8255A的三个端口均工作于方式0,全部为输出口。5 系统设计5.1硬件设计5.1.1 电路分析本系统要实现的功能是模拟十字路口红绿灯的工作状况。按照预先设定并优化的交通灯规则,控制LED指示灯的亮灭,同时在实验箱的数码管显示屏上显示剩余的时间。当时间递减到0的时候,改变LED灯的状态,并刷新显示屏显示的时间。为了实现以上功能需求,本系统需要12个LED指示灯,来分别代表1、3方向(东西),2、4方向(南北);两个双位的数码管显示屏,用来显示1、3路口和2、4路口剩余的时间。为了实时地更新数码管显示屏上的数字,需要使用8255A可编程芯片来即时地改变显示屏每个笔划的电平高低,从而准确地将需要显示的数字显示在数码管显示屏上。由于交通灯需要按秒进行计数,所以需要一个均匀地时钟发生器。8253A芯片是个功能丰富、使用简单的定时/计数器。它可以根据需要设置不同的显示初值,从而产生所需频率的时钟脉冲,为系统提供计时和驱动其他事件的发生。8259A中断控制器芯片可以在收到8253A发出的时钟脉冲时,产生定时的
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号