微机原理课程设计跑马灯
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理课程设计走马灯
运用8086最小模式和8255等芯片设计出一个跑马灯电路,要求至少有5中花式,在ISIS 7 Professional软件中运行。
设计电路图如图所示:
源代码
DA TA SEGMENT
DA TA ENDS
CODE SEGMENT
ASSUME CS:CODE ,DS:DA TA START :MOV AX,DA TA
MOV DS,AX
MOV AL,10010000B
OUT 96H,AL
A0: IN AL,90H
NOT AL
MOV BL,AL
OUT 92H,AL
CMP AL,1
JNZ A3
A2: MOV DL,AL ;第一个开关实现从上至下的流水OUT 92H,AL
IN AL,90H
NOT AL
CMP AL,BL
JNZ A0
MOV CX,50000
A1: LOOP A1
MOV AL,DL
ROL AL,1
JMP A2
A3: CMP AL,2 ; 实现第二个开关从下至上的流水JNZ A6
MOV AL,80H
A5: MOV DL,AL
OUT 92H,AL
MOV CX,50000
A4: LOOP A4
IN AL,90H
NOT AL
CMP AL,BL
JNZ A0
ROR AL,1
JMP A5
A6: CMP AL,4 ;第三个开关实现相隔的两个灯自上而下流水
JNZ A9
MOV AL, 05H
A8: MOV DL,AL
OUT 92H,AL
MOV CX,20000
A7: LOOP A7
IN AL,90H
NOT AL
CMP AL,BL
JNZ A0
MOV AL,DL
ROL AL,1
JMP A8
A9: CMP AL,8 ;第四个开关实现相隔的两个灯从下而上流水
JNZ A12
MOV AL,0A0H
OUT 92H,AL
MOV CX,20000
A10: LOOP A10
IN AL,90H
NOT AL
CMP AL,BL
JNZ A0
MOV AL,DL
ROR AL,1
JMP A11
A12: CMP AL,10H
JNZ A17
A16: MOV AL,18H ;第五个开关实现从中间向两边流水A14: MOV DL,AL
OUT 92H,AL
MOV CX,20000
A13: LOOP A13
IN AL,90H
NOT AL
CMP AL,BL
JNZ A0
CMP AL,81H
JZ A16
AND AL,0F0H
MOV CX,0
MOV CH,AL
ROL CH,1
MOV AL,DL
AND AL,0FH
MOV CL,AL
ROR CL,1
ADD CH,CL
MOV AL,CH
JMP A14
A17: CMP AL,20H ;第六个开关实现从两边向中间流水JNZ A0
A19: MOV AL,81H
A20: MOV DL,AL
OUT 92H,AL
MOV CX,20000
A18: LOOP A18
IN AL,90H
NOT AL
CMP AL,BL
JNZ A0
MOV AL,DL
CMP AL,18H
JZ A19
AND AL,0F0H
MOV CX,0
MOV CH,AL
ROR CH,1
MOV AL,DL
AND AL,0FH
MOV CL,AL
ROL CL,1
ADD CH,CL
MOV AL,CH
JMP A20
RET
CODE ENDS
END START
运行后程序如图所示: