信号发生器设计.docx
- 文档编号:10639048
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:17
- 大小:280.94KB
信号发生器设计.docx
《信号发生器设计.docx》由会员分享,可在线阅读,更多相关《信号发生器设计.docx(17页珍藏版)》请在冰豆网上搜索。
信号发生器设计
电子系统综合设计报告
设计课题:
信号发生器电路
实训时间:
2012年11月26日---2012年12月14日
信号发生器的设计
摘要:
本文以STC89C51单片机为核心设计了一个低频函数信号发生器。
信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。
波形和频率的改变通过软件控制,幅度的改变通过硬件实现。
介绍了波形的生成原理、硬件电路和软件部分的设计原理。
关键词:
低频信号发生器;单片机;D/A转换
1、设计要求
设计一个能产生方波、三角波并且频率、占空比可调的信号发生器。
2、系统概述
2.1波形产生方案
采用AT89C51单片机和DAC0832数模转换器生成波形,生成的波形比较纯净。
它的特点是可产生任意波形,频率容易调节,频率能达到设计的500HZ以上。
2.2工作原理
数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。
89C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:
中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将89C51再配置键盘及、数模转换及波形输出、放大电路等部分,即可构成所需的波形发生器,其信号发生器构成系统框图如图2.2所示。
89C51是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的转换和信号幅度的调节。
当数字信号电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。
方波是通过控制高电平和低电平延时的时间来控制频率和占空比的大小!
三角波是通过一个自加程序实现的,通过控制每一次自加的时间来控制三角波的频率。
设计框架:
按键电路单片机数模转换电路波形输出
3、单元电路设计与分析
3.1.1主控电路(如图3.1.1所示)
设计中主要采用STC89C51型单片机,它具有如下优点:
(1)拥有完善的外部扩展总线,通过这些总线可方便地扩展外围单元、外围接口等。
(2)该单片机内部拥有4K字节的FLASHROM程序存储器空间和256字节的RAM数据存储空间,完全可以满足程序的要求。
由于该芯片可电擦写,故可重复使用。
如果更改程序内容,可将芯片拿下重新烧写。
在波形发生器中,用5开关直接波形与频率占空比的改变,其中S1开关用来改变波形,S2开关用来增加频率,S3开关用来减小频率,S4用来增加占空比,S5用来减少占空比。
由于频率较大时,三角波方波等波中每一点延时时间为几微秒,故延时时间还要加上指令时间即可得到指定频率的波形,该电路用12MHz晶振。
3.1.2数/模转换和运放电路
由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以必须用到数模转换器件,我们选用的DAC0832,此器件具有8位分辨率的数模转换,它价格低廉、接口简单、转换控制容易等优点。
DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。
但实际上,DAC0832输出的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的输出。
DAC0832是电流型输出,在应用时外接运放使之成为电压型输出。
以便于示波器显示其波形及调节其幅度。
所以又用到了运放,我们用到的是LM358,此运放采用±5V双电源供电,其内部集成有4个放大器,我们用到了其中两个,2和3,没有用到的放大器接地。
3.1.3器件间的连接(见附录2)
DAC0832的数据口和单片机的P2口相连。
1602与P3口相连!
图3.1.1主控电路图
3.1.4运算放大电路
LM358的同相端接Iout2并且接地,反相端接Iout1,输出端接RFB。
电源采用+/-5v电源供电!
图3.1.4运算放大电路
3.1.5液晶显示电路
1602接P3口,RS接P1.5PW接P1.6EN接P1.7;
3.2系统软件设计
软件设计上,根据功能分了几个模块编程。
模块主要有:
显示模块、按键模块、主程序模块!
3.2.1主程序:
所有程序都在主程序内,一直运行,通过标志按键,来获取是否有按键按下,如果有就执行切换程序,如果没有就继续显示,和输出上一次的波形!
4、频率的测量数据:
单位:
HZ
周期
T
2T
3T
4T
5T
6T
7T
8T
理论值
798.6
399.3
266.2
199.7
159.7
133.1
114.1
99.8
实际值
798.6
399.6
266.5
199.9
159.9
133.3
114.2
99.9
4.1出现的问题与解决的方法:
调试单片机的串口时,发现不能正常的下程序。
我想可能是单片机坏了借了一块学习板测试了一下单片机芯片,发现可以正常下载;刚开始写的测试程序输出的波形失真很大。
我想可能是波形的ROM表里的数据值过小,导致DA输出的误差很大。
因而我将波形的ROM表里的数据值调大,在测试时发现波形变得好多了;调试波形的时候我发现矩形波的失真比较大。
我想到可能是低通滤波器的截止频率太低了,因而我将RC低通滤波器的电阻由1K换成了100欧姆,效果好了很多。
4.2系统仿真波形:
4.3效果分析:
由Protus仿真可知频率误差很小。
最终的波形输出效果也很不错。
5结束语
基于单片机的信号发生器设计,这个信号发生器的设计中涉及到一个典型的控制过程。
通过单片机控制一个模数转换器DAC0832产生所需要的电流,然后使用运算放大器LM324可以将其电流输出线性地转换成电压输出,再将电压经过运算放大器的放大,可以得到足够幅度的信号。
通过程序的控制,可以产生一系列有规律的波形。
这样一个信号发生装置在控制领域有相当广泛的应用范围。
信号发生器可以生成更多的波形,只需要再加些波形表即可。
最终做出来的信号发生器满足了题目中的所有要求:
1.产生五种波形。
正弦波、三角波、矩形波、梯形波,锯齿波。
2.最大频率为798.6HZ。
并且频率可步进调节。
3.幅度可调,峰峰值在0——5V之间变化。
当然还是存在不足的地方,比如频率不高,频率太小时矩形波会有些失真,并且不是连续可调,只能步进调制。
参考文献:
[1]郭天翔.新概念51单片机C语言教程入门、提高、开发、拓展全.北京.电子工业出版社2009.1
[2]童诗白.模拟电路技术基础[M].北京:
高等教育出版社,2000.171~202.
[3]陈大钦。
电子技术基础实验。
北京:
高等教育出版社,2009.679~83.
[4]潘永雄沙河电子线路CAD实用教程西安:
西安电子科技大学出版社
附录
附录1:
源程序
#include"reg52.h"
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitRS=P1^5;
sbitRW=P1^6;
sbitEN=P1^7;
sbitP0_0=P0^0;
sbitP0_1=P0^1;
sbitP0_2=P0^2;
sbitP0_3=P0^3;
sbitP0_4=P0^4;
ucharBO_XING=0X00;
uintPIN_LV=200;
uintZHAN_KONG_BI=50;
uchartime=0;
ucharcodenum[]={"0123456789.-="};
ucharcodePinLv[]={"PinLv:
"};
ucharcodeZhanKongBi[]={"ZhanKongBi:
"};
ucharcodeHZ[]={"HZ"};
ucharcodebaifenhao[]={"%"};
uchardatadisp[4];
uchardatacood[2];
voiddelay(unsignedintt)//1ms
{
unsignedchari;
while(t--)
{for(i=0;i<124;i++);}
}
voiddelayus(unsignedchari)//6ius
{
while(--i);
}
voidlcd_busy(void)
{
while(P0&0X80)
{
RS=0;
RW=1;
EN=1;
EN=0;
EN=1;
}
EN=0;
}
voidwrite_com(ucharLCDzhiling)
{
lcd_busy();
RS=0;
RW=0;
P3=LCDzhiling;
EN=1;
delay
(1);
EN=0;
}
voidwrite_dat(ucharLCDshuju)
{
lcd_busy();
RS=1;
RW=0;
P3=LCDshuju;
delay(10);
EN=1;
delay
(1);
EN=0;
}
voidwrite_string(uchar*p)
{
while
(1)
{
if(*p!
='\0')
{
delay
(2);
RS=1;
RW=0;
P3=*p;
EN=1;
delay
(1);
EN=0;
p++;
}
else
break;
}
}
voidinit_LCD()
{
write_com(0x38);
write_com(0x01);
write_com(0x06);
write_com(0x0c);
}
main()
{
uchari;
staticucharANJIAN=0;
staticucharANJIAN0=0;
init_LCD();
EA=1;//开总中断
ET0=1;//允许定时器0中断
TMOD=0x01;//定时器工作方式选择
TL0=0Xd8;
TH0=0XF0;//10ms
TR0=1;//启动定时器
P0_0=1;
P0_1=1;
P0_2=1;
P0_3=1;
P0_4=1;
disp[1]=PIN_LV/100%10;
disp[2]=PIN_LV/10%10;
disp[3]=PIN_LV%10;
cood[0]=ZHAN_KONG_BI/10%10;
cood[1]=ZHAN_KONG_BI%10;
write_com(0x80);write_string(PinLv);
write_dat(num[disp[0]]);
write_dat(num[disp[1]]);
write_dat(num[disp[2]]);
write_dat(num[disp[3]]);
write_string(HZ);
write_com(0xc0);
write_string(ZhanKongBi);
write_dat(num[cood[0]]);
write_dat(num[cood[1]]);
write_string(baifenhao);
while
(1)
{
if(P0_0==0||P0_1==0||P0_2==0||P0_3==0||P0_4==0)
{
delay(10);
if(P0_0==0)ANJIAN=1;
elseif(P0_1==0)ANJIAN=2;
elseif(P0_2==0)ANJIAN=3;
elseif(P0_3==0)ANJIAN=4;
elseif(P0_4==0)ANJIAN=5;
}
elseANJIAN=0;
if(ANJIAN!
=ANJIAN0)
{
ANJIAN0=ANJIAN;
if(ANJIAN==1)
{
BO_XING=BO_XING^0x01;while(!
P0_0);
}
if(ANJIAN==2)
{
PIN_LV=PIN_LV+50;
if(PIN_LV>=500)
PIN_LV=500;if(PIN_LV<=0)PIN_LV=0;while(!
P0_1);
}
if(ANJIAN==3)
{PIN_LV=PIN_LV-50;
if(PIN_LV>=500)
PIN_LV=500;
if(PIN_LV<=0)
PIN_LV=0;while(!
P0_2);
}
if(ANJIAN==4)
{
ZHAN_KONG_BI=ZHAN_KONG_BI+5;
if(ZHAN_KONG_BI>=100)ZHAN_KONG_BI=100;
if(ZHAN_KONG_BI<=0)ZHAN_KONG_BI=0;
while(!
P0_3);}
if(ANJIAN==5)
{
ZHAN_KONG_BI=ZHAN_KONG_BI-5;
if(ZHAN_KONG_BI>=100)ZHAN_KONG_BI=100;
if(ZHAN_KONG_BI<=0)ZHAN_KONG_BI=0;
while(!
P0_4);}
disp[1]=PIN_LV/100%10;
disp[2]=PIN_LV/10%10;
disp[3]=PIN_LV%10;
cood[0]=ZHAN_KONG_BI/10%10;
cood[1]=ZHAN_KONG_BI%10;
write_com(0x80);
write_string(PinLv);
write_dat(num[disp[0]]);
write_dat(num[disp[1]]);
write_dat(num[disp[2]]);
write_dat(num[disp[3]]);
write_string(HZ);
write_com(0xc0);
write_string(ZhanKongBi);
write_dat(num[cood[0]]);
write_dat(num[cood[1]]);
write_string(baifenhao);
}
if(BO_XING==0X00)
{
P2=0X00;delayus(10000/6/PIN_LV*ZHAN_KONG_BI);
P2=0XFF;delayus(10000/6/PIN_LV*(100-ZHAN_KONG_BI));
}
elseif(BO_XING==0X01)
{
for(i=0;i<255;i++)
{
P2=i;delayus(100000/51/6/PIN_LV);
}
for(i=255;i>0;i--)
{
P2=i;delayus(100000/51/6/PIN_LV);
}
}
}
}
附录2:
总电路图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号发生器 设计