📄 dac0832.asm
字号:
;-------------------------------------------------------
; 程序说明
;实现功能:通过DAC0832(数/模转换器)编程产生三角波
;并在示波器上显示出来,按任意键退出程序。
;在每次向DAC0832写入数据后,最好有一个延迟,这里没加。
;
; 测试专用,适用于唐都TD-PIT实验箱 胖大海
;-------------------------------------------------------
DAC0832 EQU 1040H ;定义DAC0832数据寄存器地址
CODE SEGMENT
ASSUME CS:CODE
START:
MOV DX,DAC0832 ;往DAC0832数据寄存器写数据
MOV AL,0
NEXT1: INC AL
OUT DX,AL
; CALL DELAY
CMP AL,0FFH
JNE NEXT1
NEXT2:
DEC AL
OUT DX,AL
; CALL DELAY
CMP AL,0
JNE NEXT2
PUSH AX ;是否有键盘输入,有则退出
PUSH DX
MOV AH,06H
MOV DL,0FFH
INT 21H
POP DX
POP AX
JNE GOGO
JMP NEXT1
GOGO: MOV AH,4CH
INT 21H
CODE ENDS
END START
;------------------------------------------------------------
; 参考接线:
;DAC0832的D0-D7接ISA仿真借口的XD0-XD7
;DAC0832的WR、CS分别接ISA仿真借口的XIOW、IOY2
;DAC0832的OUT外接示波器的探头正极
;
;因为Vref=5V,Vout=-5v到5v。所以建议示波器的VOLTS/DIV设为5v或2v,
;示波器的TIME/DIV设为2ms。
;
; 一些说明:
;因为PCI的I/O基地址是系统动态给定的,不同的机型的PCI的I/O基地址各不相同
;而I/O信号线对应的实际地址=基地址+相对偏移。
;IOY2的相对偏移为40-5FH,所以当你选中IOY2时(假设I/O基地址
;为1400),IOY2可使用的I/O地址范围为1440H-145FH
;(即1400H+40H到1400H+5FH)
;
;如果线接对了、I/O地址也都对、程序也一样,还是出不来,
;那就是箱子有问题。
;------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -