77范文网 - 专业文章范例文档资料分享平台

交通信号灯实时控制(4)

来源:网络收集 时间:2019-04-13 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

5.2 操作说明及运行结果 5.2.1 操作说明 1) 按实验接线图接线。 2) 输入程序并检查无误,经汇编,连接后装入系统。 3) 运行程序。观察灯的变化,将KK1按1下,会出现红绿灯交替闪烁10秒 5.2.2 运行结果 D0,D1亮表示东西方向绿灯亮准行, D4,D5亮表示南北方向红灯亮,持续30秒;当准行时间到最后5秒时,准行方向绿灯闪烁。D2,D3亮表示南北方向绿灯亮准行,D6,D7表示东西方向红灯亮持续时间20秒,当准行时间到最后5秒时,准行方向绿灯闪烁。此过程课程设计要求相符合。

16

6 课程设计小结 通过这次课程设计,我对8255、8259这两种芯片有了进一步的了解。知道了它们在实际应用中的功能以及它们初始化的方法。 这次课程设计从需求分析到设计,是一个完整的体系,这提高了我分析问题的能力。当遇到问题时,回到书本,查找实际问题所需的理论知识,将理论和实际结合起来,以得到问题的解,这提高了我解决实际问题的能力。 其实课程设计和真正的实际需求还是有些差别的,比如我开头时实现led实现倒数30秒计时的时候,我想的是先判断个位是否为0,为零则把十位减一,再显示,但是发现实现起来程序很复杂,在老师的指导后我修改了方法,就是将要显示的数字除以10,商放在AL中,余数放在AH中,然后输出AL与AH中的数字,最后得出结果,简洁明了。 在本次课程设计中我深有感触的是上学期学的汇编指令都不怎么记得了,这对于接口编程来说实在是个巨大的Bug。指令不记得当然写程序就慢了!以后会复习一下8086汇编指令的。 设计者: 日 期: 2010 年 6月25 日 17

附录: DATA SEGMENT TAB1 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H DATA ENDS STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX CLI MOV AL,80H ;8255A初始化,A,B,C作为输出口 OUT 63H,AL PUSH DS MOV AX,0000H MOV DS,AX ;数据段清零 MOV AX,OFFSET IRQ7;取中断程序入口地址(相对地址) MOV SI,003CH ;填8259中断7中断矢量 MOV [SI],AX ;填偏移量矢量 MOV AX,CS ;段地址CS MOV SI,003EH MOV [SI],AX POP DS IN AL,21H ;读IMR AND AL,7FH ;允许IR7中断 OUT 21H,AL STI ;开中断 S0:MOV AL,11001100B;状态0,东西方向通车25s,南北方向禁止通行 OUT 60H,AL MOV CX,25 ;延时25s T0:CALL DELLAY1S LOOP T0 S1:MOV AL,11001111B ;状态1,东西方向允许通车5s闪灯,南北方向禁止通行 MOV CX,05H OUT 60H,AL CALL DELLAY1S DEC CX T1:MOV AL,11001100B ;东西方向5s闪灯 OUT 60H,AL

18

CALL DELLAY1S DEC CX MOV AL,11001111B OUT 60H,AL CALL DELLAY1S DEC CX JNZ T1 S2:MOV AL,00110011B ;状态2,南北方向通车15s,东西方向禁止通行 OUT 60H,AL MOV CX,15 ;延时15s T2:CALL DELLAY1S LOOP T2 S3:MOV AL,00111111B ;状态3,南北方向允许通车5s闪灯,东西方向禁止通行 MOV CX,05H OUT 60H,AL CALL DELLAY1S DEC CX T3:MOV AL,00110011B OUT 60H,AL CALL DELLAY1S DEC CX MOV AL,00111111B OUT 60H,AL CALL DELLAY1S DEC CX JNZ T3 JMP S0 DELLAY1S: 延时1s的子程序,实现延时1s并在数码管中显示CX中的内容 PUSH AX PUSH BX PUSH CX CALL LED1 MOV CX,0FFFFH D0:PUSH AX POP AX LOOP D0 POP CX POP BX POP AX RET LED1:PUSH CX ;数码管显示数字 PUSH AX MOV AX,CX MOV BL,0AH

19

MOV AH,0 DIV BL ;商放在AL,余数放在AH MOV BX,OFFSET TAB1;取段码表首地址 XLAT OUT 61H,AL;输出显示 MOV CX,0600H ADD2:LOOP ADD2 MOV AL,AH MOV BX,OFFSET TAB1 XLAT OUT 62H,AL MOV CX,0600H ADD3:LOOP ADD3 POP AX POP CX RET IRQ7:PUSH AX ;外中断服务子程序,所有灯闪10秒 PUSH BX PUSH CX MOV CX,0 MOV AL,0FFH MOV BX,0AH IR7: OUT 60H,AL CALL DELLAY1S NOT AL DEC BX JNZ IR7 POP CX POP BX POP AX MOV AL,20H ;结束中断 OUT 20H,AL IRET CODE ENDS END START 参考文献 [1] 肖红兵,李国峰 《80C51嵌入式系统教程》 北京,北京航空航天大学出版社 2008 [2] 周越,张平 《单片机技术试验实训教程》 北京,中国水利水电出版社 2007 20

设计过程中质疑(或答辩)记载: 1.本实验中是如何实现延时的? 答:本实验中有25秒,15秒和5秒的延时,我们先编写一个一秒的延时程序,然后再分别调用这个一秒的延时子程序,MOV CX,25中的cx控制时间,延时一秒子程序如下: DELLAY1S: PUSH AX POP AX PUSH BX LOOP D0 PUSH CX POP CX CALL LED1 POP BX MOV CX,0FFFFH POP AX D0:PUSH AX RET 2.本实验中的中断是如何运用的? MOV AX,OFFSET IRQ7;取中断程序入口地址(相对地址) 本实验中使用的是中断请求输入管脚7,当你按kk2时,执行中断程序,灯会闪烁,程序如下 IR7: OUT 60H,AL MOV AL,20H ;结束中断 CALL DELLAY1S OUT 20H,AL NOT AL IRET DEC BX JNZ IR7 POP CX POP BX POP AX 指导教师评语: 评分: 签名: 年 月 日

21

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库交通信号灯实时控制(4)在线全文阅读。

交通信号灯实时控制(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/585859.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: