利用DAC0800产生阶梯波的程序代码
START: MOV A, #00H ;
MOV DPTR, #7FFFH ; 0800 的地址送DPTR
MOV R1, #0AH ; 台阶数为 10
LP: MOVX @DPTR, A ; 送数据至 0832
CALL DELAY ; 延时
DJN2 R1, NEXT ; 不到 10 台阶转移
SJMP STRT ; 产生下一个周期
NEXT: ADD A, #10 ; 台阶增幅
SJMP LP ; 产生下一台阶
DELAY: MOV 20H, #249 ; 延时程序
AGAIN: NOP
NOP
DJNZ 20H, AGAIN
在特定的时候给出特定的电平值,就像绘制函数图形一样,按照这种方式就可以利用DAC0800输出任意的波形了,像三角波,正弦波一类信号也可以按此方法产生。以后广泛用到的DDS原理与此类似。
四、单片机开发基础
2021-09-17 19:05:03
7.17MB
C8051
1