logo资料库

微机原理十字交通灯的课程设计.doc

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 32F0H PA PB PC PCTL EQU 0FFD8H EQU 0FFD9H EQU 0FFDAH EQU 0FFDBH ;8255 A 端口地址 ;B ;C ;8255 控制端口地址 Port0 Port1 EQU 0FFE0H EQU 0FFE1H ;8259O 偶地址端口 ;奇地址端口 ccp EQU 0FFE3H cp2 EQU 0FFE2H ;8253 控制端口 ;8253 计数器 2 的端口 COUNT DB 00H Start: CLI CALL for8255 CALL TRFF1 MOV AX,OFFSET INT8259 MOV BX,0034H MOV [BX],AX MOV BX,0036H MOV AX,0000H MOV [BX],AX CALL FOR8259 CALL FOR8253 STI JMP CON CON: ;设置新的中断向量 ;8259 写入初始化命令字与操作命令字 ;============================== INT8259: CLI MOV CX,08H MOV AL,90H MOV DX,PCTL OUT DX,AL ;各端口均输出, 均工作在方式 0
P31: P32: CMP COUNT,00H JZ P32 MOV DX,PC MOV AL,9EH OUT DX,AL DEC DX MOV AL,70H OUT DX,AL CALL DELAY2 MOV DX,PC MOV AL,0BEH OUT DX,AL DEC DX MOV AL,0F0H OUT DX,AL CALL DELAY2 LOOP P31 CALL TRFF1 CALL DELAY2 JMP P33 MOV DX,PC MOV AL,0F3H OUT DX,AL DEC DX MOV AL,0C0H OUT DX,AL CALL DELAY2 MOV DX,PC MOV AL,0F7H OUT DX,AL DEC DX MOV AL,0D0H OUT DX,AL CALL DELAY2 LOOP P32 MOV DX,PC MOV AL,0AEH OUT DX,AL DEC DX MOV AL,0B0H ;1、3 路口的红灯亮,2、4 路口的黄灯亮 ; 1、3 路口的红灯亮,2、4 路口的黄灯灭 ;1、3 路口的黄灯亮,2、4 路口的红灯亮 ;1、3 路口的黄灯灭,2、4 路口的红灯亮
OUT DX,AL ;CALL DELAY2 ;1,3 路口红灯亮,2 ,4 路口绿灯亮 P33: CMP COUNT,0 JZ P34 MOV COUNT,00H JMP P35 P34: MOV COUNT,01H P35: CALL FOR8253 CALL DELAY2 MOV AL,20H MOV DX,Port0 OUT DX,AL STI IRET ;============================== FOR8259:MOV AL,1BH MOV DX,Port0 OUT DX,AL ;写入 ICW1 ;8259 初始化命令字 00011011 MOV AL,08H MOV DX,Port1 OUT DX,AL MOV AL,09H OUT DX,AL MOV AL,0DFH OUT DX,AL RET ;写入 ICW2 00001000 ;写入 ICW4 ;IRQ5 未被屏蔽 写入中断屏蔽字 11011111 ;============================== for8255:MOV AL,90H ;各端口均输出, 均工作在方式 0 MOV DX,PCTL OUT DX,AL MOV DX,PC MOV AL,0B6H OUT DX,AL DEC DX MOV AL,0D0H OUT DX,AL ;MOD:0, ;注 PB3~0 无关 ;四个红灯全点亮
CALL DELAY1 RET ;============================== FOR8253:MOV DX,0FFE3H ;控制寄存器的端口 MOV AL,90H OUT DX,AL MOV DX,0FFE2H MOV AL,00H OUT DX,AL MOV AL,07H OUT DX,AL RET ;计数器 2 的端口地址 ;各端口均输出, 均工作在方式 0 ;MOD:0, ;1、3 路口的绿灯亮,2、4 路口的红灯亮 ;============================== TRFF1:MOV DX,PCTL MOV AL,90H OUT DX,AL MOV AL,75H MOV DX,PC OUT DX,AL DEC DX MOV AL,0D0H OUT DX,AL RET ;============================== DELAY1: PUSH AX PUSH CX MOV CX,0030H DELY2: CALL DELAY2 LOOP DELY2 POP CX POP AX RET DELAY2: PUSH CX MOV CX,9000H LOOP $ POP CX
RET CODE ENDS END Start
分享到:
收藏