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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于汇编语言的一种交通灯控制电路设计概要.docx

1、基于汇编语言的一种交通灯控制电路设计概要基于汇编语言的一种交通灯控制电路设计曾正武汉大学电气工程学院,湖北武汉(430072E-mail:zengerzheng摘要:根据实际中提出的具体要求,对交通灯控制电路进行了改进。编写了相应的汇编语言程序,在DECE-S98三合一实验系统中调试通过,获得了设计课题所要求的结果。程序简单,并给出了每步程序的详细注释。对该问题的进一步工作给出了展望。关键词:交通灯;控制;DECE-S98系统;汇编语言1. 设计课题内容及要求一般情况下是正常的交通灯,特殊情况下,可人为控制,一路通行,另一路阻止。具体完成以下控制要求z一般情况下,正常的红绿灯交替状态;z第一个

2、按键控制一个方向通行绿灯,另一个方向红灯;z第二个按键控制一个方向通行绿灯,另一个方向红灯;.z第三个按键控制系统又恢复到正常的红绿灯交替状态。设计平台:DECE-S98三合一实验系统(启东计算机总厂。2. 方案与系统组成框图及工作原理说明设计题目的背景是实际中的交通灯控制,实际的交通灯布置情况如图1所示。每个路口都设置了红绿黄三个灯,当一个路口即将由绿灯转换为红灯时,中间经历一个短暂的黄灯状态。在每组灯中,可以认为控制交通灯的工作情况,以适应某些特殊要求。 图1 交通灯布置情况2.1 设计方案根据设计题目的要求,选择用8255芯片作为输入输出接口,通过程序向接口发送指令,控制LED 的亮和暗

3、。其中,输出为1(高电平时,LED 亮;输出为0(低电平时,LED 暗。为了满足题目中要求:1正常时,红绿灯交替运行;2一个方向绿灯亮,另一个方向红灯亮;3红绿灯的亮暗与2相反。假定以上各种状态都由一个开关控制,那么需要三个开关作为控制量从8255的某个接口中读入到CPU 中,决定程序执行何种状态。在设计中,8255的A 口和B 口用作输出口,控制12只LED 的开通和关闭;C 口用作输入口,将3个开关状态读入到CPU 中。2.2 系统组成框图系统组成框图如图2所示。 图2 系统组成框图根据图2所示的系统框图,在实际中采用了如图3所示的硬件电路接线图。 图3 系统硬件电路接线图2.3 工作原理

4、说明从图3所示的硬件电路接线图可以看出,设计的电路完全满足了设计题目所给出的要求,下面将一一加以说明。在阐述电路的工作原理之前,作如下规定,在程序的设计中仍然使用这些规定。规定:1当开关1K 打到高电平时(即61PC =,对应状态1:正常时(红绿灯交替运行;2当开关2K 打到高电平时(即51PC =,对应状态2:1、3方向绿灯亮,2、4方向红灯亮;3当开关3K 打到高电平时(即41PC =,对应状态3:1、3方向红灯亮,2、4方向绿灯亮。系统工作原理:当把写好汇编语言程序,编译、连接,载入DICE 系列单片机之后,在操作界面上点击运行。当所有开关都接地时,12个LED 均亮。当把开关1K 打到

5、高电平时,12个LED 分为4组(分别对应4个路口,每组由3个灯组成:分别是黄灯、绿灯、红灯,每组的3个灯依次以:黄灯、绿灯、红灯的次序亮,各灯亮的时间由程序的跳转指令控制。此即,状态1:正常时,红绿灯交替运行。当把开关2K 打到高电平时,LED 保持在某个状态,此时的开关状态为无效状态,再将1K 打到低电平,此时对应的状态为状态2:1、3方向绿灯亮,2、4方向红灯亮。当把开关3K 打到高电平时,与上面的情况类似,把其他的开关打到低电平时,对应的有效状态为状态3:1、3方向红灯亮,2、4方向绿灯亮。3. 程序功能描述及程序流程编写的汇编语言程序简单,运行稳定可靠。图4给出了程序的流程图。下面将

6、对程序的功能作详细介绍1,2。 图4 程序流程图程序的段起始地址设定为12E0H ,是出于该系列单片机的内部要求。进入主程序后,首先定义常量:8255A 的A 口、B 口、C 口和控制口地址分别为IOAPT 、IOBPT 、IOCPT 、IOCONPT 。然后对8255进行初始化,A 口工作在方式0作输出使用。B 口也工作在方式0作输出使用。C 口工作在方式0,作输入使用。初始化完成后,对C口的状态进行检测,并对检测的结果进行与操作,将无效的C口K打屏蔽掉,根据开关的状态,决定程序的跳转方向和具体的子程序执行。例如,当开关1到高电平时,对应的C口编码为40H,于是,跳转到状态1的子程序去执行。

7、执行完子程序后,再跳回去读8255C口状态,若此时的开关状态没有改变,那么程序继续到状态1的子程序去执行;若此时的开关状态该变,则按照新的开关状态去执行相应的子程序。4. 电路的连接及调试方法、步骤电路的连接如图3所示。硬件电路的调试方法:调试电路时,首先,将编写的程序调入到汇编语言开发软件中,进行程序的调试和查错;当程序调试完后,就对编写好的程序编译、连接,生成exe文件,该文件是单片机所能够识别和工作的文件;然后进入到单片机程序的装入软件中,将单片机与软件联接,把前面生成的exe文件装入单片机中,然后点击运行,此时单片机将在程序的指令下运行。5. 进一步工作的展望成功地完成了设计任务书中提

8、出的设计要求。同时,也认识到设计中由于每次的开关转换的前提是上一次的运行状态执行完成之后,那么在执行状态1时,发生了开关状态的转换,也要等到上次的开关状态执行完以后才能执行新的状态,这样就带有延迟。为了适应在紧急情况下的快速动作,当然这样的延迟就成了制约该程序运行的一个瑕疵。该问题可以通过调用一个子程序来完成,即只需要在状态1运行时,且转入延时前调用一个子程序,如果发现开关状态没有改变,则返回继续执行,如果开关状态改变则相应地去执行新的状态。同时,在程序中,灯的等待延时是通过执行程序来完成的,因为特定计算机执行某些程序的时间是几乎是固定的。当然这就给计时带来了误差,可以通过8253的定时功能来

9、改善,但这就使得硬件电路和程序复杂化了。参考文献1 周明德.微型计算机系统原理及应用(第四版M.北京:清华大学出版社,2002.6.2 谢维成,杨加国.单片机原理与应用及C51程序设计M.北京:清华大学出版社,2006.8A Traffic Lights Control Circuit Design Based on AssemblyLanguageZeng ZhengSchool of Electrical Engineering, Wuhan University, wuhan (430072AbstractIn the light of the specific requirements

10、,the circuit for traffic lights controlling has been improved. Whats more, the assembly language program is designed for it. And the circuit works well in DECE-S98 system. Get the result which is requested by the design topics. The program is simple and detail notes are available.Further work on thi

11、s issue is given.Keywords: Traffic Lights; Control; DECE-S98 System; Assembly Language附录;-程序清单-;-designed by zengzheng School of Electrical Engineering, Wuhan ;University, wuhan. E-mail:zengerzheng-;-2008-6-12-CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0FF2BH; -8255A的控制口地址IOAPT EQU 0FF28H; -8255A的A口地址IOB

12、PT EQU 0FF29H; -8255A的B口地址IOCPT EQU 0FF2AH; -8255A的C口地址-设定段起始地址12e0H;ORGSTART: MOV AL,89H; -8255A的初始化MOV DX,IOCONPTOUT DX,AL; -向控制口输入控制字,A口工作在方式0,输出;B口工作在方;-式0,输出;C口工作在方式0,输入STATE:MOV DX,IOCPT; -跳转指令入口IN AL,DX; -读C口状态,控制开关的状态AND AL,70H; -对控制开关的状态进行运算,保留PC6、PC5、CP4这3; -位,屏蔽其余各位CMP AL,40HLOOPZ STATE0;

13、 -进行比较运算,如为40H(即开关K1为仅高电平,跳; -转到STATE0运行,得到状态1的运行情况CMP AL,20HLOOPZ STATE1; -进行比较运算,如为20H(即开关K2为仅高电平,跳; -转到STATE1运行,得到状态2的运行情况CMP AL,10HLOOPZ STATE2; -进行比较运算,如为10H(即开关K1为仅高电平,跳; -转到STATE2运行,得到状态3的运行情况JMP STATE; -没有检测到有效状态,返回,继续检测STATE0:MOV DX,IOAPT; -状态1的执行程序MOV AL,01110101B; -A口送01110101BOUT DX,ALMO

14、V DX,IOBPTMOV AL,00001101B; -B口送00001101BOUT DX,ALMOV CX,0FFFFHAGAIN1:DEC CXJNE AGAIN1; -亮灯延迟;/*亮1、3红灯和2、4绿灯*/MOV DX,IOAPTMOV AL,11110011B; -A口送11110011BOUT DX,ALMOV DX,IOBPTMOV AL,00001100B; -B口送00001100BOUT DX,ALMOV CX,0FFFFHAGAIN3:DEC CXJNE AGAIN3; -亮灯延迟;/*亮1、3红灯和2、4黄灯*/MOV DX,IOAPTMOV AL,1010111

15、0B; -A口送10101110B OUT DX,AL MOV DX,IOBPT MOV AL,00001011B; -B 口送 00001011B OUT DX,AL MOV CX,0FFFFH AGAIN2:DEC CX JNE AGAIN2; -亮灯延迟 ;/*亮 2、4 红灯和 1、3 绿灯*/ MOV DX,IOAPT MOV AL,10011110B; -A 口送 10011110B OUT DX,AL MOV DX,IOBPT MOV AL,00000111B; -B 口送 00000111B OUT DX,AL MOV CX,0FFFFH AGAIN4:DEC CX JNE A

16、GAIN4; -亮灯延迟 ;/*亮 2、4 红灯和 1、3 黄灯*/ JMP STATE; 状态 1 程序执行完成后返回状态检测部分, 进行新的一轮循环 STATE1:MOV DX,IOAPT; -状态 2 的执行程序 MOV AL, 01110101B OUT DX,AL MOV DX,IOBPT MOV AL, 00001101B OUT DX,AL JMP STATE ;/*亮 1、3 红灯和 2、4 绿灯*/ STATE2:MOV DX,IOAPT; -状态 3 的执行程序 MOV AL, 10101110B OUT DX,AL MOV DX,IOBPT MOV AL, 00001011B OUT DX,AL JMP STATE ;/*亮 2、4 红灯和 1、3 绿灯*/ CODE ENDS END START -6-

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

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