【西南交大swjtu微机与接口技术实验】D/A变换实验实验三:波形发生器
做一个存档。实验要求与电路连接见参考指导书。
1、主程序产生锯齿波
2、按下KK1+输出五个周期的三角波,继续输出被中断的锯齿波
3、按下KK2+输出五个周期的方波,继续输出被中断的锯齿波
程序代码
IOY0 EQU 0600H
DA EQU IOT0+00H*2SSTACK SEGMENT STACKDW 32 DUP(?)
SSTACK ENDSCODE SEGMENTASSUME CS:CODE
START: PUSH DSMOV AX,0000HMOV DS,AXMOV AX,OFFSET MIR7MOV SI,003CHMOV [SI],AXMOV AX,CSMOV SI,003EHMOV [SI],AXMOV AX,OFFSET MIR6MOV SI,0038HMOV [SI],AXMOV AX,CSMOV SI,003AHMOV [SI],AXCLIPOP DS;初始化主片8259MOV AL,11HOUT 20H,ALMOV AL,08HOUT 21H,ALMOV AL,04HOUT 21H,ALMOV AL,01HOUT 21H,ALMOV AL,2FHOUT 21H,ALSTIMOV AX,00HMOV DX,DAMOV AL,00H
A0: OUT DX,ALCALL DELAYINC ALJMP A0MIR6: PUSH AXPUSH CXSTICALL DELAYMOV CX,5
A1: MOV AL,00H
LOOP1: OUT DX,ALCALL DELAYINC ALCMP AL,0FFHJB LOOP1MOV AL,0FFHMOV DX,DA
LOOP2: OUT DX,ALCALL DELAYDEC ALCMP AL,0JA LOOP2LOOP A1POP CXPOP AXMOV AL,20HMOV 20H,ALIRETMIR7: PUSH AXPUSH CXSTICALL DELAYMOV CX,5
A2: MOV AL,00HOUT DX,DACALL DELAY1MOV AL,7FHOUT DX,ALCALL DELAY1LOOP A2POP CXPOP AXMOV AL,20HMOV 20H,ALIRETDELAY: PUSH CXMOV CX,03FFH
AA0: PUSH AXPOP AXLOOP AA0POP CXRETDELAY1: PUSH CXMOV CX,0FF00H
AA1: PUSH AXPOP AXLOOP AA1POP CXRETCODE ENDSEND START