OUT 21H,AL ;ICW4 MOV AL,6FH OUT 21H,AL ;OCW1 MOV DX,MY8254_MODE ;8254的初始化 MOV AL,27H ;计数器0,方式3(信号为方波) OUT DX,AL MOV DX,MY8254_A MOV AL,10H ;初始化A组方式控制字,D6-D5方式选择,D4A口输出,D3(Pc7~Pc6 I|0控制 0=输出,1=输入) OUT DX,AL MOV DX,MY8254_MODE MOV AL,67H ;计数器1,方式3 OUT DX,AL MOV DX,MY8254_B MOV AL,10H ;初始化B组方式控制字,D6-D5方式选择,D2B组方式(0=方式0,1=方式1),D2B口 I|0控制( 0=输出,1=输入),D0(Pc0~Pc2 I|0控制 0=输出,1=输入) OUT DX,AL ;STI ;置中断允许标志位,CPU将允许中断 P1: MOV DX,C8255 IN AL,DX TEST AL,10000000B ;K7=1 系统运行 JZ P1 TEST AL,01000000B ;K6=1 数字秒表 JZ AD ;K6=0 跳到电压表 MOV AL,00H MOV NUM,AL MOV DX,MY8254_MODE ;8254的初始化 MOV AL,27H ;计数器0,方式3 OUT DX,AL MOV DX,MY8254_A MOV AL,10H OUT DX,AL
MOV DX,MY8254_MODE MOV AL,67H ;计数器1,方式3 OUT DX,AL MOV DX,MY8254_B MOV AL,10H OUT DX,AL JMP AA1 ;跳到秒表
;------------------------------------------------------------------------------ ;电压表显示程序
;------------------------------------------------------------------------------ AD: MOV DX,MY8254_MODE ;8254的初始化 MOV AL,00100000B ;计数器0,方式0 OUT DX,AL MOV DX,ADC0809 OUT DX,AL
EOC: MOV DX,C8255 IN AL,DX TEST AL,00110000B ;PC6=0,PC6清零 JZ EOC ;跳到EOC:ADC0809的EOC信号,用作8259的中断请求信号 MOV DX,ADC0809 IN AL,DX MOV NUM1,AL ;显示程序段 MOV CL,AL AND AL,0F0H SHR AL,4 CMP AL,0AH JB B2 ;小于0AH转到AA2 ADD AL,07H B2: ADD AL,30H ;将低四位转换成ASCII码
B5: MOV AH,01H ;INT 10H
MOV AL,CL AND AL,0FH CMP AL,0AH JB B5 ADD AL,07H ADD AL,30H ;将低四位转换成ASCII码 MOV AH,01H ;INT 10H
MOV AX,0120H ;显示一个空格 INT 10H
MOV AH,00H MOV AL,NUM1 MOV BL,51 DIV BL
PUSH AX
ADD AL,01H
MOV NUM2,AL ;数码管显示程序 MOV AL,0FEH
MOV DX,MY8255_C OUT DX,AL
MOV AL,NUM2 ;显示 MOV BX,OFFSET DTABLE XLAT
MOV DX,MY8255_B OUT DX,AL CALL DELAY POP AX
PUSH AX ADD AL,30H MOV AH,01H INT 10H
MOV AL,2EH;显示一个点 INT 10H
MOV AH,00H
MOV AL,NUM1 MOV BL,51 DIV BL
MOV AL,AH MOV AH,00H
MOV BL,10;显示十分位 MUL BL MOV CL,51 DIV CL
PUSH AX
ADD AL,30H MOV AH,01H INT 10H POP AX MOV AL,AH MOV AH,00H
MOV BL,10;显示百分位 MUL BL MOV CL,51 DIV CL
ADD AL,30H MOV AH,01H INT 10H
MOV AH,01H
MOV AL,56H;显示一个V INT 10H
MOV AX,0120H ;显示一个空格
INT 10H
POP AX
MOV AH,00H CMP AX,0000H JZ BB1
CMP AX,0001H JZ BB2
CMP AX,0002H JZ BB3 CMP AX,0003H JZ BB4 CMP AX,0004H JZ BB5 JMP P1
BB1: MOV MOV BB11: MOV MOV OUT ROL CALL CALL LOOP JMP P1
BB2: MOV MOV BB22: MOV MOV OUT ROR CALL CALL LOOP JMP P1
BX,0101H CX,08H DX,0600H AL,BH DX,AL BH,1 DELAY1 DELAY1 BB11 BX,0C001H CX,08H DX,0600H AL,BH DX,AL BH,1 DELAY1 DELAY1 BB22
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说医药卫生基于8086的数字电压表、与秒表的设计(3)在线全文阅读。
相关推荐: