波形发生器设计制作报告Word文档格式.docx
《波形发生器设计制作报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《波形发生器设计制作报告Word文档格式.docx(30页珍藏版)》请在冰点文库上搜索。
17、附录1..................................................................................22
18、附录3..................................................................................23
摘要:
本系统的设计采用宏晶的STC89C52RC8位单片机作为主控器,去控制ADC0804和DAC0808发出要求的信号,用拨动键盘作为系统的输入,12864图形液晶显示器作为系统的显示部分输出系统的各种信息(如波形类型、频率、幅度以及其他信息)。
该系统的工作过程由键盘控制,通过键盘上的功能键将信息输入单片机,单片机将数据传送到ADC0804和DAC0808的内部存储空间,DAC0808根据其内部存储空间的信息产生指定的波形,再通过其外部的运放产生所要求产生的波形。
用I2C芯片(AT24C02)作为数据存储芯片完成系统信息的存储和重要信息掉电保护。
关键字:
波形发生器、STC89C52RC、ADC0804、DAC0808、I2C、12864
一、方案比较及论证
1、主控器型号的比较与论证:
方案一:
采用AT89S52作为主控器,该单片机采用MCS-51内核,4.0V—5.5V工作电压,8K程序存储器,512B数据存储器,0—33MHZ晶振频率,32个可编程I/O,八个中断源,三个定时器,自带看门狗。
方案二:
采用STC89C52RC作为主控器,该单片机采用MCS-51内核,3.8V—5.5V的工作电压,8K的程序存储器,512B的数据存储器,其中包括1KB的EXTRAM,0—80MHZ的晶振频率,32个可编程I/O,八个中断源,三个定时器,四级中断、双数据指针,自带看门狗。
鉴于STC89C52工作电压宽,晶振频率高,并且有1024B的EXTRAM可实现突然掉电时短时间的数据保护等优点,采用方案二。
2、信号产生电路的比较与论证:
方案一:
采用单片函数发生器(MAX038)
MAX038的性能特点:
(1)、能精密地产生三角波、锯齿波、矩形波(含方波)、正弦波信号。
(2)、频率范围从0.1Hz~20MHz,最高可达40MHz,各种波形的输出幅度均为2V(P-P)。
(3)、占空比调节范围宽,占空比和频率均可单独调节,二者互不影响,占空比最大调节范围是10%~90%。
(4)、波形失真小,正弦波失真度小于0.75%,占空比调节时非线性度低于2%。
(5)、采用±
5V双电源供电,允许有5%变化范围,电源电流为80mA,典型功耗400mW,工作温度范围为0~70℃。
(6)、内设2.5V电压基准,可利用该电压设定FADJ、DADJ的电压值,实现频率微调和占空比调节。
该芯片波形及方波的占空比等都是用模拟量来控制的,如用数字量来控制需通过数字电位器或D/A芯片来转换,这样一来控制精度就会下降,控制起来不方便,并且价格比较昂贵,性价比不高。
还有就是给芯片自身的缺点占空比在10%—90%,不能更好的满足题目要求。
方案二:
采用集成DAC08081和ADC0804集成芯片
利用8位D/A转换器DAC0808,可以将8位数字量转换成模拟量输出。
数字量的输入范围为0-255之间,对应输出的模拟量在VREF-到VREF+之间。
根据这一特性,我们可以很好的利用单片机的并行口输出得数字量,从而产生我们想要的波形。
如在VREF+端串接一电位器,调节VREF的电压,即可达到调节波形幅度的目的。
利用A/D转换器ADC0804,通过调节输入转换的模拟电压值,从而产生8位二进制数作为延时函数,通过电位器即可控制输出波形的频率。
鉴于DAC0808和ADC0804应用广泛,性能稳定、价格低廉、性价比高等诸多优点,因此采用方案二。
3、键盘的选择与论证:
采用138译码器实现键盘
电路如上图:
该方案优点为占用I/O较少,缺点为扫描次数多,占用较多的处理时间。
采用4位拨动键盘,电路如下图:
该方案优点为电路简单,占用较少的I/O口,可以节约很多I/O的资源。
结合电路设计,为了节约I/O口的资源,使电路更加紧凑简单,所以选择方案二。
4、屏幕的选择与论证
采用LED(数码管)做显示电路,LED(数码管)具有高亮度,高刷新率的优点,能提供宽达160°
的视角,可以在较远的距离上看清楚并且经济耐用。
但是它的显示存在信息量少,显示不直观,不易理解的缺点。
采用LCD12864图形液晶显示,LCD12864图形液晶可以根据送入的数据来显示各种图案、文字、字符等,不但可以指示当时波形、频率、占空比,还可以显示相应的控制命令,信息量丰富且直观易懂。
另外,液晶显示有功耗低,体积小,质量轻,寿命长,不产生电磁辐射污染等优点。
综合二者的优缺点,以及本系统要显示较多的信息,选用方案二,用LCD12864图形液晶来显示。
相关电路连接图以及显示信息如下:
2、设计与论证
(1)、本作品要实现的是各个波形的基本输出,如输出方波、三角波、正弦波以及任意波性。
这些波形的实现步骤大致如下:
对于方波的实现方法可以是连续输出一个数,当达到某个值时改变一下这个值,值的定义可以为正极性,也可以为负极性;
对于三角波的实现方法可以是先加后减,可以从00H开始加1直到溢出后开始执行减1操作,就这样不断的调用这个循环便可实现三角波波的产生;
对于正弦波的实现过程则相对复杂些,具体过程是通过定义一些数据,然后在执行时直接输出这些已定义的数据便可;
对于任意波形的实现则可以通过其他基本波形的组合。
(2)、通过P1口和开关k1—k4相连接来控制各个波形的输出,根据k1—k4键的状态来实现波形的切换,开关向上接“1”则有波形输出,开关向下接“0”则无波形输出。
例如:
k1向上拨,k2-k4向下拨,则有方波产生,k2向上拨,k1、k3、k4向下拨则产生任意波形,依次类推便可以产生三角波和正弦波。
3、理论分析与计算
(一)、理论分析
本系统采用STC89C52RC单片机作为主控器,对整个系统进行控制,并驱动液晶显示器和键盘,键盘采用4位拨动键盘作为系统的输入。
由单片机对ADC0804和DAC0808来进行控制,运放对ADC0804和DAC0808输出地波形进行滤波和整形是电路产生较标准的方波、三角波和正弦波。
(2)、理论计算
对于信号的产生可用8位D/A转换器DAC0808,它可以将8位数字量转换成模拟量输出。
数字量的输出范围在0-255之间,所对应的模拟量输出的范围在VREF-到VREF+之间。
例如要产生幅度为0-5V的三角波,只需将DAC0808的VREF-接地,VREF+接+5V,单片机的并行口首先输出00H,再输出01H、02H,这样一直加1直到溢出后再执行减1操作,不断循环次过程,输出端就可以输出0-5V的三角波。
4、总体设计框图
图1总体设计框图
5、部分模块电路
(1)、D/A转换电路
图2D/A转换电路
该模块利用8位D/A转换器DAC0808,可以将8位数字量转换成模拟量输出。
从而实现了数字量到模拟量的转换。
(2)、单片机控制及指示电路
图3单片机控制及指示电路
该模块利用单片机来对输出的波形进行有效的控制,选择不同的拨动键盘时指示灯则显示相应的波形指示。
(3)、波形频率设定电路
图4波形频率设定电路
该模块主要对输出波形的频率进行设定和调节,通过A/D转换器件ADC0804来调节输入转换的电压值,从而产生8位二进制数作为延时函数,使用电位器RV2来调节输出波形的频率。
(4)、电源电路
图5正负15伏电源电路
图65伏电源电路
该模块主要实现对所设计的电路提供有效的电压值,从而使电路能够正常有效的工作。
6、设计所需芯片及介绍
(1)、ADC0804芯片介绍:
ADC0804是一种8位CMOS逐次逼近型的A/D转换器,三态锁定输出,存取时间大约为135us,8位分辨率,转换时间大约为100us,总误差位正负1LSB,工作温度区间为0oC-70OC,其引脚及说明见下图。
图7ADC0804引脚图
1)/CS芯片选择信号。
2)/RD外部读取转换结果的控制输出信号。
/RD为HI时,DB0~DB7处理高阻抗:
/RD为LO时,数字数据才会输出。
3)/WR:
用来启动转换的控制输入,相当于ADC的转换开始(/CS=0时),当/WR由HI变为LO时,转换器被清除:
当/WR回到HI时,转换正式开始。
4)CLKIN,CLKR:
时钟输入或接振荡无件(R,C)频率约限制在100KHZ~1460KHZ,如果使用RC电路则其振荡频率为1/(1.1RC)
5)/INTR:
中断请求信号输出,低地平动作.
6)VIN(+)VIN(-):
差动模拟电压输入.输入单端正电压时,VIN(-)接地:
而差动输入时,直接加入VIN(+)VIN(-).
7)AGND和DGND:
模拟信号以及数字信号的接地。
8)VREF:
辅助参考电压。
9)DB0—DB7:
8位数字的输出。
10)VCC:
电源供应以及作为电路的参考电压。
(2)DAC0808芯片介绍:
DAC0808是8分辨率的D/A转换集成芯片,它由8位输入锁存器,8位DAC寄存器,8位D/A转换电路以及转换控制电路构成。
其电流建立时间大约为150ns,8位分辨率。
其引脚及定义见下图。
图8DAC0808引脚图
1)/CS:
片选信号输入线,低电平有效。
2)VREF+和VREF_:
3)IOUT:
电流输出端。
4)VEE:
负电源输入端。
5)COMP:
与VEE之间接电容(R14=5K时,(R14为14引脚的外接电阻),一般为0.1uF,电容必须随着R14的增加而适当的增加。
)
6)A1—A8:
8位并行数据输入端。
(A1为最高位,A8为最低位)
七、总体设计功能图
图9总体设计功能图
八、软件设计流程图
(1)、方波的产生过程
要实现方波的输出,只需开始是设置一个初值然后直接输出这个初值就行了,输出一段时间后,然后再重新设置一个数据,然后再输出这个数据一段时间,但此时的时间一定要等于前面的那段时间,这样才是方波的输出。
图10方波产生流程图
(2)、三角波的产生过程
三角波的实现是设置一个初值,然后进行加1操作,当加到某个值是再进行减1操作。
可以从00H开始加1直到溢出后开始执行减1操作,就这样不断的调用这个循环便可实现三角波波的产生。
图11三角波产生流程图
(3)、正弦波的产生过程
正弦波的的实现方法则相对比较复杂,具体过程是通过定义一些数据,然后在执行时直接输出这些已定义的数据便可。
图12正弦波产生流程图
九、系统调试与仿真
(一)、调试与仿真:
本设计主要应用了protues和keilC进行系统的设计与仿真,经过仿真后,效果比较好。
示波器可以输出正确的方波、任意波、三角波和正弦波,并且所输出波形的幅度和频率均可调。
(2)、仿真结果:
各种波形仿真结果如下:
图13方波仿真结果
图14三角波仿真结果
图15正弦波仿真结果
图16任意波形仿真结果
十、测试方法与仪器
(1)、测试方法
将作品输出端正确接入示波器中,通过选择不同键位来输出不同的波形,然后观察所输出的波形以及波形的幅度和频率。
通过调节电位器RV1和RV2来改变所输出波形的幅度和频率。
观察所得的数据是否与题目所要求的值相符合,并与实验室给出的波形发生器进行比较。
(2)、测试仪器
示波器一台、信号发生器一台、数字万用表一台、导线若干。
十一、测试数据与分析
(1)、测试数据:
经过反复实验,我们用STC89C52RC八位单片机和ADC0804和DAC0808芯片,基本上完成了题目所要求的部分实现功能:
⑴方波
①信号频率:
80Hz至535Hz步进调整,步长为100Hz。
②频率稳定度:
优于10-4。
③非线性失真系数:
≤3%。
④方波的幅度可步进调整,调整范围为0mV至10V,步长为100mV。
(2)、能够产生任意波形,且频率和幅度均可调。
(3)三角波
124Hz至19.8kHz步进调整,步长为95Hz。
④三角波的幅度可步进调整,调整范围为0mV至10V,步长为100mV。
(4)、正弦波
142Hz至54Hz步进调整,步长为97Hz。
④正弦波和脉冲波的幅度可步进调整,调整范围为0mV至5V,步长为100mV。
(5)、具有波形显示功能,用发光二极管的亮灭指示来显示所输出波形的类型。
(6)具有稳幅输出功能,当负载变化时,输出电压幅度变化很微小,能在误差允许的范围内。
(7)能够产生多次特定波形的射出。
(8)能够产生三种波形的线性组合波形。
(2)、测试结果分析:
在这次电子设计竞赛中,我们的作品所得的结果不是特别明显,对此我觉得我们可能使在某些硬件或软件的设计存在不当的地方,或者是由于在焊接电路是由于不小心造成电路的错接,因此我们就可能出现的原因做以下分析:
(1)、由于方案的选择没有达到最优方案,或是在方案的某些核心电路的设计上没有达到尽善尽美的电路,甚至会出一些小的差错,从而使所设计的电路只能满足题目中的某些要求,和题目的要求产生一定的偏差。
(2)、对于软件的设计可能也有一些不合理的地方,比如说没有达到最优化的效果,使得程序有一定的冗余,从而造成不必要的资源浪费和没有达到题目的要求。
(3)、由于对知识的系统掌握还不够熟练,使得本设计的液晶显示部分、波形存储部分的程序和D/A及A/D转换部分的程序产生干扰,从而使波形不能够正常的输出,为了不影响本设计的整体效果,因此将液晶显示部分和波形存储部分电路给省略掉了。
在以后的设计当中,还需掌握更多更系统的知识,已解决这部分别的问题。
(4)、由于PCB板的布局布线的不当或是在硬件调试测试方法的不科学,也有可能影响到设计的效果。
这在以后的学习和制作过程中我们会更加注意这方面的操作习惯,以培养我们合理科学的动手调试和测试的能力。
十二、心得
自始自终我们团队都本着以科技创新,迎难而上的精神来参见本次竞赛,在这四天的设计当中,我们碰到许多问题,使我们认识到处理问题可以用多方法、多角度地处理。
使我们不仅增强了实践能力和协作精神,而且懂得了联系实际的重要性,这对我们今后的学习和工作是不无裨益。
在整个作品的制作过程中,我们在团队的分工、以及团队协作方面都做得很好。
都发挥出每一个队员的优势,充分体现出了“电子设计竞赛”中团队协作的精神,我们这种取每个人之所长的分工方式,尽量发挥出每一个队员的优势,使我们的工作能够顺利、有序的开展。
当然,我们的设计受到时间、地域和价格的限制,还有可以改进的地方,希望能在将来设计中进一步功能扩充。
在此恳请各位老师批评指正。
十三、致谢
该报告将STC89C52RC单片机、A/D转换器件ADC0804和D/A转换器件DAC0808相结合,给出了作品的整体硬件设计和相应的软件流程图,能较好的实现其功能。
值此之际,我们团队衷心感谢校教务处及学院老师和同学们的支持与帮助。
对赵行知老师、孙向荣老师和聂思敏老师的指导、帮助和支持表示衷心的感谢,团队的每一步成长都离不开他们的指引。
感谢各位专家、评委的批评指正。
十四、结语
随着新科技、新材料、新器件的不断涌现,波形发生器作为一种常用的信号源,将广泛的应用于电子电路、制动控制系统和教学实验等领域额。
本设计是将单片机作为主控芯片所构成的波形发生器可以产生方波、三角波和正弦波等多种波形,并且波形的幅度和频率可调,具有线路简单、结构紧凑和性价比高等优点。
参考文献
1、《单片机C语言编程与实例》赵亮侯国瑞人民邮电出版社
2、《单片机语言C51应用实战集锦》范凤强电子工业出版社
3、《集成运放应用电路设计360例》王昊李昕电子工业出版社
4、《单片机电路设计、分析与制作》周润景机械工业出版社
5、《51单片机C语言教程》郭天祥电子工业出版社
6、《电子技术基础》康华光高等教育出版社
7、《数字电子技术》江晓安西安电子科技大学出版社
8、《电子线路CAD实用教程》潘永雄西安电子科技大学出版社
附录1:
波形发生器电路总设计原理图:
附录2:
程序代码:
#include<
reg52.h>
#defineucharunsignedchar
#defineuintunsignedint
sbitSQU_K=P3^4;
sbitWAN_K=P3^5;
sbitTRI_K=P3^6;
sbitSIN_K=P3^7;
sbitSQU_L=P1^0;
sbitWAN_L=P1^1;
sbitTRI_L=P1^2;
sbitSIN_L=P1^3;
sbitINTad=P3^3;
sbitCS=P3^0;
//使能端
sbitW_R=P3^2;
//写端口
sbitR_D=P3^1;
//读端口
ucharcodesin_tab[]={0,0,0,0,1,1,2,3,4,5,6,8,
9,11,13,15,17,19,22,24,
27,30,33,36,39,42,46,49,
53,56,60,64,68,72,76,80,
84,88,92,97,101,105,110,114,
119,123,128,132,136,141,145,150,
154,158,163,167,171,175,179,183,
187,191,195,199,202,206,209,213,
216,219,222,225,228,231,233,236,
238,240,242,244,246,247,249,250,
251,252,253,254,254,255,255,255,};
//延时函数
//{
//while(time!
=0)
//{
//uinti;
//for(i=0;
i<
100;
i++)
//time--;
//}
//}
//读ADCO0804子程序
ucharadc0804(void)
{
uchardat,i;
R_D=1;
W_R=1;
INTad=1;
P2=0xff;
CS=0;
W_R=0;
while(INT1==1);
R_D=0;
i=i;
dat=P2;
CS=1;
return(dat);
}
//方波发生函数
voidsquare()
uchara,b;
for(a=0;
a<
127;
a++)
{
P0=0xff;
P2=0xff;
b=adc0804();
b=~b;
while(b--);
}
P0=0;
//锯齿波发生函数
voidsawtooth()
w