2.总体设计
2.1 基本工作原理
1. DAC0832 读写原理
D/A 转换是把数字量转换成模拟量的变换,从 D/A 输出的是模拟电压信号。产生锯
齿波和三角波只需由 A 存放的数字量的增减来控制;要产生正弦波,较简单的手段是
造一张正弦数字量表。取值范围为一个周期,采样点越多,精度就越高。
在实验板上,输入寄存器占偶地址端口,DAC 寄存器占较高的奇地址端口。两个寄
存器均对数据独立进行锁存。因而要把一个数据通过 0832 输出,要经两次锁存。典型
程序段如下:
MOV DPTR,#PORT
MOV A,#DATA
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
其中第二次 I/O 写是一个虚拟写过程,其目的只是产生一个 WR 信号。启动 D/A。
2. 正弦波的波形数据如下:
DATA0: DB 80H,83H,86H,89H,8DH,90H,93H,96H
DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH
DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H
DB 0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8H
DB 0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9H
DB 0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5H
DB 0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDH
DB 0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDH
DB 0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6H
DB 0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAH
DB 0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAH
DB 0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7H
DB 0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1H
DB 0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99H