《微机原理接口与技术》(8086汇编)期末考试、考研常见考题、习题,题型汇总、知识点总结、专周(十八)

实验八:电压报警器

实验器材:
在这里插入图片描述

电路图:
在这里插入图片描述

仿真视频:

《微机原理接口与技术》(8086汇编)期末考试、考研常见考题、习题,题型汇总、知识点总结、专周(十六)之电压报警器

程序源码:

;author:liuxianfei0810
A8255 EQU 40H
B8255 EQU 42H
C8255 EQU 44H
Q8255 EQU 46H
AA8255 EQU 60H
BB8255 EQU 62H
CC8255 EQU 64H
QQ8255 EQU 66H
IO2=20H
CODE SEGMENT
	ASSUME DS:DATA,CS:CODE
START:
	MOV AX,DATA
	MOV DS,AX
	MOV AL,00110110B
	MOV DX,IO2+6
	OUT DX,AL
	MOV AX,10
	MOV DX,IO2
	OUT DX,AL
	MOV AL,AH
	OUT DX,AL
	MOV AL,01110110B
	MOV DX,IO2+6
	OUT DX,AL
	MOV AX,4A9H*10			;JISHU
	MOV DX,IO2+2
	OUT DX,AL
	MOV AL,AH
	OUT DX,AL
	MOV DX,Q8255
	MOV AL,80H
	OUT DX,AL
	MOV DX,QQ8255
	MOV AL,91H
	OUT DX,AL
	MOV DX,C8255
	MOV AL,0F0H
	OUT DX,AL
	MOV AL,00H
	MOV DX,CC8255
	OUT DX,AL
	MOV SI,OFFSET TEMPDATA
HERE:
	MOV DX,C8255
	MOV AL,0F0H
	OUT DX,AL
	CALL DUSHU
	MOV [SI],AL
	MOV DX,C8255
	MOV AL,0F1H
	OUT DX,AL
	CALL DUSHU
	MOV [SI+1],AL
;author:liuxianfei0810
	MOV DX,C8255
	MOV AL,0F2H
	OUT DX,AL
	CALL DUSHU
	MOV [SI+2],AL
;author:liuxianfei0810
	MOV DX,C8255
	MOV AL,0F3H
	OUT DX,AL
	CALL DUSHU
	MOV [SI+3],AL
;author:liuxianfei0810
	MOV DX,C8255
	MOV AL,0F4H
	OUT DX,AL
	CALL DUSHU
	MOV [SI+4],AL
	;author:liuxianfei0810
	MOV DL,[SI]
	MOV AL,11H
	CMP DL,[SI+1]
	JAE UNCHANG1
	MOV DL,[SI+1]
	MOV AL,22H
UNCHANG1:
	CMP DL,[SI+2]
	JAE UNCHANG2
	MOV DL,[SI+2]
	MOV AL,44H
UNCHANG2:
	CMP DL,[SI+3]
	JAE UNCHANG3
	MOV DL,[SI+3]
	MOV AL,88H
UNCHANG3:
	MOV [SI+6],DL
	MOV BL,DL
	CMP BL,[SI+4]
	JB ANQUAN
	MOV DL,[SI]
	CMP DL,[SI+4]
	JB UNCHANG11
	MOV AL,11H
UNCHANG11:
	MOV DL,[SI+1]
	CMP DL,[SI+4]
	JB UNCHANG22
	OR AL,22H
UNCHANG22:
	MOV DL,[SI+2]
	CMP DL,[SI+4]
	JB UNCHANG33
	OR AL,44H
UNCHANG33:
	MOV DL,[SI+3]
	CMP DL,[SI+4]
	JB JING
	OR AL,88H
	JMP JING 
ANQUAN:
	AND AL,0FH
JING:
	MOV DX,A8255
	OUT DX,AL
	MOV CX,5
MON:
;author:liuxianfei0810
	MOV AL,[SI+6]
	CALL XIANSHU
	LOOP MON
	JMP HERE
DUSHU PROC
	MOV DX,CC8255
	MOV AL,80H
	OUT DX,AL
	MOV DX,CC8255
	MOV AL,00H
	OUT DX,AL
WAIT0:
	IN AL,DX
	AND AL,01H
	JNZ WAIT0
WAIT1:
	IN AL,DX
	AND AL,01H
	JZ WAIT1
	MOV DX,AA8255
	IN AL,DX
	RET
DUSHU ENDP
;author:liuxianfei0810
XIANSHU PROC
;author:liuxianfei0810
	MOV AH,0
	MOV BL,64
	DIV BL
	MOV BX,OFFSET SEGDATA
	XLAT
	OR AL,80H
	MOV DX,B8255
	OUT DX,AL
	MOV AL,11101111B
	MOV DX,C8255
	OUT DX,AL					;完成首位显示
	CALL DELAY
	MOV AL,0FFH
	OUT DX,AL
	MOV AL,AH
	MOV BL,10
	MUL BL
	MOV BL,64
	DIV BL
	MOV BX,OFFSET SEGDATA
	XLAT
	MOV DX,B8255
	OUT DX,AL
	MOV AL,11011111B
	MOV DX,C8255
	OUT DX,AL
	CALL DELAY
	MOV AL,0FFH
	OUT DX,AL
;author:liuxianfei0810
	MOV AL,AH
	MOV BL,10
	MUL BL
	MOV BL,64
	DIV BL
	MOV BX,OFFSET SEGDATA
	XLAT
	MOV DX,B8255
	OUT DX,AL
	MOV AL,10111111B
	MOV DX,C8255
	OUT DX,AL
	CALL DELAY
	MOV AL,0FFH
	OUT DX,AL
;author:liuxianfei0810
	MOV AL,00011100B
	MOV DX,B8255
	OUT DX,AL
	MOV AL,01111111B
	MOV DX,C8255
	OUT DX,AL
;author:liuxianfei0810
	CALL DELAY
	MOV DX,C8255
	MOV AL,0FFH
	OUT DX,AL
	CALL DELAY
	RET
XIANSHU ENDP
;author:liuxianfei0810
DELAY PROC
	PUSH BX
	PUSH CX
	MOV BX,1
LP2:
	MOV CX,10
LP1:	LOOP LP1
	DEC BX
	JNZ LP2
	POP CX
	POP BX
	RET
DELAY ENDP
CODE ENDS
DATA SEGMENT
	SEGDATA DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
	TEMPDATA DB 8 DUP(?)
	BIG DB ?
DATA ENDS
END START	
;author:liuxianfei0810
原创文章 59 获赞 52 访问量 1万+

猜你喜欢

转载自blog.csdn.net/liuxianfei0810/article/details/105892411