毕业设计--数字信号发生器的电路设计内容摘要:

第 14 页 共 38 页 LM358 性能参数 [14]  内部频率补偿  直流电压增益高 (约 100dB)  单位增益频带宽 (约 1MHz)  电源电压范围宽:单电源 (3— 30V);双电源 (177。 ~ 177。 15V)  低功耗电流,适合于电池供电  低输入偏流  低输入失调电压和失调电流  共模输入电压范围宽,包括接地  差模输入电压范围宽,等于电源电压范围  输出电压摆幅大 (0 至 Vcc~ ) 波形输出模块设计 本设计要求实现幅值 0~ 5V可调任意可调,用示波器测量可得到, DAC0832 输出转换成电压后幅值 左右 ,所以要加上一个放大环节 [15],使 输出幅值达到 5V,然后再通过一个滑动变阻器实现 0~ 5V 电压幅值任意可调。 波形输出模块原理图如下: D3D2D1D0D4D5D6D7WRV RE F8G ND3V C C20CS1W R 12DI 34DI 25DI 16DI 07RF B9G ND10I O UT 111I O UT 212DI 713DI 614DI 515DI 416X F E R17W R 218I L E ( B Y 1 /B Y 2 )19U2DA C08 3 2+5v321411U4L M 3 5 8+ 1 2 v 1 2 V+ 5 V321411U4L M 3 5 8R11kR21kR31k+ 1 2 V 1 2 V+ 5 VR61kR V 21kABCD 图 波形输出模块原理图 第 15 页 共 38 页 4 系统软件设计 主流程图 图 主程序流程图 N N N N N N 1602 初始化 键值扫描 key1=0 key2=00 key3=0 key5=0 key4=0 key6=0 输出正弦波 显示波型频率数值 输出方波 显示波型频率数值 显示 波型频率数值 显示波型频率数值 输出三角波 输出锯齿波 频率增加 频率减小 开始 第 16 页 共 38 页 正弦波程序流程图 正弦波 [16]程序流程图如图。 正弦波波形设计通过查正弦波表得到。 当进入正弦波后,依次将一个 256个数的表值送给 DAC0832,即可得到波形。 图 正弦波程序流程图 方波程序流程图 图 方波程序流程图 开始 i=0。 DAC0832=sin[i]。 延时 i=i+1。 i255 Y N Y N 开始 DAC0832=0xff。 DAC0832=0。 延时 延时 Y N Y N 第 17 页 共 38 页 三角波程序流程图 三角波 [17]程序流程图如图 ,将 0255先送给 DAC0832,然后在反过来将 2550送给 DAC0832,从而可产生三角波。 图 三角波程序流程图 开始 i=0。 DAC0832=i。 延时 i=i+1。 i255 i=255。 DAC0832=511i。 延时 i=511 i++。 Y N Y N Y N N Y 第 18 页 共 38 页 锯齿波程序流程图 锯齿波 [18]程序流程图如图 所示,将 0255 反复送给 DAC0832,从而可产生三角波。 图 三角波程序流程图 仿真结果 正弦波的仿真结果: 开始 延时 i255 i=0。 DAC0832=i。 i=i+1。 Y N Y N 第 19 页 共 38 页 图 正弦波 1602显示 图 正弦波波形 方波的仿真结果: 第 20 页 共 38 页 图 方波 1602显示 图 方波波形 三角波的仿真结果: 第 21 页 共 38 页 图 三角波 1602显示 图 三角波波形 锯齿波的仿真结果: 第 22 页 共 38 页 图 锯齿波 1602显示 图 锯齿波波形 第 23 页 共 38 页 5 结论 基于 AT89C52 单片机的信号发生器设计,这个信号发生器的设计中涉及到一个典型的控制过程。 通过单片机控制一个模数转换器 DAC0832[19]产生所需要的电流,然后使用运算放大器 LM3585 可以将其电流输出线性地转换成电压输出,再将电压经过运算放大器的放大,可以得到足够幅度的信号。 然后通过程序的控制,产生一系列有规律的波形。 这样一个信号发生装置在控制领域有相当广泛的应用范围。 最终做出来的信号发生器满足了题目中的所有要求:。 正弦波、三角波、矩形波、锯齿波。 ; 0~ 5V之间任意可调。 当然还是存在不足的地方,比如频率不能以小的步进进行增加或者减小,并且当频率太小时波形会有些失真。 在这里得感谢学校为我们提供个这样一个实践的机会,感谢指导老师们的细心指导。 第 24 页 共 38 页 附录 A 源程序 include sbit lcden=P3^5。 sbit lcdrw=P3^6。 sbit lcdrs=P3^7。 sbit dacwr=P3^4。 sbit key1=P2^0。 sbit key2=P2^1。 sbit key3=P2^2。 sbit key4=P2^3。 sbit key5=P2^4。 sbit key6=P2^5。 int flag1。 flag2,flag3,flag4。 int qian,bai,shi,ge,k。 unsigned char i,j。 char a[]=wave:,b[]=fre:,c1[]=sin ,c2[]=square ,c3[]=triangle ,c4[]=sawtooth。 unsigned char code sin[256]= { 0x80,0x82,0x85,0x88,0x8b,0x8e,0x91,0x94,。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。