自己编写了一个利用DAC0832输出三角波的程序请高手指点。。。
先给出书上写的输出锯齿波的例子
这是我根据书上的例子自己写的输出三角波的程序,请高手指点。。。
STACK SEGMENT STACK 'STACK'
DW 32 DUP(0)
STACK ENDS
CODE SEGMENT
START PROC FAR
ASSUME SS:STACK,CS:CODE
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV DX,380H ;DAC0832的端口
AGAIN1:
INC AL ;AL初始值为0,sub ax,ax
OUT DX,AL ;输出AL值
PUSH AX ;保存AX,因为调用十一号功能时用到AL
MOV AH,11
INT 21H
CMP AL,0
POP AX
JZ AGAIN1
RET
START ENDP
CODE ENDS
END START
这是我根据书上的例子自己写的输出三角波的程序,请高手指点。。。
STACK SEGMENT STACK 'STACK'
DW 32 DUP(0)
STACK ENDS
CODE SEGMENT
START PROC FAR
ASSUME SS:STACK,CS:CODE
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV DX,380H ;DAC0832的端口
AGAIN1: ;三角波递增的部分
CMP AL,0FFH
JZ AGAIN2
INC AL ;AL初始值为0,sub ax,ax
OUT DX,AL ;将AL值写到DAC0832并输出
PUSH AX ;保存AX,因为调用十一号功能时用到AL
MOV AH,11 ;检测有无输入
INT 21H
CMP AL,0
POP AX
JZ AGAIN1
AGAIN2: ;三角波递减的程序部分
CMP AL,0 ;判断AL值是否为0,如为0就转到AGAIN1开始递增
JZ AGAIN1
DEC AL
OUT DX,AL ;输出AL
PUSH AX
MOV AH,11 ;调用十一号功能,检测有无输入
INT 21H
CMP AL,0
POP AX
JZ AGAIN2
RET
START ENDP
CODE ENDS
END START
...全文
相关推荐
DAC0832产生三角波
利用DAC0832(DAC0830)可实现输出三角波波形信号,按照DAC0832芯片工作步骤,硬件设计采用直通方式。
AT89C51使用DAC0832数模转换,波形发生器
DAC0832波形发生器DAC0832简介电路构建单片机代码效果截图 使用51单片机和DAC0832构建按键波形发生器,按下不同的按键能够产生不同波形,可以产生波形为阶梯波、三角波、方波、正弦波。 DAC0832简介 DAC0832是采样频率为八位的D/A转换器件,芯片内有两级输入寄存器,使DAC0832具备双缓冲、单缓冲和直通三种输入方式。 1、单缓冲方式。单缓冲方式是控制输入寄存器和DAC寄存器同时接收资料,或者只用输入寄存器而把DAC寄存器接成直通方式。此方式适用只有一路模拟量输出或几路模
单片机+DAC0832信号发生器的仿真设计(方波、三角波、梯形波、锯齿波)
单片机+DAC0832信号发生器的仿真设计(方波、三角波、梯形波、锯齿波)
基于51单片机的DAC0832波形发生器
基于51单片机的DAC0832波形发生器
002_DAC0832输出50HZ正弦波,三角波,矩形波,锯齿波
预览网址:https://www.cnblogs.com/luxiaoguogege/p/9848078.html


