低频信号发生器设计论文文档格式.docx
《低频信号发生器设计论文文档格式.docx》由会员分享,可在线阅读,更多相关《低频信号发生器设计论文文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
aofmicrocontrollerasthecoredesignThispapertakesSTC89C52
frequencyfunctiongenerator.Thesignalgeneratorthroughacombination
ofhardwarecircuitandsoftwareprogram.Canoutputsinewave,square
offrequencytrianglewave,trapezoidalwave,Thewave,trianglewave,
and。
Thewaveformcertainwaveformcanbechangedinarangethe
frequencyarechangedbysoftwarecontrol,Thispaperintroducesdesign
ofsoftwarepartgeneratingprinciple,hardwarecircuitandofprinciple
waveforms,Thissystemcanproducethemaximumfrequencyof1440HZ
waveform,Thesignalgeneratorhastheadvantagesofsmallvolume,low
price,stableperformance,completefunctions.
microcomputerlow-frequencyKeywords:
chip
signal
generator
D/Aconversion
一、设计选题及任务
设计题目:
基于单片机的信号发生器的设计与实现.
任务与要求:
设计一个由单片机控制的信号发生器。
运用单片机系统控制产生方波、三角波、正弦波。
信号发生器所产生的波形的频率可调节。
并可通过软件任意改变信号的波形。
基本要求:
1.产生三种以上波形。
如正弦波、三角波、矩形波等。
2.信号频率小于50KHz。
并且频率可调节。
二、系统概述
2.1方案论证和比较
方案一:
采用模拟电路搭建函数信号发生器,它可以同时产生方波、三角波、正弦波。
但是这种模块产生的波形偏差较大,并且频率不易调节。
方案二:
使用集成信号发生器发生芯片,它可以生成最高几十MHZ的波形。
但是该方案所用芯片价格昂贵,不适合本次设计。
方案三:
采用STC89C52单片机和DAC0832数模转换器生成波形,加上一个低通滤波器,生成的波形比较纯净。
它的特点是可产生满足条件的波形,频率容易调节,频率能达到设计的1KHZ以上。
在低频范围内稳定性好、操作方便、体积小、耗电少。
经比较,方案四既可满足课程设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比高,所以采用该方案。
2.2工作原理
数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。
89C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件,只要将89C51再配置按键以及数模转换及波形输出、放大电路等部分,即可构成所需的波形发生器,其信号发生器构成系统框图如下图所示:
波形数模转换电路单片机按键电路表ROM放大电路电低通滤波形输出
系统框图
STC89C52是整个波形发生器的核心部分,通过程序的编写和执
行,产生满足条件的信号,并从按键接收命令,进行各种波形的转换。
当数字信号电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。
波形ROM表是将信号一个周期等间距地分离成64个点,储存在
单片机得RON内,具体ROM表是通过MATLAB软件生成的。
三、系统设计与分析
3.1系统硬件电路设计
3.1.1主控电路
设计中主要采用STC89C52型单片机,它具有如下优点:
(1)拥有完善的外部扩展总线,通过这些总线可方便地扩展外围单元、外围接口等;
(2)该单片机内部拥有4K字节的FLASHROM程序存储器空间和256字节的RAM数据存储空间,完全可以满足程序的要求。
由于该芯片可电擦写,故可重复使用。
如果更改程序内容,可将芯片拿下重新烧写;
(3)该单片机与工业标准的MCS-51型机的指令集和输出引脚兼容。
中断系统是使处理器具有对外界异步事件的处理能力而设置的。
当中央处理器CPU正在处理某件事的时候外界发生了紧急事件,要求CPU暂停当前的工作,转而去处理这个紧急事件。
在波形发生器中,用两个开光直接与外部中断0和外部中断1的开光用来改变频率。
在程S2开光用来改变波形,S1管脚相连,其中
序主函数中,我们写了个死循环一直输出一个默认的波形,在本程序中设定为正弦波。
当S1或S2按下又抬起时,程序会暂时跳出死循环,进入中断处理程序,从而对波形和频率进行改变。
时钟电路。
由于频率较大时,三角波、正弦波、方波等波中每一点延时时间为几微秒,故延时时间还要加上指令时间即可得到指定频率的波形,该电路用11.0592MHz晶振。
主控电路图
3.1.2数/模转换电路
由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以该文选用价格低廉、接口简单、转换控制容易并具有8位分辨率的数模转换器DAC0832。
DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。
但实际上,DAC0832输出的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的输出。
DAC0832是电流型输出,在应用时外接运放使之成为电压型输出。
根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,本单缓冲方式和双缓冲方式。
直通方式、有三种工作方式:
DAC0832.
设计选用直通方式。
DAC0832的数据口和单片机的P0口相连。
CSDA:
片选信号输入线(选通数据锁存器),低电平有效;
WR:
数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。
由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存。
数模转换电路
3.1.3运算放大电路和低通滤波电路
LM324的5管脚与DAC0832的(IOUT2)12管脚相连,LM324的6管脚与DAC0832的(IOUT1)11管脚相连,LM324的7管脚与DAC0832的REF(9)管脚相连。
第一级运算放大器的作用是将DAC0832输出的电流信号转化为-通过反向放大电路V1,第二级运算放大器的作用是将V1电压信号.
(R2/R1)倍。
在第二个运算放大器的输出端连了一个低通滤波器。
如果不加低通滤波器,也能够生成波形,但是产生的信号中毛刺很多,加一个低通滤波器不仅起到的滤波的作用,还起到了平滑的作用。
实验表明,此时的输出波形效果不错。
3.2系统软件设计
软件设计上,根据功能分了几个模块编程。
模块主要有:
主程序模块,外部中断0模块,外部中断1模块,液晶显示模块。
主程序:
主程序先是进行一些初始化的工作,然后根据波形标志a,b,c,d,e的值进入相应的while循环。
这样写的好处是输出的波形频率可以达到1K多HZ。
在while循环中,单片机根据地址标志位不停地查表,然后把查得的值赋给DAC0832的数据口,然后地址标志位加一,并判断地址标志位是否等于64,如果是就置0再往下执行,如果不是直接往下执行。
然后根据频率标志位进行相应的延时。
开始输出数字量给DAC0832数据口初始化地址标志位加1根据a,b,c,d,e的值进入相应的while循环地址标志位是否64否等于while循环地址标志位置0根据地址标志位查表相应延时(对应频率)
主程序流程图
中断服务程序:
本程序中两个外部中断分别起到了控制波形和频率的作用。
在程序中还加入了消抖部分。
根据波形标志波形标志位相应处是否有中断波形标志位是是0外部中断波形标志位加1号5否等于否根据频率标志做频率标志位置0相应处理否频率标志位是是否有中断信是是1外部中断1频率标志位加8否等于号否
四、安装调试及测量数据分析
4.1调试过程
1、不通电,用万用表根据电路图仔细检查各线路连接是否正常;
2、首先是调试单片机部分,DA转换芯片和运算放大器芯片不接。
用STC_ISP_V483软件通过串口下程序。
看是否可以正常下载程序;
3、装上DA装换芯片和运算放大器芯片,给单片机下一个输出正弦波的测试程序,通过示波器看输出是否正常;
4、给单片机下载一个完整的程序,分别按下S1,看波形是否改变,按下S2,看频率是否改变。
4.3出现的问题与解决的方法:
1、刚开始写的测试程序输出的波形失真很大。
我们想可能是波转换芯片输出的误差很大。
DA表里的数据值过小,导致ROM形的.
因而将波形的ROM表里的数据值调大,在测试时发现波形偏差小了许多。
2、调试波形的时候我们发现矩形波的失真比较大,于是我们想到可能是低通滤波器的截止频率太低了,因而我们将RC低通滤波器的电阻由1K换成了100欧姆,效果好了很多。
4.4系统仿真波形:
矩形波
三角波
正弦波
4.5调试所用仪器
1、示波器
2、直流稳压电源
3、万用表
五、结语
在本次信号发生器的设计中,涉及到一个典型的控制过程,通过单片机控制一个模数转换器DAC0832产生所需要的电流,然后使用可以将其电流输出线性地转换成电压输出,再将LM324运算放大器.
电压经过运算放大器的放大,可以得到足够幅度的信号。
通过程序的控制,可以产生一系列有规律的波形。
这样一个信号发生装置在控制领域有相当广泛的应用范围。
最终做出来的信号发生器满足了题目中的所有要求:
1.产生满足条件的波形,正弦波、三角波、矩形波;
2.最大频率为1440Hz,并且频率可以通过按键控制变化。
当然在本次系统中,还是存在不足的地方,比如不能实现频率的按一个小的步进调整。
并且当频率太小时矩形波会出现失真。
实物图
参考文献:
【1】郭天翔.新概念51单片机C语言教程入门、提高、开发、拓展全.北京.电子工业出版社2009.1
【2】童诗白.模拟电路技术基础[M].北京:
高等教育出版社,2000.171~202.
【3】张金.电子系统设计基础.电子工业出版社.2011.1
附录:
源程序
#include<
reg52.h>
#defineucharunsigne