2024年5月30日发(作者:)
单片机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);
}
}
}
六、讨论和心得
发布者:admin,转转请注明出处:http://www.yc00.com/web/1717054133a2733343.html
评论列表(0条)