数字信号发生器原理Word文件下载.docx
- 文档编号:18103216
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:15
- 大小:617.79KB
数字信号发生器原理Word文件下载.docx
《数字信号发生器原理Word文件下载.docx》由会员分享,可在线阅读,更多相关《数字信号发生器原理Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
2.2设计方案
本次的设计任务是利用单片机实现四种波形输出,还有就是频率可调与频率显示,针对上述问题,做出如下分析,波形输出必然需要D/A转换,所以考虑到课设的性质,采用DAC0832芯片作为数模转换芯片,还有就是频率显示,因为是频率显示,所以采用三个七段共阴数码管显示频率,这样,在加上一些具体硬件和软件,即可满足设计要求。
2.3设计原理
用一块AT89C51实现键盘输入扫描与LED数码管显示控制,同时通过外中断向AT89C51发送频率控制与波形转换档位选择信息。
AT89C51通过接受外中断0的触发次数确定当前输出的波形,并且通过外中断1触发的次数确定当前波形的频率,总共合计16个状态,实现50HZ-200HZ的频率输出。
利用P1口和P2口实现频率显示数码管的控制,P1控制位选,P2控制段选,利用动态扫描方式进行显示。
利用DAC0832的双缓冲方式输出波形,外界两级集成运放实现信号放大与输出。
对于波形的产生,最简洁的办法是让单片机连续的输出一组数字量,并且每一个数字量都有一定的保持时间,这样在利用数模转换,即可实现不同波形的输出,可以将那些数字量统统放在一个表里,供输出是查找,至于那些数字量,自然是那些波形函数的一些点通过转换得到的八位二进制数或者是小于等于255的十进制数。
对于波形幅值的调节,可以通过对参考电压的调节实现,而频率的调节,则可以通过对每个数字量得保持时间的调节得到,显示部分前面已介绍,至此方案确定。
3.硬件设计
3.1单片机电路
单片机电路原理图如图1所示,单片机选选用Atmel公司的AT89C51,该芯片是一种高性能八位单片机,简单易控制,成本低,性能稳定,完全满足本系统的设计要求,复位电路和晶振电路是该单片机最简单的电路,复位电路采用最简单的上电复位,晶振频率为12MHz,晶振电容为30P.
图1单片机电路原理图
3.2D/A转换电路
D/A转换电路原理图如图2所示,主要包括D/A转换器、运算放大器和一些基准电压源。
D/A转换器选用前面提过的DAC0832。
D/A转换器的数据输如与单片机的P0口相连。
DAC0832的输入寄存器选择信号CS、DAC寄存器些宣统信号WR2和数据传送信号XFER直接与地相连,表明一直有效,输入寄存器些宣统信号WR1与单片机的写信号相连。
运放电路选用芯片AD711P。
该芯片具有低失真,高精度的特点。
图2D/A转换电路原理图
3.3频率数码显示电路
频率指示电路如图3所示,本系统的频率显示利用三个7段共阴数码管实现显示,利用P0口与P2口实现数码管的东太扫描,以达到显示的目的。
图3频率指示电路原理图
4.软件设计
4.1主程序流程图
主程序流程图如图4所示。
程序开始执行,中断初始化,调用显示函数,判断K值,K=0时,输出低电平,K=1时为方波输出;
K=2时为锯齿波输出;
K=3时为三角波输出;
K=4时为正弦波输出,痛过连续按键,可以依次在这四个波形之间切换。
图4主程序流程图
4.2方波流程图
图5方波产生流程图
4.3锯齿波产生流程图
图6锯齿波程序流程图
4.4三角波程序流程图
三角波程序流程图如图7所示,将0-255先送给DAC0832,然后在反过来将255-0送给DAC0832,从而可产生三角波。
图7三角波程序流程图
4.5正弦波程序流程图
正弦波程序流程图如图8所示。
正弦波波形设计通过查表指令得到。
当进入正弦波后,依次将一个256个数的表值送给DAC0832,即可得到波形。
图8正弦波程序流程图
4.6中断响应流程图
图9外中断流程图
外部中断0与外部中断1分别实现了波形频率调节与波形转换,通过对外部中断的计数实现了波形转换与频率增加。
4.7仿真结果:
图10方波波形
图11锯齿波波形
图12三角波波形
图13正弦波波形
5.总结
经过努力,本次单片机课程设计终于做完了,由于我知识水平有限,有很多不恰当的地方,请老师指正,我会虚心接受并修改。
在本次课程设计过程中,通过理论与实际的结合,增强了自己的动手能力和分析能力。
在课下与老师同学的交流和学习,思想上和专业知识课程上都提高了很多。
在此过程中,我学会了很多,也看到了很多自己的不足之处。
在单片机应用方面自己掌握还有待提高,在以后的学习生活中,我会更加努力学习专业知识,完善自我,为将来的发展做好充分的准备。
总之,在这次课程设计中,我受益匪浅,学到了很多书本上所没有的东西,懂得了理论和实际联系的重要性,使自身得到了锻炼。
明白了在以后的学习中,不仅要把理论知识掌握牢固,更要提高自己的动手能力、分析能力与实践能力。
参考文献
[1]江志红.51单片机技术与应用系统开发案例精选[M].:
清华大学,2008
[2]居义,马宁,易永红.单片机原理与工程应用[M].:
清华大学,2010
附录
程序清单:
#include<
reg51.h>
absacc.h>
#defineDAC0832XBYTE[0X0FFF]
intcodetable2[]={
100,102,104,107,109,112,114,117,119,121,
124,126,129,131,133,135,138,140,
142,144,147,149,151,153,155,157,
159,161,163,165,167,168,170,172,
174,175,177,178,180,181,183,184,
185,187,188,189,190,191,192,193,
194,194,195,196,197,197,198,198,
198,199,199,199,199,199,200,199,
199,199,199,199,198,198,198,197,
197,196,195,194,194,193,192,191,
190,189,188,187,185,184,183,181,
180,178,177,175,174,172,170,168,
167,165,163,161,159,157,155,153,
151,149,147,144,142,140,138,135,
133,131,129,126,124,121,119,117,
114,112,109,107,104,102,100,97,
95,92,90,87,85,82,80,78,75,
73,70,68,66,64,61,59,57,55,
52,50,48,46,44,42,40,38,36,
34,32,31,29,27,25,24,22,21,
19,18,16,15,14,12,11,10,9,
8,7,6,5,5,4,3,2,2,1,
1,1,0,0,0,0,0,0,0,0,
0,0,1,1,1,2,2,3,4,5,
5,6,7,8,9,10,11,12,14,
15,16,18,19,21,22,24,25,27,
29,31,32,34,36,38,40,42,44,
46,48,50,52,55,57,59,61,64,
66,68,70,73,75,78,80,82,85,
87,90,92,95,97,100
};
//正弦波形表
unsignedintcodeduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x0};
//数码管段选码
unsignedintcodewei[]={0xfe,0xfd,0xfb};
//数码管位选
unsignedintHZ=80;
//波形起始频率
unsignedintk=0,j=0;
//波形转换技术器
voiddelay(inti)//延时函数
{
while(i--);
}
voidfang()//方波函数
DAC0832=0;
delay(HZ*128);
DAC0832=0xff;
voidjvchi()//锯齿波函数
unsignedchari;
for(i=0;
i<
255;
i++)
{
DAC0832=i;
delay(HZ);
}
voidtran()//三角波函数
for(i=0;
{
DAC0832=i;
delay(HZ);
}
for(i=255;
i>
0;
i--)
voidsin()//正弦波函数
unsignedinti;
256;
DAC0832=table2[i];
voidint0(void)interrupt0//外中断0
HZ=HZ+10;
j=j+1;
if(j==16)j=0;
if(HZ==250)HZ=80;
voidint1(void)interrupt2//外中断1
k=k+1;
if(k>
=5)k=0;
voidmain(void)//主函数
IE=0x85;
TCON=0x05;
while
(1)
if(k==1)fang();
if(k==2)jvchi();
if(k==3)tran();
if(k==4)sin();
if(k==0)DAC0832=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 发生器 原理