ImageVerifierCode 换一换
格式:DOC , 页数:21 ,大小:206.01KB ,
资源ID:4292822      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(模拟交通灯控制系统的设计.doc)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

模拟交通灯控制系统的设计.doc

1、贵州师范学院电子课程设计报告书班级 11级 1班 学生姓名 王旭东 学号 11030540094 专业 电子信息科学与技术 院系 物电学院 2014年6 月20 日北京理工大学珠海学院计算机学院课程设计摘 要随着城市人口的快速增长和机动车数量的大量增加,城市交通灯作为缓解交通压力、提高道路通行效率的重要手段,其作用越来越重要。因此,如何改进交通灯的设计,使其更好的适应城市交通的发展也成为一个重要课题。红绿灯控制系统是利用8253A定时/计数器芯片的定时功能,向8259A中断控制器芯片发出定时中断请求,驱动8255A可编程并行接口芯片改变路口的LED灯的亮灭。系统采用DVCC-598JH+微机原

2、理与接口技术实验箱作为测试与运行的平台,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 程序总体设计 1

3、25.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 路口的绿灯熄灭,而黄灯开始

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 路口四个状态和相互转换过程状态每个路口灯的

5、点亮情况通行时间路口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

6、 8253A定时/计数器芯片8253A定时/计数器具有定时、计数双功能。它具有三个相同且相互独立的16位减法计数器,分别称为计数器0、计数器1和计数器2。每个计数器计数频率为02MHZ。其内部数据总线缓冲器为双向三态,故可直接连在系统数据总线上,通过CPU写入计数初值,也可由CPU读出计数当前值。读写控制逻辑,当选中该芯片时,根据读写命令和送来的地址信息控制整个芯片工作。其工作方式通过控制字确定。控制字寄存器用于接收数据总线缓冲器的信息。当写入控制字时,控制计数器的工作方式;当写入数据时则装入计数初值。控制寄存器为8位,只能写入不能读出。8253A内部结构见图4-1。当8253A执行计数功能时

7、,计数器装入初值后,当GATE为高电平时,可用外部事件作为CLK脉冲对计数值进行减1计数。每来一个脉冲减1,当计数值减为0时,由OUT端输出一个标志信号。当8253A执行定时功能时,计数器装入初值后,当GATE为高电平时,由CLK脉冲触发开始自动计数。当计数到零时,发计数结束定时信号。8253A可以工作在方式0到方式5,常用的有方式2频率发生器方式和方式3方波发生器方式。在方式2时,当初值装入后,OUT变为高;计数结束,OUT变为低。该方式下如果计数未结束,但GATE为低时,立即停止计数,将OUT变为高;当GATE再变高时,便启动一次新的计数周期。在方式3时,当装入初值后,在GATE上升沿启动

8、计数,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

9、)、中断屏蔽寄存器(IMR)、数据总线缓冲器、读写控制电路、级联缓冲器和比较器组成。控制逻辑服务寄存器优先级分析器中断请求寄存器中断屏蔽寄存器IMR内部总线IR0IR1IR2IR3IR4IR5IR6IR7数据总线控制器读写电路级联缓冲器/比较器CAS0CAS1CAS2D0-D7-RD-WRA0-CSSP/-ENINT-INTA图 4-2 8259A的内部结构对8259A编程和初始化的时候,首先要写初始化命令字ICW1-ICW4。写ICW1以确定中断请求信号类型,清除中断屏蔽寄存器,进行中断优先级排队和确定系统是用单片还是多片。写ICW2用来定义中断向量的高五位类型码。ICW3可以定义主片825

10、9A中断请求线上IR0-IR7有无级联的8259A从片。写ICW4用来定义8259A工作时用8085模式还是8088模式,以及中断服务寄存器复位方式等。初始化命令字写完以后,要写8259A的控制命令字,它包括OCW1-OCW3。写OCW1可以设置或清除对中断源的屏蔽。写OCW2设置优先级是否进行循环、循环的方式和中断结束的方式。8259A复位时自动设置IR0优先权最高,IR7优先权最低。写OCW3用来设置查询方式和特殊屏蔽方式,并可以读取8259A中断寄存器的当前状态。在本系统中,使用8259A的循环等待中断工作方式。4.3 8255A可编程并行接口芯片8255A是一种可编程的芯片,它采用双列

11、直插封装,用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/0PC

12、0-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

13、组由数据口B和控制口C的低4位组成。数据口的输入输出都是锁存的,与方式0不同,由控制字来决定它是作为输入还是输出。C口的相应位用于寄存数据传送中所需的状态信号和控制信息。方式2为双向输入输出方式。本方式只有A组可以使用。此时A口为输入输出双向口,C口中的5位(PC3-PC7)作为A口的控制位。在本系统中,8255A的三个端口均工作于方式0,全部为输出口。5 系统设计5.1硬件设计5.1.1 电路分析本系统要实现的功能是模拟十字路口红绿灯的工作状况。按照预先设定并优化的交通灯规则,控制LED指示灯的亮灭,同时在实验箱的数码管显示屏上显示剩余的时间。当时间递减到0的时候,改变LED灯的状态,并刷新

14、显示屏显示的时间。为了实现以上功能需求,本系统需要12个LED指示灯,来分别代表1、3方向(东西),2、4方向(南北);两个双位的数码管显示屏,用来显示1、3路口和2、4路口剩余的时间。为了实时地更新数码管显示屏上的数字,需要使用8255A可编程芯片来即时地改变显示屏每个笔划的电平高低,从而准确地将需要显示的数字显示在数码管显示屏上。由于交通灯需要按秒进行计数,所以需要一个均匀地时钟发生器。8253A芯片是个功能丰富、使用简单的定时/计数器。它可以根据需要设置不同的显示初值,从而产生所需频率的时钟脉冲,为系统提供计时和驱动其他事件的发生。8259A中断控制器芯片可以在收到8253A发出的时钟脉

15、冲时,产生定时的中断,在中断服务程序中,更新显示缓冲区,并调用8255A芯片来执行相关程序,从而更新LED灯和数码管显示屏。本系统使用集成的电路和实验环境,以方便进行电路的连接和测试,同时减少由于电路的复杂性而产生的错误。5.1.2 电路连接设计本系统所使用到的硬件包括8253A芯片、8259A芯片、8255A芯片、LED指示灯和数码管显示屏。在电路连接的时候,将8255A芯片的PC口的PC5、PC4接红灯灯,PC3、PC2接绿灯,PC1、PC0接黄灯。通过改变8255A的PC口的值来实时地控制每个LED灯的亮灭,从而改变十字路口的交通状态。将8253A的CLK0插孔连接至1MHZ的分频输出插

16、孔T4。分频输出插孔所输出的频率是将系统的主频分解为一定的频率,以供其他硬件或者软件使用。8253A从分频插孔得到1MHZ的固定频率,再根据芯片内部设定的计数初值,从而产生需要频率的时钟脉冲,由OUT0口输出,供其他芯片使用。在这里OUT0接CLK2。将8253A的OUT2插孔连接至8259A的IRQ3插孔上。8259A的IRQ3中断口每隔固定的时间便会收到8253A发送过来的时钟脉冲,作为中断源来执行中断服务程序。在中断服务程序中,完成更新数码管显示值和改变交通灯状态的功能。硬件的连接见图5-1和图5-2。D0 T0OUTD1 GATE0D2 T0CLKD3 GATE2D4 T2OUTD5

17、T2CLKD6D7 8253A OUT1 CS RD WRGATE2 A0CLK1 A1D0D1D2D3D4D5D6D7VCCTCLK1T0OUTVCCT0CLKCKVCCUB318253TOUT1CS3IORIOWADD0ADD11MHZIR0 D0IR1 D1IR2 D2IR3 D3IR4 D4IR5 8259A D5IR6 D6IR7 D7 A0SP/EN WR RDCS INT INTAADD0IOWIORINTRINTACSVCC图 5-1 系统电路图8253A和8259A的连接图RD PB0 PB1WR PB2A0 PB3A1 PB4RESET PB5CS PB6 PB78255A

18、 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7VCCY7L3(控制绿灯)L6L9L12L1(控制红灯)L4L7L10L2(控制黄灯)L5L8L11CS_8255图 5-2 系统电路图8255A和LED灯的连接图5.2软件设计5.2.1 程序总体设计本系统采用“自上而下总体规划、自下而上应用开发”的策略进行总体设计和开发。先根据其功能需要,设定需要的功能模块,确定需要编写的子程序,从而使程序结构清晰,便于阅读和调试,加快了系统完成的速度。结构化的程序设计方法很适合用来开发汇编语言程序,因为汇编语言的特性决定了其无法使用面向对象的程序开发方法;使用瀑布程序开发模型,从开始的时候把

19、系统的需求分析透彻,对系统的功能和各个模块进行清晰的规划,从而缩短系统开发所用的时间。为了完成系统的功能,系统的程序部分应包含以下几个模块(见图5-3)。初始化模块用来初始化各个芯片,分为以下几个步骤:(1)初始化数据:T_1为1、3方向(东西)时间显示(如 5秒);T_2为2、4方向(南北)的时间显示。初值可同设为5秒。(2)初始化8255A的工作方式:使A、B、C三个端口均工作于方式0,且为输出口;DVCC实验台8255口地址:FF28HFF2BH(3)初始化8253A芯片:选用方波发生器方式,并设定其使用通道0和2进行工作;DVCC实验台8253口地址:00400043H(4)初始化82

20、59A:设定其工作方式为单片、边沿触发、要写ICW4、循环等待中断方式。DVCC实验台8259口地址:00600061H设置中断向量表 写2号、3号中断向量:INTREEUP2、INTREEUP3。中断处理模块:(1)INTREEUP3是主要的中断服务程序, 8253A每发来一次时钟脉冲便产生一次中断,两个路口所亮的灯对应的显示数值减一。并输出完成显示数值的更新使时间缓冲区中的时间减1,所以数码管显示屏上的数字才能够不断的减少。然后判断其数值是否减到0,若0,则进行LED灯状态的切换(2)其中INTREEUP2是增加行人手动按钮。实现可手动干预的(交通事故、步行可及时通行的)交通灯自动控制系统

21、有手动干预(按钮按下)时,交通灯立即处于该状态:两个方向均红灯亮(以便让行人及时通过)。10秒后,交通恢复到人工干预前状态,继续按正常状态循环切换。显示模块(DISP)使用8255A将显示缓冲区的字符逐位显示在数码管显示屏上,在中断请求没有到来的时候,根据交通灯所处的状态,点亮相应的LED灯;有中断请求时,调用相应的中断服务程序。初始化模块显示模块DISP中断处理程序INTREEUP3交通灯控制系统应急中断处理程序INTREEUP2图 5-3 系统模块图5.2.2 程序流程设计程序运行的流程图见图5-4,中断应急流程图见5-5。开始运行的时候,初始化程序,给初始显示区和电平错误显示区赋初值,显

22、示相应的字符;定义数值对应的显示字符,便于转换程序取到时间数值对应的字符。接着对8253A、8255A和8259A进行初始化。定义8253A使用通道0和2,工作于方式3,其计数初值为3C50,每隔20ms向8259A发出一个时钟脉冲;8255A的A、B、C三个端口均工作于输出方式;8259A工作于循环等待中断方式。进入显示程序(DISP)使用8255A将显示缓冲区的字符逐位显示在数码管显示屏上,在中断请求没有到来的时候,根据交通灯所处的状态,点亮相应的LED灯。当有中断的时候,则转到相应的中断服务程序,本系统主要为INTREEUP3程序。8253A每发来一次时钟脉冲便产生一次中断。INTREE

23、UP3程序首先关闭中断,两个路口所亮的灯对应的显示数值减一。并输出以完成显示数值的更新使时间缓冲区中的时间减1,所以数码管显示屏上的数字才能够不断的减少。然后判断其数值是否减到0,若0,则进行LED灯状态的切换。最后打开中断,并中断返回。开始初始化设置中断控制器工作方式中断允许状态循环切换,显示数字中断入口保护现场四个方向的红灯亮30秒输出中断结束命令中断返回恢复现场图5-4 主程序框图 图5-5 中断程序框图5.2.3 重要代码分析(1)中断服务程序INTREEUP3是本系统的程序最核心的子程序。它用来计算收到8353A发来的中断,8253A每发来一次时钟脉冲便产生一次中断,两个路口所亮的灯

24、对应的显示数值减一。并输出完成显示数值的更新使时间缓冲区中的时间减1,所以数码管显示屏上的数字才能够不断的减少。然后判断其数值是否减到0,若0,则进行LED灯状态的切换,以下是该程序的代码分析,并注有详细的功能说明。中断服务程序INTREEUP3: CLI ;处理中断时先关中断 push ax ;保存堆栈 push bx push dx STI ;保存现场后开中断以可以实现中断嵌套 ; 1、3方向(东西) DEC T_1 ;对当前数值减一 MOV AL,T_1 CMP AL,00H ;判断当前数值是否减到0 JE CHANGE1 ;若 当前数值为0则跳到CHANGE1 切换状态 JMP RIG

25、HT ;若 当前数值不为0则跳到2、4方向(南北) CHANGE1: MOV AL,C ;读入并口状态 TEST AL,02H ;测试当前并口状态 JNZ RED1 TEST AL,08H JNZ YELLOW1 TEST AL,20H JNZ GREEN1 RED1: MOV DX,IOC ; 1、3方向(东西)亮红灯 OR AL,20H AND AL,35H OUT DX,AL MOV C,AL ;保存c口状态 MOV T_1,14H ; 对新状态赋显示初值 JMP RIGHT YELLOW1:MOV DX,IOC 1、3方向(东西)亮黄灯 OR AL,02H AND AL,17H OUT

26、 DX,AL MOV C,AL ;保存c口状态 MOV T_1,05H ; 对新状态赋显示初值 JMP RIGHT GREEN1:MOV DX,IOC ; 1、3方向(东西)绿灯 OR AL,08H AND AL,1DH OUT DX,AL MOV C,AL ;保存c口状态 MOV T_1,0fH ; 对新状态赋显示初值 ;右边 RIGHT: DEC T_2 MOV AL,T_2 CMP AL,00H JE CHANGE2 JMP OUTPUT CHANGE2: MOV AL,C ;读入c口状态 TEST AL,01H JNZ RED2 TEST AL,04H JNZ YELLOW2 CMP

27、AL,18H ;应急状态返回时2、4方向从新跳到红灯JZ RED2 ; (同时,1、3方向为绿灯) TEST AL,10H JNZ GREEN2 RED2:MOV DX,IOC OR AL,10H AND AL,3AH OUT DX,AL MOV C,AL ;保存c口状态 MOV T_2,14H JMP OUTPUT YELLOW2: MOV DX,IOC OR AL,01H AND AL,2BH OUT DX,AL MOV C,AL ;保存c口状态 MOV T_2,05H JMP OUTPUT GREEN2: MOV DX,IOC OR AL,04H AND AL,2EH OUT DX,AL

28、 MOV C,AL ;保存c口状态 MOV T_2,0fH ;输出数字 OUTPUT: MOV AL,T_1 MOV AH,T_1 AND AL,01H MOV CL,4 SHR AH,CL MOV AL,T_2 MOV AH,T_2 AND AL,01H MOV CL,4 SHR AH,CL ;计数器从新赋初值 MOV AL,36H OUT 43H,AL MOV AL,50H OUT 40H,AL MOV AL,11000011B OUT 40H,AL MOV AL,10110110B ;计数器2 OUT 43H,AL MOV AL,02H OUT 42H,AL MOV AL,00H OUT

29、 42H,AL ;= ;= MOV AL,T_1 CMP AL,03H JA RIGHTTEST JMP YLEDSTARIGHTTEST: MOV AL,T_2 CMP AL,03H JA RETBCAKYLEDSTA: MOV AL,C AND AL,03H JNZ YLEDFLASH JMP RETBCAK ;= 时间小于等于3时 LED灯 闪烁 =YLEDFLASH: PUSH CX ; PUSH DX MOV CX,0AH ; 闪烁3次 MOV AL,C ;读入c口状态 AND AL,11111100B ; 灯灭 MOV DX,IOC OUT DX,AL CALL DELAY ;短延

30、时 MOV AL,C ;灯亮 OUT DX,AL CALL DELAY ;短延时 ; LOOP YLEDFLASH ;循环 ; POP DX POP CX JMP RETBCAK ;=;短延时 DELAY: CALL DELAY2 RETDELAY2: PUSH CXMOV CX,6A45H ;DELA1:LOOP DELA1POP CXRET ;= ;= RETBCAK: MOV AL,20H ;写ocw2然后返回 MOV DX,0060h OUT DX,AL CLI pop dx pop bx pop ax STI IRET;=中断返回 =6 系统实现6.1 软件开发与运行环境本系统的代码

31、使用8086汇编语言编写,所以代码编写环境可以使用任何文本编辑器。如系统自带的记事本、DOS下的编辑工具EDIT和文本编辑工具UltraEdit等。本系统使用了DVCC-598JH+实验箱附带的DV88联机软件。它可以读取其他编辑软件生成的MASM格式的汇编语言文件(*.ASM),也可以作为汇编代码的编辑、测试、运行环境。在显示代码的时候,可以把常用的汇编指令显示为蓝色,数值显示为红色,注释显示为绿色,从而使论文清晰易读,并容易发现代码中的错误。DV88联机软件同样可以作为系统的运行环境。系统运行的时候需要将ASM源程序编译产生的OBJ文件传送到实验箱,由实验箱上的处理器和各个芯片负责执行。6

32、.2 系统硬件环境交通灯控制系统采用的DVCC-598JH+通用微机原理及接口实验系统,集成了8253A计数/定时器芯片、8255A可编程并行接口芯片和8259A中断控制器芯片,并把大部分的引脚进行了封装,方便直接进行使用;并设有12个LED显示灯;系统分频器可以产生特定频率的时钟脉冲;固定的导线接口,方便使用导线把各芯片进行连接;并设有键盘,可以随时控制程序的运行,方便进行调试。实验箱使用串行口连接线与PC机的串口相连,然后使用DV88联机软件与实验箱进行连接并传送运行的程序。6.3 系统运行步骤系统的代码编写完毕的时候,便可以进行程序的联机调试了。将实验箱的电源线连接好,使用串口通信线将实

33、验箱上的串口与PC机上的串口相连。将各个芯片和LED灯按照硬件连接设计图上的图示进行连接。打开实验箱的电源,数码管显示屏上显示“P.”,提示实验箱初始化成功。在PC机上打开DV88联机软件,调用编辑好的程序代码。首先进行编译,系统会自动调用MASM程序对代码进行编译。若没有提示错误,便可以点击连接按钮,调用LINK程序把编译生成的OBJ文件进行连接,生成EXE文件。再点进调试按钮,把生成的可执行文件传送到实验箱,进行调试状态,此时屏幕会显示实验箱各个寄存器的值。最后点击连续运行按钮,实验箱上的数码显示管和LED灯便会按照设计的要求进行工作。在运行的过程中可以随时按实验箱上的RESET键,中断程

34、序的执行,以便进行代码的修改或者结束系统的运行。6.4 系统测试结果按照表2-1中交通灯四个状态所对应的秒数,在程序中为各个状态子程序设定相应的时间初值。测试运行的结果如下:开始运行时,系统在状态一下工作,两个显示屏显示剩余时间为5秒,并不断递减,同时LED灯的2、4路口的红灯点亮,1、3路口的黄灯点亮;当状态一的剩余时间减至零的时候,系统自动切换到状态二,2、4路口显示屏显示剩余时间变为15秒并递减,1、3路口显示屏显示剩余时间变为20秒并递减,同时1、3路口的红灯和2、4路口的绿灯点亮;状态二结束时,系统切换到状态三,两个显示屏的剩余时间变更为5秒,1、3路口的红灯和2、4路口的黄灯点亮;

35、状态三结束时,进入状态四,2、4路口显示屏显示剩余时间变为20秒并递减,1、3路口显示屏显示剩余时间变为15秒并递减,同时1、3路口的绿灯点亮,2、4路口的红灯点亮。状态四结束时,自动切换到状态一循环执行。参考文献1 季福坤:计算机组织与体系结构M,中国水利水电出版社2006年版2 李继灿:微型计算机系统与接口M,清华大学出版社2005年版3杨立:微型计算机系统与接口M,中国铁道出版社2009年版4DVCC系列单片机微机仿真实验系统实验指导书M,启东计算机厂有限公司5周秀清:微型计算机原理与接口技术M,中国科学技术大学出版社.6 红绿灯控制系统的设计C, 百度文库心得 体会通过这次课程设计,加

36、强了我们动手、思考和解决问题的能力.虽然花了很多的时间,但学到了很多东西.做课程设计的时候,查阅了很多课本、资料书,增强了自己对知识的理解,很多以前不是很懂的问题现在都有了更高层次的理解. 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但这毕竟第一次自己设计一个程序,难免会遇到过各种各样的问题,同时在设计的过程中发现了我们的不足之处,各自都发现自己对以前所学过的知识理解得不够深刻,掌握得不够牢固,同

37、时对知识的理解和接受能力还不是太强。这次课程设计任务终于顺利完成了,在设计中遇到了很多技术性的问题,最后在我们的钻研以及与同学之间的探讨下,终于一个一个得解决了问题,这次课程设计在培养我们编程能力的同时,也让我学会了要完成一项任务,除了需要过硬的技术和能力之外,还要有不屈不挠的精神在这次课程设计中,遇到最棘手也是最深刻的问题是不太了解所用平台的硬件资源以及其电路结构。深刻教训:使用汇编语言编写程序时,一定要好好了解所用平台的硬件资源! 这次课程设计之后,使我们明白了:做任何事情都要认真仔细,更要有不轻易放弃的勇气!不然的话,你会花更多的时间、转很多的弯路才会做好.课程设计有利于提高我们的动手能力,能把我们所学的书本知识运用到实际生活中去.同时也丰富了我们的业余生活,提高我们对知识的

移动网页_全站_页脚广告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 

客服