首页 基于唐都实验箱的交通灯设计(汇编)

基于唐都实验箱的交通灯设计(汇编)

举报
开通vip

基于唐都实验箱的交通灯设计(汇编)接口技术——交通灯 交通信号灯设计 ——基于唐都实验箱 班级: XXXXXXX 队员: XXXXXX XXXXX 摘要: 本次试验主要是实现了微机原理与接口技术的重要应用之一——交通灯的设计与实现,主要是模拟十字路口的红绿灯,以及同步人行道。 本次试验主要是在对原先实验的复习总结基础之上,进行进一步的综合应用。主要用到的芯片有可编程并行通信接口芯片8255,可编程中断控制器8259A以及可编程计数器/定时器8254。 在设计中所用到的编程语...

基于唐都实验箱的交通灯设计(汇编)
接口技术——交通灯 交通信号灯设计 ——基于唐都实验箱 班级: XXXXXXX 队员: XXXXXX XXXXX 摘要: 本次试验主要是实现了微机原理与接口技术的重要应用之一——交通灯的设计与实现,主要是模拟十字路口的红绿灯,以及同步人行道。 本次试验主要是在对原先实验的复习总结基础之上,进行进一步的综合应用。主要用到的芯片有可编程并行通信接口芯片8255,可编程中断控制器8259A以及可编程计数器/定时器8254。 在设计中所用到的编程语言是汇编语言,设计所用到的设备是由西安唐都科技仪器公司生产的实验系统一套。在实验室将汇编程序调试通过后即可看到设计的结果。 关键字:交通灯,汇编 目 录 摘要 实验目的 。。。。。。。。。。。。。。。。。。。。。。。。。。。 1 实验原理 。。。。。。。。。。。。。。。。。。。。。。。。。。。 1 硬件连接图 。。。。。。。。。。。。。。。。。。。。。。。。。。。 2 软件流程图 。。。。。。。。。。。。。。。。。。。。。。。。。。。 3 实验结果及分析 。。。。。。。。。。。。。。。。。。。。。。。。。。。 4 总结 。。。。。。。。。。。。。。。。。。。。。。。。。。。 4 附录:完整代码 。。。。。。。。。。。。。。。。。。。。。。。。。。。 5 1、 实验目的 基于唐都实验箱的相关模块,进行交通信号灯的设计(含人行道),能够支持手动设置主路以及支路的时间。 实验模拟图 2、 实验原理 主要是模拟十字路口的红绿灯,以及同步人行道。正常情况下,两路口轮流放行。本实验主要用到的芯片有可编程并行通信接口芯片8255,可编程中断控制器8259A以及可编程计数器/定时器8254。 通过认真学习了以前的8259A中断级联实验,8254定时/计时实验,8255并行接口实验,流水灯显示实验以及键盘扫描及显示设计实验。基于在试验中获得的知识,进行交通灯的设计。 我们用定时器8254产生秒脉冲,用中断控制器8259A控制产生中断,用并行接口芯片8255完成键盘的输入以及LED数码管的时间显示,并完成LED灯的点亮。实验原理简单明了。 3、 硬件连接图 4、 软件流程图 5、 完整结果及分析 在试验箱中我们看到,完全模拟了交通灯的实际情况。每个状态都是按照预先设置的时间运行,人行道也同步运行正常。 当然设计中有些不足之处,设置时间的时候是从预先设置的时间倒计时,计时到0过后才会发生状态的变化,从而使得实际的运行时间比预先设置的时间总是多1秒。但是不是很大的问题,通过软件编程完全可以解决。 6、 总结 通过此次实验设计,结合所学的《接口技术》这门课程的基础知识,在以前相关实验的基础之上,完整的实现了其重要的应用之一,交通灯的设计。 首先,要把握整个的设计的大概的流程,然后再对每一小块进行设计,最后进行调试。在本次设计的过程中,认识到了很重要的一点,就是是要熟悉可编程并行通信接口芯片8255的初始化及其端口的使用。总体感觉收获比较多,在将书本上的知识应用到了实践当中的过程中,翻阅资料提高了自学能力,和同学一起讨论汲取别人的长处。每小组两个人的分工也比较重要,团队合作能力也有所提高。对以后的实践会有很大的帮助。 附录:完整代码 MY8255_A EQU 0600H MY8255_B EQU 0602H MY8255_C EQU 0604H MY8255_CON EQU 0606H A8254 EQU 06C0H B8254 EQU 06C2H C8254 EQU 06C4H CON8254 EQU 06C6H SSTACK SEGMENT STACK DW 16 DUP(?) SSTACK ENDS DATA SEGMENT DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,00H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX NEXT11: CLI MOV SI,3000H MOV AL,00H MOV [SI],AL ;清显示缓冲 MOV [SI+1],AL MOV [SI+2],AL MOV [SI+3],AL MOV [SI+4],AL MOV [SI+5],AL MOV DI,3005H MOV DX,MY8255_CON ;写8255控制字 MOV AL,81H OUT DX,AL BEGIN: CALL DIS ;调用显示子程序 CALL CLEAR ;清屏 CALL CCSCAN ;扫描 JNZ INK1 JMP BEGIN INK1: CALL DIS CALL DALLY CALL DALLY CALL CLEAR CALL CCSCAN JNZ INK2 ;有键按下,转到INK2 JMP BEGIN ;======================================== ;确定按下键的位置 ;======================================== INK2: MOV CH,0FEH MOV CL,00H COLUM: MOV AL,CH MOV DX,MY8255_A OUT DX,AL MOV DX,MY8255_C IN AL,DX L1: TEST AL,01H ;is L1? JNZ L2 MOV AL,00H ;L1 JMP KCODE L2: TEST AL,02H ;is L2? JNZ L3 MOV AL,04H ;L2 JMP KCODE L3: TEST AL,04H ;is L3? JNZ L4 MOV AL,08H ;L3 JMP KCODE L4: TEST AL,08H ;is L4? JNZ NEXT MOV AL,0CH ;L4 KCODE: ADD AL,CL CALL PUTBUF PUSH AX KON: CALL DIS CALL CLEAR CALL CCSCAN JNZ KON POP AX NEXT: INC CL MOV AL,CH TEST AL,08H JZ KERR ROL AL,1 MOV CH,AL JMP COLUM KERR: JMP BEGIN ;======================================== ;键盘扫描子程序 ;======================================== CCSCAN: MOV AL,00H MOV DX,MY8255_A OUT DX,AL MOV DX,MY8255_C IN AL,DX NOT AL AND AL,0FH RET ;======================================== ;清屏子程序 ;======================================== CLEAR: MOV DX,MY8255_B MOV AL,00H OUT DX,AL RET ;======================================== ;显示子程序 ;======================================== DIS: PUSH AX MOV SI,3000H MOV DL,0DFH MOV AL,DL AGAIN: PUSH DX MOV DX,MY8255_A OUT DX,AL MOV AL,[SI] MOV BX,OFFSET DTABLE AND AX,00FFH ADD BX,AX MOV AL,[BX] MOV DX,MY8255_B OUT DX,AL CALL DALLY INC SI POP DX MOV AL,DL TEST AL,01H JZ OUT1 ROR AL,1 MOV DL,AL JMP AGAIN OUT1: POP AX RET ;====== 延时子程序 ====== DALLY: PUSH CX MOV CX,0006H P1: MOV AX,009FH P2: DEC AX JNZ P2 LOOP P1 POP CX RET ;======================================== ;存键盘值到相应位的缓冲中 ;======================================== PUTBUF: CMP AL,0DH JNZ W0 CALL STOR1 JMP W4 W0: CMP AL,0EH JNZ W1 CALL STOR2 JMP W4 W1: CMP AL,0FH JNZ W2 JMP RUN ;结束中断 W2: MOV SI,3005H AND AH,00H SUB SI,AX MOV AL,[SI] INC AL CMP AL,09H JBE W3 MOV AL,00H W3: MOV [SI],AL W4: RET ;======================================== ;保存主路值 ;======================================== STOR1: MOV CX,06H MOV SI,3000H W5: MOV AL,[SI] MOV [SI+16],AL MOV [SI+22],AL INC SI LOOP W5 RET ;======================================== ;保存支路值 ;======================================== STOR2: MOV CX,06H MOV SI,3000H W6: MOV AL,[SI] MOV [SI+32],AL INC SI LOOP W6 MOV CX,06H MOV SI,3020H W7: MOV AL,[SI] MOV [SI+6],AL INC SI LOOP W7 RET RUN:MOV BX,4020H MOV AL,00H MOV [BX],AL PUSH DS PUSH DS MOV AX, 0000H MOV DS, AX MOV AX, OFFSET MIR7 ;取中断入口地址 MOV SI, 003CH ;中断矢量地址 MOV [SI], AX ;填IRQ7的偏移矢量 MOV AX, CS ;段地址 MOV SI, 003EH MOV [SI], AX ;填IRQ7的段地址矢量 MOV AX, OFFSET SIR1 MOV SI, 00C4H MOV [SI], AX MOV AX, CS MOV SI, 00C6H MOV [SI], AX CLI POP DS ;初始化主片8259 MOV AL, 11H OUT 20H, AL ;ICW1 MOV AL, 08H OUT 21H, AL ;ICW2 MOV AL, 04H OUT 21H, AL ;ICW3 MOV AL, 01H OUT 21H, AL ;ICW4 ;初始化从片8259 MOV AL, 11H OUT 0A0H, AL ;ICW1 MOV AL, 30H OUT 0A1H, AL ;ICW2 MOV AL, 02H OUT 0A1H, AL ;ICW3 MOV AL, 01H OUT 0A1H, AL ;ICW4 MOV AL, 0FDH OUT 0A1H,AL ;OCW1 = 1111 1101 MOV AL, 6BH OUT 21H, AL ;主8259 OCW1 STI ;初始化8254 mov dx,CON8254 mov al,37H; out dx,al mov dx,A8254 mov al,00h out dx,al mov al,10h out dx,al mov al,77H mov dx,CON8254 out dx,al mov dx,B8254 mov al,00h out dx,al mov al,10h out dx,al ;写8255控制字 MOV DX,MY8255_CON MOV AL,80H OUT DX,AL JMP T NEXT00:JMP NEXT11 T: MOV SI,3003H MOV [SI],0FH DEC SI MOV [SI],AL MOV BX,4001H MOV [BX],00H T1: MOV AL,92H MOV DX,MY8255_C OUT DX,AL MOV BX,4000H MOV [BX],3015H MOV SI,3015H MOV DI,3021H MOV AL,[SI] MOV BX,3005H MOV [BX],AL MOV AL,[SI-1] mov bx,3004h MOV [bx],AL mov bx,3003h mov al,0FH MOV [bx],al mov bx,3002h MOV [bx],al MOV AL,[DI] mov bx,3001h MOV [bx],AL MOV AL,[DI-1] mov bx,3000h MOV [bx],AL CALL DIS CALL CLEAR MOV BX,4020H MOV AL,[BX] CMP AL,01H R1: JZ NEXT00 MOV BX,4001H MOV AL,[BX] TEST AL,01H JZ T1 MOV BX,4001H MOV [BX],00H T2: MOV AL,94H MOV DX,MY8255_C OUT DX,AL MOV BX,4000H MOV [BX],3015H MOV SI,3015H MOV DI,3023H MOV AL,[SI] mov bx,3005h MOV [bx],AL MOV AL,[SI-1] mov bx,3004h MOV [bx],AL mov bx,3003h mov al,0FH MOV [bx],al mov bx,3002h MOV [bx],al MOV AL,[DI] mov bx,3001h MOV [bx],AL MOV AL,[DI-1] mov bx,3000h MOV [bx],AL CALL DIS CALL CLEAR MOV BX,4020H MOV AL,[BX] CMP AL,01H R2: JZ R1 MOV BX,4001H MOV AL,[BX] TEST AL,01H JZ T2 MOV BX,4001H MOV [BX],00H T3: MOV AL,29H MOV DX,MY8255_C OUT DX,AL MOV BX,4000H MOV [BX],3011H MOV SI,3011H MOV DI,3025H MOV AL,[SI] mov bx,3005h MOV [bx],AL MOV AL,[SI-1] mov bx,3004h MOV [bx],AL mov bx,3003h mov al,0FH MOV [bx],al mov bx,3002h MOV [bx],al MOV AL,[DI] mov bx,3001h MOV [bx],AL MOV AL,[DI-1] mov bx,3000h MOV [bx],AL CALL DIS CALL CLEAR MOV BX,4020H MOV AL,[BX] CMP AL,01H R3: JZ R2 MOV BX,4001H MOV AL,[BX] TEST AL,01H JZ T3 MOV BX,4001H MOV [BX],00H T4: MOV AL,49H MOV DX,MY8255_C OUT DX,AL MOV BX,4000H MOV [BX],3013H MOV SI,3013H MOV DI,3025H MOV AL,[SI] mov bx,3005h MOV [bx],AL MOV AL,[SI-1] mov bx,3004h MOV [bx],AL mov bx,3003h mov al,0FH MOV [bx],al mov bx,3002h MOV [bx],al MOV AL,[DI] mov bx,3001h MOV [bx],AL MOV AL,[DI-1] mov bx,3000h MOV [bx],AL CALL DIS CALL CLEAR MOV BX,4020H MOV AL,[BX] CMP AL,01H JZ R3 MOV BX,4001H MOV AL,[BX] TEST AL,01H JZ T4 MOV CX,06H MOV SI,3016H M0: MOV AL,[SI] MOV [SI-6],AL INC SI LOOP M0 MOV CX,06H MOV SI,3026H M1: MOV AL,[SI] MOV [SI-6],AL INC SI LOOP M1 JMP T ;======================================== ;秒中断 ;======================================== MIR7: STI MOV BX,4000H MOV SI,[BX] MOV AL,[SI-1] CMP AL,00H JZ N0 DEC AL MOV [SI-1],AL JMP N2 N0: MOV AL,[SI] TEST AL,0FH JZ N1 DEC BYTE PTR [SI] MOV BYTE PTR [SI-1],09H JMP N2 N1: MOV BX,4001H MOV AL,01H MOV [BX],AL N2: MOV AL,[DI-1] CMP AL,00H JZ N3 DEC AL MOV [DI-1],AL JMP N5 N3: MOV AL,[DI] CMP AL,00H JZ N4 DEC BYTE PTR [DI] MOV BYTE PTR [DI-1],09H JMP N5 N4: MOV BX,4001H MOV AL,01H MOV [BX],AL N5: MOV AL,20H OUT 20H,AL IRET ;======================================== ;重置数中断 ;======================================== SIR1: STI MOV BX,4020H MOV AL,01H MOV [BX], AL MOV AL,20H OUT 20H,AL IRET CODE ENDS END START
本文档为【基于唐都实验箱的交通灯设计(汇编)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_876817
暂无简介~
格式:doc
大小:135KB
软件:Word
页数:18
分类:互联网
上传时间:2013-08-03
浏览量:98