微机原理与接口技术课设数据采集控制系统与数字电压表显示.doc
文本预览下载声明
微机原理与接口技术课设
———数据采集控制系统与数字电压表显示
程序清单及注释:
STACK SEGMENT STACK
DW 256 DUP(?)
STACK ENDS
DATA SEGMENT
MIN DB 0FFH
MAX DB 00H
SUM DW 0000H
VR DB 00H
LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
VAR DB 00H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,DATA
MOV DS,AX
MOV AL,00H ;数码管初始化
MOV DX,284H
OUT DX,AL
MOV AL ;8255初始化
MOV DX,28BH
OUT DX,AL
MOV AL,0FFH
MOV DX,288H
OUT DX,AL
MOV AL ;8253初始化
MOV DX,28FH
OUT DX,AL
MOV AL,1H
MOV DX,28CH
OUT DX,AL
MOV AL
MOV DX,28FH
OUT DX,AL
MOV AL,1H
MOV DX,28DH
OUT DX,AL
L1: MOV DX,289H
IN AL, DX ;判断k7
TEST AL
JZ ENDL
CALL SAMPLE ;调用采样子过程
MOV AX,SUM ;计算VR
XOR BX,BX
MOV BL,MIN
SUB AX,BX
MOV BL,MAX
SUB AX,BX
MOV BL,8
DIV BL
MOV VR,AL ;存均值VR
MOV DX,289H ;判断k6
IN AL,DX
TEST AL
JZ L6
CMP VR,0
JC L1 ;VR0
CMP VR,51
JBE L7 ;0=VR=51
CMP VR,102
JBE L8 ;51VR=102
CMP VR,153
JBE L9 ;102VR=153
CMP VR,204
JBE L10 ;153VR=204
CMP VR,255
JBE L11 ;204VR=255
JMP L1
L7: CALL DIS1 ;调用子过程1,数码显示1,L1~L8显示单灯左跳
JMP L1
L8: CALL DIS2 ;调用子过程2,数码显示2,L1~L8显示双灯右跳
JMP L1
L9: CALL DIS3 ;调用子过程3,数码显示3,L1~L8显示向左渐亮
JMP L1
L10: CALL DIS4 ;调用子过程4,数码显示4,L1~L8显示向右渐灭
JMP L1
L11: CALL DIS5 ;调用子过程5,数码显示5,L1~L8闪动显示A/D值 ;LOG灯1秒闪动一次报警
JMP L1
L6: CALL DIS6 ;调用子过程6,进行数字有电压表显示
JMP L1
ENDL: MOV AX,4C00H ;返回dos界面
INT 21H
SAMPLE PROC ;定义采样子过程
MOV CX,10
XOR AX,AX ;变量赋初值
MOV MAX,AL
MOV SUM,AX
MOV AL,0FFH
MOV MIN,AL
L2: MOV DX,290H ;采样 启动转换
OUT DX,AL
MOV DX,289H
L3: IN AL,DX ;判断转换是否完成
TEST AL
JZ L3
XOR AX,AX ;读取转换数据
MOV DX,290H
IN AL,DX
CMP AL,MIN ;将获得数据与最小值MIN比较,如果比最小值小;则将其支付给最小值MIN
JNC L4
MOV MIN,AL
L4: CMP AL,MAX ;将获得数据与最大值MAX比较,如果比最小值小 ;则将其支付给最小值MIN
JBE L5
MOV MAX,AL
L5: ADD SUM,AX ;将获取值加入总数
LOOP L2
RET
SAMPLE ENDP
DIS1 PROC ;定义子过程1,数码显示1,L1~L8显示单灯左跳
MOV CX,8
MOV SI,OFFSET LED ;数码显示1
MOV DX,284H
MOV AL,20H
显示全部