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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

模拟交通灯.docx

1、模拟交通灯微机原理与接口技术课程设计题 目: 十字路口交通灯模拟 院 (系): 计算机科学与技术学院 专业班级: 计科0804班 姓 名: 李媛 李学梅 学 号:0808030407 0808030405 2011年 7月 4 日班 级计科0804班姓 名李媛,李学梅学号08080304070808030405实验时间2011年 7月 4日 实验名称交通灯显示系统实验地点机房实验目的本实验是对并行口、中断控制器、定时器/计数器的一次综合性自行设计练习实验性质设计型实验实验设备唐都仪器指导教师薛萍成绩实验步骤一、分析问题二、绘制流程图三、设计硬件电路四、程序代码书写五、装入程序、调试六、结果分析

2、实验记录(见实验详细部分)实验结果(或测试记录分析)(见实验详细部分)目录摘要 3一、题目要求和方案分析 41.题目要求: 42.方案分析 4二、方案设计 41.十字路口 42.硬件连线图 43.流程图: 5三、实现程序 7四、设计结果及分析 14五、心得体会 15六、参考文献 15摘要本设计以唐都仪实验箱为载体,结合中断控制器8259A、并行接口8255、中断定时器8253、七段数码显示管LED及八个发光二极管的功能,用汇编语言编程实现了十字路口交通灯模拟的实验。8255A的两个端口在本次实验中均有用处,A口为方式0用作输出,与七段数码管LED连接,用于向七段数码管输入数据的。B口为方式0用

3、作输出,与八个发光二极管连接,用于向发光二极管输入数据。C口低四位在本实验中做输出与LED数码管相连,高四位没有用到,但在初始化中将C口均初始化为输出。8253A芯片在本实验中用了计数器2工作在方式3下,计数初值赋为59500,工作箱的时钟频率为1.19MHz,即计时50ms,它的OUT2接到8259A的IRQ7上,让IRQ7每隔50ms发一次中断,这样就可以通过控制发中断的次数来得到想要的时间。8259A芯片在本实验中被用到了4个中断,作为计时或在特殊情况下的特殊功能。IRQ1是在遇到特殊情况,东西干道和南北干道都显示红灯,LED显示SP表示STOP由按键k1来控制。IRQ2是在午夜车流量较

4、少时, LED显示倒数6秒由按键k2控制。IRQ6是用于控制交通灯由特殊情况恢复为通常情况。IRQ7是用于控制计时的。一、题目要求和方案分析1.题目要求:(1)显示红绿灯等待时间,时间限制(30秒)。(2)黄灯要求出现,时间限制(5秒)。(3)东西,南北分别显示。2.方案分析:本实验用到了8253A,8255A,8259A芯片,用8253A来计时,8255A的A、B口来做输出与七段数码管和发光二极管相连,8255A来发中断控制计时和特殊情况。二、方案设计1.十字路口2.硬件连线图:3.流程图:总体流程图VIP情况:夜晚模式:显示子程序:延时子程序:三、实现程序STACK SEGMENT STA

5、CK DB 200 DUP(0)STACK ENDSDATA SEGMENT LIVING DB HAVE A GOOD DAY!,0AH,0DH,00H NIGHT DB NO CAR PASS BY 6 MINUTES!,0AH,0DH,00H VIP DB IT IS VIP TIME!,0AH,0DH,00H TIME DB 00H,03H,05H,03H LEDTAL DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,73H COUNT DW 0DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STAC

6、KSTART: MOV AX,DATA MOV DS,AX PUSH DS MOV AX,0000H MOV DS,AX MOV AX,OFFSET IRQ6 ADD AX,2000H MOV SI,0038H MOV SI,AX MOV AX,0000H MOV SI,003AH MOV SI,AX CLI POP DS IN AL,21H AND AL,0BFH OUT 21H,AL PUSH DS MOV AX,0000H MOV DS,AX MOV AX,OFFSET IRQ1 ADD AX,2000H MOV SI,0024H MOV SI,AX MOV AX,0000H MOV S

7、I,0026H MOV SI,AX CLI POP DS IN AL,21H AND AL,0FDH OUT 21H,AL PUSH DS MOV AX,0000H MOV DS,AX MOV AX,OFFSET IRQ2 ADD AX,2000H MOV SI,0028H MOV SI,AX MOV AX,0000H MOV SI,002AH MOV SI,AX CLI POP DS IN AL,21H AND AL,0FBH OUT 21H,AL PUSH DS MOV AX,0000H MOV DS,AX MOV AX,OFFSET IRQ7 ADD AX,2000H MOV SI,00

8、3CH MOV SI,AX MOV AX,0000H MOV SI,003EH MOV SI,AX CLI POP DS IN AL,21H AND AL,7FH OUT 21H,ALF1: MOV AH,06H MOV BX,OFFSET LIVING INT 10H MOV AL,80H OUT 63H,AL MOV AL,0B6H OUT 43H,AL MOV AX,59500 OUT 42H,AL MOV AL,AH OUT 42H,AL MOV COUNT,0 STI S1: MOV AL,0C3H OUT 61H,AL CALL DISP CMP COUNT,20 JL S1 MO

9、V COUNT,0 MOV DI,OFFSET TIME MOV AL,DI+1 CMP AL,00H JZ A5 MOV AL,DI CMP AL,00H JZ A6 DEC AL MOV DI,AL A2: MOV AL,DI+2 CMP AL,00H JZ A3 DEC AL MOV DI+2,AL JMP S1A3: MOV AL,9 MOV DI+2,AL MOV AL,DI+3 DEC AL MOV DI+3,AL JMP S1A5: MOV AL,DI CMP AL,01H JZ A0 DEC AL MOV DI,AL JMP A2A6: MOV AL,9 MOV DI,AL M

10、OV AL,DI+1 DEC AL MOV DI+1,AL JMP A2A0: MOV AL,05H MOV DI,AL MOV DI+2,AL JMP S21S21: MOV AL,0CCH OUT 61H,AL CALL DISP CMP COUNT,20 JL S21 MOV COUNT,0 MOV DI,OFFSET TIME MOV AL,DI CMP AL,00H JZ A7 DEC AL MOV DI,AL MOV AL,DI+2 DEC AL MOV DI+2,AL JMP S22A7: MOV AL,3 MOV DI+1,AL MOV AL,5 MOV DI,AL MOV A

11、L,3 MOV DI+3,AL MOV AL,0 MOV DI+2,AL JMP S3 S22: MOV AL,0CFH OUT 61H,AL CALL DISP CMP COUNT,20 JL S22 MOV COUNT,0 MOV DI,OFFSET TIME MOV AL,DI CMP AL,00H JZ A7 DEC AL MOV DI,AL MOV AL,DI+2 DEC AL MOV DI+2,AL JMP S21S3: MOV AL,3CH OUT 61H,AL CALL DISP CMP COUNT,20 JL S3 MOV COUNT,0 MOV DI,OFFSET TIME

12、 MOV AL,DI+3 CMP AL,00H JZ A8 MOV AL,DI+2 CMP AL,00H JZ A9 DEC AL MOV DI+2,ALA11: MOV AL,DI CMP AL,00H JZ A12 DEC AL MOV DI,AL JMP S3A8: MOV AL,DI+2 CMP AL,01H JZ A1 DEC AL MOV DI+2,AL JMP A11A9: MOV AL,9 MOV DI+2,AL MOV AL,DI+3 DEC AL MOV DI+3,AL JMP A11A12: MOV AL,9 MOV DI,AL MOV AL,DI+1 DEC AL MO

13、V DI+1,AL JMP S3A1: MOV AL,05H MOV DI+2,AL MOV DI,AL JMP S41S41: MOV AL,0FH OUT 61H,AL CALL DISP CMP COUNT,20 JL S41 MOV COUNT,0 MOV DI,OFFSET TIME MOV AL,DI CMP AL,00H JZ A10 DEC AL MOV DI,AL MOV AL,DI+2 DEC AL MOV DI+2,AL JMP S42A10: MOV AL,3 MOV DI+1,AL MOV AL,0 MOV DI,AL MOV AL,3 MOV DI+3,AL MOV

14、 AL,5 MOV DI+2,AL JMP S1 S42: MOV AL,3FH OUT 61H,AL CALL DISP CMP COUNT,20 JL S42 MOV COUNT,0 MOV DI,OFFSET TIME MOV AL,DI+2 CMP AL,00H JZ A10 DEC AL MOV DI+2,AL MOV DI,AL JMP S41 IRQ6: MOV AL,20H OUT 20H,AL MOV DI,OFFSET TIME MOV AL,3 MOV DI+1,AL MOV AL,0 MOV DI,AL MOV AL,3 MOV DI+3,AL MOV AL,5 MOV

15、 DI+2,AL JMP F1 IRETIRQ1: MOV AL,20H OUT 20H,AL MOV AH,06H MOV BX,OFFSET VIP INT 10HL7: STI MOV DI,OFFSET TIME MOV AL,5 MOV DI+1,AL MOV DI+3,AL MOV AL,10 MOV DI,AL MOV DI+2,AL MOV AL,0FH OUT 61H,AL CALL DISP JMP L7 IRETIRQ2: MOV AL,20H OUT 20H,AL MOV AH,06H MOV BX,OFFSET NIGHT INT 10H STIL0: MOV DI,

16、OFFSET TIME MOV AL,0 MOV DI+1,AL MOV AL,6 MOV DI,AL MOV AL,0 MOV DI+3,AL MOV AL,6 MOV DI+2,AL L1: MOV AL,0C3H OUT 61H,AL CALL DISP CMP COUNT,20 JL L1 MOV COUNT,0 MOV DI,OFFSET TIME MOV AL,DI CMP AL,00H JZ L3 DEC AL MOV DI,AL MOV DI+2,AL JMP L1 L3: MOV DI,OFFSET TIME MOV AL,0 MOV DI+1,AL MOV AL,6 MOV

17、 DI,AL MOV AL,0 MOV DI+3,AL MOV AL,6 MOV DI+2,AL JMP L2L2: MOV AL,3CH OUT 61H,AL CALL DISP CMP COUNT,20 JL L2 MOV COUNT,0 MOV DI,OFFSET TIME MOV AL,DI CMP AL,00H JZ L0 DEC AL MOV DI,AL MOV DI+2,AL JMP L2 IRET IRQ7: INC COUNT MOV AL,20H OUT 20H,AL IRETDISP PROC NEAR MOV DI,OFFSET TIME MOV CL,0FEHST1:

18、 MOV AL,CL TEST AL,10H JZ ED OUT 62H,AL ROL AL,01H MOV CL,AL MOV AL,DI MOV BX,OFFSET LEDTAL XLAT OUT 60H,AL CALL DELAY INC DI JMP ST1ED: RET DISP ENDPDELAY PROC NEAR PUSH CX MOV CX,1000 WAIT1: LOOP WAIT1 POP CX RETDELAY ENDPCODE ENDS END START 四、设计结果及分析装入程序运行后,程序进入正常状态。先是东西干道绿灯,南北干道红灯,LED显示30秒和35秒的倒

19、计时;其次东西干道黄灯每隔1秒亮一次,南北干道红灯一直亮,LED显示5-0秒倒计时;再次东西干道红灯,南北干道绿灯,LED显示35秒和30秒的倒计时;最后南北干道一直保持红灯次干道绿灯闪每隔1秒亮一次,东西干道红灯一直亮,LED显示5-0秒倒计时。这时一个周期结束,再次跳入进入起始状态,重新循环一遍。在上述正常状态中,可由8259A发中断控制特殊情况,具体如下:1.遇到特殊情况,所有干道都显示红灯,LED显示SP表示STOP,由按键K1控制。2.在午夜车流量较少时,可由按键K2发中断,LED显示倒数6秒钟。3.上述两种特殊情况结束后,可由开关K6完成复位从35秒和30秒开始进入正常状态。五、心

20、得体会这次十字路口交通灯模拟设计虽然不是我们小组自己编的但也从中学到了不少知识。首先涉及了不少汇编语言的编程,复习了汇编语言的知识,其中对偏移地址理解不是很好,再看此程序时发现跳转相当的乱,同时从这次设计验证了老师所说的读别人的程序比自己写程序更加难,因为很难了解别人的设计思路,经过了尝试和同学的探讨,读懂了此程序,并在其基础上进行了修改,成为我们小组内的程序。其次在编程过程中虽然初始化了中断向量是没有写进去相关如“AND AL,0FB” 的开中断程序,因此出现了按键k2夜间倒数6秒没有反应的情况;再者是延时一开始做的不好,使得数码管一闪一闪,不是很稳定,最后通过将原来设定的延时有2000H,

21、改为1000H之后上述情况得以解决。最后对8259中断没有掌握好,还是在老师进行检查时发现此程序存在的中断问题,低级中断无法打断高级中断,但在执行时却可以使低级中断打断高级中断,即在拨动k1进行特权请求,再拨动k6进行恢复时可以进行恢复,但按理论是无法进行的,在进行屏蔽了MOV AL,20H OUT 20H,AL之后再执行发现确实无法再打断特权中断,从中得出因一开始就写中断字,输出中断,所以之后的中断都可以响应。总之,通过这次实验发现在汇编语言方面有很大欠缺,还无法达到自己编程的水平,发现读别人的程序相当困难,还是应加强在汇编语言编程上的能力,同时对知识点的理解还不够深入,掌握的还不够熟练,还需大量的实践练习。六、参考文献【1】龚尚福,等,微机原理与接口技术,西安;西安电子科技大学出版社,2008【2】龚尚福,等,微机原理与接口技术习题分析和实验指导,西安;西安电子科技大学出版社;2009

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

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