1 / 24
文档名称:

基于单片机的16位数模转换波形发生器项目报告.doc

格式:doc   页数:24
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于单片机的16位数模转换波形发生器项目报告.doc

上传人:DOC KING 2011/12/17 文件大小:0 KB

下载得到文件列表

基于单片机的16位数模转换波形发生器项目报告.doc

文档介绍

文档介绍:目录
一、概述 2
课题研究的内容和意义 2
2
二、系统总体设计 4
系统设计方案论证(几种方案选一) 4
系统总体框图及简要说明实现了的主要功能 4
三、硬件电路设计 6
元器件的选择 6
13
14
14
15
四、软件设计 17
17
19
五、系统调试 23
23
23
23
六、展望 26
概述
课题研究的内容和意义
本课题采用51单片机对两个DAC0832进行控制来实现16位DA输出。因为高精度DAC转换芯片价格比较贵,而且有时不易购买,通过对2个DAC0832进行控制,可以构成高精度的DAC,既降低了成本又解决了实际需要。

设计并制作一个基于单片机的16位DA输出,能够输出方波、三角波、正弦波这3种波形,在输出波形的同时能够实现波形的调频和调幅,波形在示波器上显示。
本设计可以通过按键控制实现波形调频,通过改变DA的基准电压输入来实现调幅。


第一种方案:直接采用16位DA转换芯片,让单片机对16位DA芯片进行控制,从而输出波形。
第二种方案:采用2个8位DA转换芯片DAC0832,两个DA芯片采用双缓冲数据输入方式,让单片机先后控制这两个DA芯片的数据输入,最后再一起把数据经DA转换器转换输出,从而输出波形。
最终采用第二种方案。


单片机

示波器
两个DAC0832
按键

实现了波形输出和波形的调频调幅。
三、硬件电路设计
:硬件电路用了STC89C51RC单片机,8位DA转换芯片DAC0832,运放LM358,还有MAX232.


:

软件设计
主程序流程图: 开始

调用
显示波形
子程序
调用
独立键盘扫描子程序
单片机端口
初始化
子程序独立按键检测及波形显示程序流程图
开始

判断键1是否被按下,是则置标志位a++;a>3置0

判断
标志位a
是否等于0

检测键2是否按下
波形调频延时函数时间标志位加大
否是

是否
波形调频延时函数时间标志位减小
检测键3是否按下


结束
开始
判断标志位a=1?

产生三角波

判断标志位a=2?

产生方波

判断标志位a=3?

产生正弦波

结束

总程序:
#include<>
#include<>
#include<>
#define uchar unsigned char
#define uint unsigned int
sbit da1wr1=P1^0;
sbit da1wr2=P1^1;
sbit da2wr1=P1^2;
sbit da2wr2=P1^1;
sbit ile=P1^3;
sbit cs=P1^2;
sbit key1=P3^4;
sbit key2=P3^5;
sbit key3=P3^6;
sbit key4=P3^7;
uint i=0;
uint ih=0;
uint il=0;
//uchar numdis=0;
uchar a=0;
uchar d=0;
uchar c=10;
uchar k;
uchar num=3;
uchar code tab[256]=
{
0x80,0x82,0x85,0x88,0x8b,0x8e,0x91,0x94,0x97,0x9a,0x9d,0xa0,0xa3,0xa6,
0xa9,0xac,0xaf,0xb2,0xb6,0xb9,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,,0xcf,
0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,
0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,
0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff