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);
}
}
}
六、讨论和心得
版权声明:本文标题:单片机c语言程序设计---DA转换实验报告 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1706060915a500196.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论