内容发布更新时间 : 2025/1/11 10:35:35星期一 下面是文章的全部内容请认真阅读。
姓名: 学号: 实 验 报 告 实验项目名称: D/A、A/D转换实验 同组人: 实验时间: 实验室: 指导教师: 一、实验目的: (l)学习外部接口的应用。ADC0809、DAC0832的工作方式,输入/输出方式的应用。 (2)熟悉Proteus软件电路设计和Keil软件程序调试方法。 重点:ADC0809、DAC0832的工作方式 二、实验顶备知识: (l)AT89S51与ADC、DAC接口的连接,ADC0809、DAC0832的基本原理。 (2)Proteus软件应用,Keil软件程序调试应用。 三、实验内容 ㈠ 利用DAC0832转换器输出锯齿波、三角波、方波和正弦波。 1、设计要求:以DAC0832转换器和AT89C52单片机设计仿真电路,该电路能在虚拟示波器上显示出锯齿波、三角波、方波和正弦波,并能用虚拟电压表显示输出电压值,要求电压范围为0~15V且周期约为510ms。 2、仿真电路原理图 元器件选取:①AT89C52:单片机;②RES、RX8:电阻、8排阻;③CRYSTAL:晶振;④CAP、CAP-ELEC:电容、电解电容;⑤DAC0832:D/A转换器;⑥LM358N:运算放大器。 图6-1 电路原理图 - 1 -
姓名: 学号: 3、程序设计内容 程序设计首先考虑DAC0832转换芯片的入口地址,地址的设置与接口电路的连接方式有关。P2.7端口与DAC0832的CS片选端相连,要选通DAC0832,要求CS引脚为低电平,则DAC0832的入口地址为0x7FFFH。 4、程序清单 #include
姓名: 学号: 0x43,0x46,0x48,0x4b,0x4e,0x51,0x54,0x57,0x5a,0x5d,0x60,0x63, 0x66,0x69,0x6c,0x6f,0x73,0x76,0x79 }; main() { uchar cDigital1=0; Uart_Init(); P0=0xFF; P1=0xFF; P2=0xFF; P3=0xFF; Delay(); while(1) { for(cDigital1=0;cDigital1<255;cDigital1++) { Delay(); TransformData1(cDigital1); TransformData2(255-cDigital1); TransformData3(0); TransformData4(ZXB_code[cDigital1]); } for(cDigital1=255;cDigital1>0;cDigital1--) { Delay(); TransformData1(cDigital1); TransformData2(cDigital1); TransformData3(255); TransformData4(ZXB_code[-(cDigital1-255)]); } } } void TransformData1(uchar c0832data1) { *((uchar xdata*)DAC0832Addr1)=c0832data1; } void TransformData2(uchar c0832data2) { *((uchar xdata*)DAC0832Addr2)=c0832data2; } void TransformData3(uchar c0832data3) { *((uchar xdata*)DAC0832Addr3)=c0832data3; } - 3 -