一.要求
编程实现用DAC0832进行数/模转换,根据选择输出正弦波、三角波、锯齿波、方波,频率可以调节。
二.目的
1.了解D/A转换的基本原理。
2. 了解D/A转换芯片0832的性能及编程方法。
3. 了解单片机系统中扩展D/A转换的基本方法。
三.原理及手段
1. 正弦波的波形数据如下:
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
DB 96H,93H,90H,8DH,89H,86H,83H,80H
DB 80H,7CH,79H,76H,72H,6FH,6CH,69H
DB 66H,63H,60H,5DH,5AH,57H,55H,51H
DB 4EH,4CH,48H,45H,43H,40H,3DH,3AH
DB 38H,35H,33H,30H,2EH,2BH,29H,27H
DB 25H,22H,20H,1EH,1CH,1AH,18H,16H
DB 15H,13H,11H,10H,0EH,0DH,0BH,0AH
DB 09H,8H,7H,6H,5H,4H,3H,2H
DB 02H,1H,0H,0H,0H,0H,0H,0H
DB 00H,0H,0H,0H,0H,0H,1H,2H
DB 02H,3H,4H,5H,6H,7H,8H,9H
DB 0AH,0BH,0DH,0EH,10H,11H,13H,15H
DB 16H,18H,1AH,1CH,1EH,20H,22H,25H
DB 27H,29H,2BH,2EH,30H,33H,35H,38H
DB 3AH,3DH,40H,43H,45H,48H,4CH,4EH
DB 51H,51H,55H,57H,5AH,5DH,60H,63H
DB 69H,6CH,6FH,72H,76H,79H,7CH,80H
2.电路原理
实验板连接:将DAC0832的片选CS0832接CS0,输出端OUT接示波器探头;将短路端子DS的1、2短路。
3. 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。
四.编程要点
学习ADC0809原理(参考教材第8章内容),深入了解本实验电路原理。查阅有关产生锯齿波、三角波、正弦波、方波四种波形方法。能够实现频率可调节。
五.基本任务
1.利用实验设备正确接线。画出整体原理图。
2. 编制采集模拟电压信号及显示程序,并调试运行正确。
3. 画出程序流程图。