admin 管理员组

文章数量: 1184232


2024年1月24日发(作者:个人主页模板炫酷)

单片机c语言程序设计---D/A转换实验报告

课程名称: 单片机c语言设计 实验类型: 设计型实验

实验项目名称: D/A转换实验

一、 实验目的和要求

1. 掌握数模转换的概念

2. 掌握D/A转换芯片DAC0832的功能及特点,掌握与单片机的接口

3. 掌握D/A转换芯片DAC0832的c语言编程实例

二、 实验内容和原理

实验1.信号发生器

功能:使用DAC0832用作信号发生器,编写产生锯齿波、三角波和方波的程序。本次项目中,DAC0832采用单缓冲单极性的线选法接线方式,其选通地址为7FFFH。

(1)硬件设计

使用P1口接3个独立的按键S01、S02、S03,当按下S01时输出锯齿波,按下S02时输出三角波,当按下S03时输出方波。

电路原理图如下

仿真所需元器件

(2)proteus仿真

通过Keil编译后,利用protues软件进行仿真。在protues ISIS编译环境中绘制仿真电路图,将编译好的“”文件加入AT89C51。启动仿真,观察仿真结果。

三、实验要求:

1. 完成信号发生器实验。具体包括绘制仿真电路图、编写c源程序、进行仿真并观察仿真结果,需要保存原理图截图,保存c源程序,总结观察的仿真结果。完成思考题。

四、操作方法与实验步骤

1.按照硬件设计在protues上按照所给硬件设计绘制电路图。

2.在keil上进行编译后生成“”文件。

3.编译好的“”文件加入AT89C51。启动仿真,观察仿真结果。

五、实验结果与分析

void main()

{

while(1)

{

while( K01==0 ) //生成锯齿波

{

for(cDigital=0;cDigital<=250;cDigital++)

{

TransformData(cDigital);//进行数模转换

}

}

while( K02==0 ) //生成三角波

{

for(cDigital=0;cDigital<=250;cDigital++)

{

TransformData(cDigital);//进行数模转换

}

for(cDigital=250;cDigital>=0;cDigital--)

{

TransformData(cDigital);//进行数模转换

}

}

while( K03==0 ) //生成方波

{

TransformData(0);//进行数模转换

Delay(500);

TransformData(250);//进行数模转换

Delay(500);

}

}

}

六、讨论和心得


本文标签: 实验 结果 单片机 绘制