收藏 分销(赏)

波形发生器设计方案报告.doc

上传人:a199****6536 文档编号:3032099 上传时间:2024-06-13 格式:DOC 页数:27 大小:1.54MB 下载积分:10 金币
下载 相关 举报
波形发生器设计方案报告.doc_第1页
第1页 / 共27页
波形发生器设计方案报告.doc_第2页
第2页 / 共27页


点击查看更多>>
资源描述
波 形 发 生 器 设 计 报 告 摘要 波形发生器是一种惯用信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。函数信号发生器是一种可以产生各种波形,如三角波、锯齿波、矩形波(含方波)、正弦波电路。函数信号发生器在电路实验和设备检测中具备十分广泛用途。通过对函数波形发生器原理以及构成分析,可设计一种能变换出三角波、正弦波、方波函数波形发生器。当前使用信号发生器大某些是函数信号发生器,且特殊波形发生器价格昂贵。因此本设计使用是DAC0832、ICL8038构成发生器,可产生方波、正弦波等各种特殊波形和任意波形,波形频率可用程序控制变化。在单片机上加外围器件独立式键盘,通过键盘控制波形频率增减、波形幅度大小以及波形选取,并用了LCD显示频率大小、波形种类。在单片机输出端口接DAC0832进行D/A转换,通过运放进行波形调节,再通过ICL8038函数发生器,最后输出波形。本设计具备线路简朴、构造紧凑、价格低廉、性能优越等长处。 本设计制作波形发生器是基于STC89C54RD+单片机可调频发生器,可以输出各种不同频率方波、正弦波,输出波形频率、幅度均可调,且操作以便。 核心词:波形发生器;DAC0832;IC8038;单片机 一、方案论证 4 1.1设计规定 4 1.2方案论证 4 二、硬件系统设计 5 2.1整体框架图 5 2.2电源模块设计 5 2.2.1 电源原理 5 2.2.2 芯片简介 6 2.3输入模块设计 7 2.3.1按键控制模块 7 2.3.2时钟复位电路 7 2.4 输出模块设计 10 2.4.1 LCD显示模块原理 10 2.4.1 LCD1602芯片简介 10 2.5 DA转换模块设计 11 2.5.1 DA转换模块原理 11 2.5.2 DAC0832芯片简介 12 2.6 ICL8038函数信号发生模块设计 13 2.6.1 ICL8038函数信号发生模块原理 13 2.6.2 ICL8038芯片简介 14 三、软件设计 16 3.1输入模块编程 16 3.2 输出模块编程 17 3.3 DA转化模块编程 17 四、仿真与调试 19 4.1硬件调试 19 4.1.1电气调试 19 4.1.2 波形调试 19 4.1.3波形频率范畴调试 20 4.1.4 波形幅度范畴调试 20 4.1.5 失真度调试 20 4.2 软件调试 21 五、心得体会 22 附录一: 23 一、方案论证 1.1设计规定 1)信号发生器能产生正弦波、方波; 2)输出频率在100HZ-100KHZ范畴内可调; 3)在1000欧负载条件下,输出正弦波信号电压峰-峰值Vopp在0-5V范畴可调; 4)输出信号波形无明显失真; 5)可实时显示输出信、幅度、频率和频率步进值; 1.2方案论证 信号发生器实现办法普通有如下几种: 方案一:用分立元件构成函数发生器,普通是单函数发生器且频率不高,其工作不很稳定,不易调试。 方案二:可以由晶体管、运放IC等通用数字元器件制作,更多则是用专门函数信号发生器IC产生。初期函数信号发生器IC,如L8038、BA205、XR2207/2209等,它们功能较少,精度不高,频率上限只有300kHz,无法产生更高频率信号,调节方式也不够灵活,频率和占空比不能独立调节,两者互相影响。 方案三:运用专用直接数字合成DDS芯片函数发生器,能产生任意波形并达到很高频率。但成本较高。 方案四:采用STC89C54RD+单片机和DAC0832芯片、ICL8038芯片,直接连接键盘和显示。该种方案重要对STC89C54RD+单片机各个I/O口充分运用。 P3口是连接键盘,P0口接LCD显示电路,P1口连接DAC0832输出波形。这样总体来说,能对单片机各个接口都运用上,而不再多用其他芯片,从而减小了系统成本。也对按照系统便携式低频信号发生器规定所完毕。占用空间小,使用芯片少,低功耗。 综合考虑,方案四各项性能和指标都优于其她几种方案,能使输出频率有较好稳定性,充分体现了模块化设计规定,并且这些芯片及器件均为通用器件,在市场上较常用,价格也低廉,样品制作成功也许性比较大,因此本设计采用方案四。 二、硬件系统设计 2.1整体框架图 设计框架如图1所示: 图1 设计框架 由按键控制MCU控制输出不同数字量,通过DA转换模块和ICL8038输出不同波形,由LCD显示是波形种类和频率、幅度大小。 2.2电源模块设计 2.2.1 电源原理 降压 整流 滤波 稳压 输出 图2 电源框架图 该电路通过变压器将220v交流电变成21v交流电,通过桥式整流变成直流电。经滤波稳压后获得稳定直流电,实际电路如图3所示: 图3 实际电路 本系统中单片机系统要用到5V电源,函数信号发生器要用到15V电源,因此设计电源电路要考虑电源可以通过LM317稳压芯片对电压进行调节。可输出15V直流电压,由于STC89C54RD+工作电压是5V,因此又通过7805稳压芯片获得5V稳定直流电给MCU进行供电。 2.2.2 芯片简介 LM317是美国国家半导体公司三端可调正稳压器集成电路。国内和世界各大集成电路生产商均有同类产品可供选用,是使用极为广泛一类串联集成稳压器。LM317 输出电压范畴是1.2V 至37V,负载电流最大为1.5A。它使用非常简朴,仅需两个外接电阻来设立输出电压。此外它线性调节率和负载调节率也比原则固定稳压器好,图4是LM317引脚图: 图4 LM317引脚图 7805是一种三端正电源稳压电路。它固定输出5V电压,能提供最大输出1.5A电流,有过载和过短保护,图5是7805引脚图: 图5 7805引脚图 2.3输入模块设计 2.3.1按键控制模块 按键输入模块如图6所示: 图6 按键输入模块 按键控制某些重要是来控制MCU输出波形种类和频率、幅度大小。这个波形切换按键重要是控制输出正弦波和方波,这里使用外部中断0,能让它随时就可以转换波形。调频按键是用来变化输出波形频率,这里使用外部中断1,可以随时变化输出波形频率。介于51单片机只有两个外部中断,因此调幅按键只能用扫描方式来变化幅度。 2.3.2时钟复位电路 时钟复位电路原理图如图7: 图7 时钟复位电路 该时钟方式采用片内时钟振荡方式,外接石英晶体和振荡电容。EA(30脚)接高电平时,单片机读取内部程序存储器,接低电平时直接读取外部数据。 单片机STC89C54RD+引脚功能图如图8: 图8 单片机引脚CPU构造 (一)单片机内部构造 1)运算器 运算器以完毕二进制算术/逻辑运算部件ALU为核心。它可以对半字节、单字节等数据进行操作。例如,能完毕加、减、乘、除、加1、减1、BCD码十进制调节、比较等算术运算,完毕与、或、异或、求反、循环等逻操作,操作成果状态信息送至状态寄存器。 运算器还包具有一种布尔解决器,用以解决位操作。它以进位标志位C为累加器,可执行置位、复位、取反、位判断转移,可在进位标志位与其她可位寻址位之间进行位数据传诵等操作,还可以完毕进位标志位与其她可位寻址位之间进行逻辑与、或操作。 程序计数器PC是一种16位计数器,用于存储一条要执行指令地址,寻址范畴为64kB,PC有自动加1功能,即完毕了一条指令执行后,其内容自动加1。 指令寄存器用于存储指令代码。CPU执行指令时,由程序存储器中读取指令代码送如指令寄存器,经指令译码器译码后由定期有控制电路发出相应控制信号,完毕指令功能。 2)存储器和特殊功能寄存器 存储器是计算机系统中记忆设备,用来存储程序和数据。计算机中所有信息,涉及输入原始数据、计算机程序、中间运营成果和最后运营成果都保存在存储器中。它依照控制器指定位置存入和取出信息。 特殊功能寄存器地址范畴为80H~FFH。在MCS-51中,除程序计数器PC和四个工作寄存器区外,别的21个特殊功能寄存器都在这SFR块中。其中5个是双字节寄存器,它们共占用了26个字节。各特殊功能寄存器符号和地址见附表2。其中带*号可位寻址。特殊功能寄存器反映了8051状态,事实上是8051状态字及控制字寄存器。用于CPU PSW便是典型一例。这些特殊功能寄存器大体上分为两类,一类与芯片引脚关于,另一类作片内功能控制用。与芯片引脚关于特殊功能寄存器是P0~P3,它们事实上是4个八位锁存器(每个I/O口一种),每个锁存器附加有相应输出驱动器和输入缓冲器就构成了一种并行口。MCS-51共有P0~P3四个这样并行口,可提供32根I/O线,每根线都是双向,并且大均有第二功能。别的用于芯片控制寄存器中,累加器A、标志寄存器PSW、数据指针DPTR等功能前已提及。 (二)引脚功能 P0口功能:P0口具备两种功能:第一,P0口可以作为通用I/O接口使用,P0.7—P0.0用于传送CPU输入/输出数据。输出数据时可以得到锁存,不需外接专用锁存器,输入数据可以得到缓冲。第二,P0.7—P0.0在CPU访问片外存储器时用于传送片外存储器de低8位地址,然后传送CPU对片外存储器读写 P1口 功能:P1口功能和P0口de第一功能相似,仅用于传递I/O输入/输出数据。 P2口功能:2口第一功能和上述两组引脚第一功能相似,即它可以作为通用I/O使用。它第二功能和P0口引脚第二功能相配合,作为地址总线用于输出片外存储器高8位地址。 P3口功能:P3口有两个功能:第一功能与别的三个端口第一功能相似;第二功能作控制用,每个引脚都不同。 P3.0—RXD串行数据接受口 P3.1—TXD串行数据发送口 P3.2—INT0外中断0输入 P3.3—INT1外中断1输入 P3.4—T0计数器0计数输入 P3.5—T1计数器1计数输入 P3.6—WR外部RAM写选通信号 P3.7—RD外部RAM读选通信号 2.4 输出模块设计 2.4.1 LCD显示模块原理 图9 LCD显示 LCD显示能灵活显示不同字符,因此用LCD1602显示所要显示设计规定。从而更加明了表达输出信号种类和频率、幅度大小以及步进值,让使用更以便。 2.4.1 LCD1602芯片简介 (一)LCD1602内部构造 1)基本操作时序 读状态(输入):RS=0, R/W=1,E=1,输出:D0~D7 状态字。 读数据(输入):RS=1, R/W=1,E=1,输出:无。 写指令(输入):RS=0, R/W=0,E=1,输出:D0~D7 数据。 写数据(输入):RS=1, R/W=1, E=1,输出:无。 2)1602液晶模块内部控制器共有11 条控制指令,屏幕和光标操作都是通过指令编程来实现。 指令1:清显示,指令码 01H,光标复位到地址00H 位置。 指令2:光标复位,光标返回到地址00H 。 指令3:光标和显示位置设立I/D,光标移动方向,高电平右移,低电平左移。 指令4:显示开关控制。 指令 5:光标或显示移位S/C :高电平时显示移动文字,低电平时移动光标。 指令 6:功能设立命令DL:高电平时为 4 位总线,低电平时为 8 位总线。 指令 7:字符发生器 RAM地址设立。 指令 8:DDRAM 地址设立。 指令 9:读忙信号和光标地址 BF:忙标志位,高电平表达忙,此时模块不能接受命令或数据,如果为低电平表达不忙。 (二) LCD1602引脚功能 LCD1602引脚功能图如图10: 图10 LCD1602引脚图 VSS:地电源 VDD:接5V正电源 VEE:为液晶显示屏对比度调节端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一种10K电位器调节对比度。 RS:为寄存器选取,高电平时选取数据寄存器、低电平时选取指令寄存器。 RW:为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。 E:端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 D0~D7:为8位双向数据线。 2.5 DA转换模块设计 2.5.1 DA转换模块原理 DA转换模块如图11: 图11 DA转换模块 这是波形发生器核心某些,重要是将MCU数据转换成模仿量。从而产生波形,然后通过运放将其放大。 2.5.2 DAC0832芯片简介 (一)DAC0832内部构造 DAC0832内部构造图如图12: 图12 DAC0832内部构造图 芯片内有两级输入寄存器,使DAC0832具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路需要(如规定多路D/A异步输入、同步转换等)。D/A转换成果采用电流形式输出。要是需要相应模仿信号,可通过一种高输入阻抗线性运算放大器实现这个供功能。运放反馈电阻可通过RFB端引用片内固有电阻,还可以外接。 (二)DAC0832引脚功能 DAC0832引脚图如图13: 图13 DAC0832引脚图 DAC0832引脚功能阐明: DI0~DI7:数据输入线,TLL电平。 ILE:数据锁存容许控制信号输入线,高电平有效。 CS:片选信号输入线,低电平有效。 WR1:为输入寄存器写选通信号。 XFER:数据传送控制信号输入线,低电平有效。 WR2:为DAC寄存器写选通输入线。 Iout1:电流输出线。当输入全为1时Iout1最大。 Iout2: 电流输出线。其值与Iout1之和为一常数。 Rfb:反馈信号输入线,芯片内部有反馈电阻。 Vcc:电源输入线(+5v~+15v)。 Vref:基准电压输入线(-10v~+10v)。 AGND:模仿地,摸拟信号和基准电源参照地。 DGND:数字地,两种地线在基准电源处共地比较好。 2.6 ICL8038函数信号发生模块设计 2.6.1 ICL8038函数信号发生模块原理 函数发生器模块如图14: 图14 函数发生器模块 2.6.2 ICL8038芯片简介 (一) ICL8038 重要特点: 1) 可同步输出任意三角波、矩形波和正弦波等。 2) 频率范畴: 0.001HZ~300kHz 3) 占空比范畴: 2%~ 98% 4) 低失真正弦波: 1% 5) 低温度漂移: 50ppm/℃ 6) 三角波输出线性度: 0.1% 7) 工作电源: ±5V~ ±12V 或者+ 12V~ + 25V (二)ICL8038引脚功能 ICL8038引脚图15: 图15 ICL8038引脚图 THD1:正弦波线性调节。 OUT(s):正弦波输出。 Ra :恒流源调节。 Rb:恒流源调节。 IN:调频控制输入端。 OUT(Q):方波输出端。三、软件设计 3.1输入模块编程 按键输入模块用到了外部中断0和外部中断1,外部中断0是控制波形切换,外部中断1调频,51单片机只有两个外部中断,因此调幅按键只能用扫描方式来变化幅度。下面是中断寄存器相应设立及扫描语句: IE寄存器 D7 D6 D5 D4 D3 D2 D1 D0 EA EX2 ET2 ES ET1 EX1 ET0 EX0 TCON寄存器 D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 本设计中对这两个寄存器设立为: EA=1; IE=0X83; IT0=1; IT1=1; 波形切换典型代码: wave_change=~wave_change; if(wave_change) { TR0=0; TR1=1; } else { TR1=0; TR0=1; } 调频典型代码: if(wave_change) {TR1=0;is_stop=1;} else {TR0=0;is_stop=1;} T_WAVE_INIT_code_num=T_WAVE_INIT_code_num-1; if(T_WAVE_INIT_code_num==0)T_WAVE_INIT_code_num=29; T_WAVE_INIT=T_WAVE_INIT_code[T_WAVE_INIT_code_num]; th=(65536-T_WAVE_INIT)/256; tl=(65536-T_WAVE_INIT)%256; temp=f_code[T_WAVE_INIT_code_num]; 调幅典型代码: real_VPP_num=255.0/10*VPP_num; 3.2 输出模块编程 LCD用来显示波形种类、频率、幅度、步进值,它需要实时显示信号变量。它典型代码如下: Display_Buffer[1][0] = temp/100+'0'; Display_Buffer[1][1] = temp/10%10+'0'; Display_Buffer[1][2] = temp%10+'0'; LCD_Write_Command(0xC0); Write_LCD_Data(Display_Buffer[1][0]); Write_LCD_Data(Display_Buffer[1][1]); Write_LCD_Data(Display_Buffer[1][2]); Write_LCD_Data(Display_Buffer[1][3]); 3.3 DA转化模块编程 DA转换模块用T0、T1定期器来控制输出,通过变化定期器初值来变化波频率。T0、T1要进行设立TMOD、IE、TCON寄存器。 定期/计数器控制寄存器TCON: 位 D7 D6 D5 D4 D3 D2 D1 D0 含义 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 定期/计数器工作模式寄存器TMOD: 位 D7 D6 D5 D4 D3 D2 D1 D0 含义 GATE C/T M1 M0 GATE C/T M1 M0 T0是用来输出方波,T0中断典型代码如下: static bit d; TH0=th; TL0=tl; d=~d; if(d) DA0832=0x00; else DA0832=real_VPP_num; T1是用来输出正弦波,T1中断典型代码如下: static uchar b; TH1=th; TL1=tl; DA0832=tosin[b]; b++; 四、仿真与调试 4.1硬件调试 4.1.1电气调试 焊完之后,第一次通电后,发现LCD不显示。然后我就怀疑是不是有些接地和接电线没有接。我就开始仔细用万用表去检查各个芯片接地线,发现STC89C54RD接地没有和其她地线连在一起。 我第二次通电测试,LCD显示屏还是没有显示,我又继续检查没有检查完那些接地和接电引脚,又发现LM358接电脚接成了5V,我就把LM358接电源引脚接到15V接电引脚,又开始通电,发现还是没有用,我又继续检查没有检查完接电和接地引脚,依然没有发现任何问题。我又猜想是不是晶振没有起作用,我又开始检查晶振,发现晶振和电容位子接反了,我就把本来晶振和电容焊下来,重新焊过一种新晶振和电容,并把位子换过来,然后又开始通电测试,发现还是没有显示。 我又猜想是不是LCD显示屏引脚没有接对,又开始检查LCD显示屏各个引脚有无接对,最后还是没有发现任何到不对。我又猜想STC89C54RD有无工作,我又开始检查STC89C54R重要引脚工作电压,发现电压比实际小 !就开始检查STC89C54R各个引脚,发现EA引脚接触不良,我又把它焊好。又通电测试,发现还是没有用。 这时,我想是不是LCD显示屏那个调亮度滑动变阻器没有调好,我又开始调滑动变阻器,发现LCD显示屏越来越暗,我又开始往相反方向调,调着调着,我突然发现LCD显示屏有点笔迹样子,我调越来越快啦,最后发现LCD显示屏有显示,我仔细一看,只显示了一半内容。 我又开始猜想是不是杜邦线没有插好。我又开始检查各个杜邦线有无插好,开始重新插过一变,插完后。又开始通电,发现LCD显示屏终于完全可以显示啦!我又开始试试按键,均有用。这时,我心里无比高兴。 这时,我就开始用示波器检查LM3581号输出脚波形图,发现输出矩形波有点失真。 我想是不是ICL803810号脚接电容太小啦,我又开始把电容改大某些,发现没有多大区别,我又想是不是太大,我又开始改小某些,这时,突然发现失真度变得很微小。 当前,我又满怀激情去检测ICL80382号脚输出正弦波,发现失真度也是很大,我想是不是和ICL80384、5号脚接电阻关于,我就开始变化那两个电阻,改小了某些,没有反映,我就开始改大某些试试,发现,效果不错。失真度明显下降。 4.1.2 波形调试 波形振荡某些调试ICL8038可以产生三种不同波形, 调试时只需要测芯片不同输出信号相应引脚。 测试成果: 可以产生正弦波和方波两种不同波形。 4.1.3波形频率范畴调试 测量办法: 通过变化芯片10引脚连接电容来变化频率( 频段) 范畴, 通过软件控制可在一定范畴内调节频率大小即进行微调。测量成果: 变化与10引脚连接电容可以明显调节频率范畴。 4.1.4 波形幅度范畴调试 通过示波器观测到调节前幅值较小调节后幅值有了明显增大。 4.1.5 失真度调试 由如图17可看出波形有些失真, 但是通过调节ICL80384脚和5脚位器使输出波形失真减少,调节后输出波形如图18: 图17 调节前 图18 调节后 4.2 软件调试 软件调试是通过对顾客程序执行来发现程序中存在语法错误与逻辑错误并加以排除过程。软件调试我采用先独立后联机、先分块后组合、先单步后持续调试办法。在软件调试中, 一方面调试子程序和函数, 另一方面调试中断服务程序, 最后调试主程序。调试成果最后基本能达到设计规定! 五、心得体会 刚开始接触某些新元件就有些头晕,想不出自己如何动手,真正体会到万事开头难道理, 但在咱们不断摸索下,咱们接受新事物能力也逐渐增强,慢慢地明白如何开好头,明了下一步该怎么做。在制作产品中咱们为求速度,遇到许多问题,成果出了许多问题,如:有些该接地没有接地、短路、虚焊等本不应当浮现问题。在寻找错误时候才明白做事必要脚踏实地,不能心浮气躁。当问题一种个被解决时候,心中是无比喜悦。 电子设计竞赛规定三人组队参赛,集体计算成绩,这就使得三个人必要互相信任、互相配合、分工合伙。在顺境时要互相提示保持冷静,逆境时要互相勉励共度难关,不能互相抱怨。在这四天比赛中,时间虽短,让咱们更深刻懂得团队合伙重要性。让咱们学到了许多在课堂上不懂知识,更加明白理论加实践必要性。要作为一种在电子方面可用人就应当理论和动手能力都必要过硬、经得起考验。电子设计竞赛赛制是在规定期间内完毕规定题目,时间急迫会浮现各种意想不到成果,必要在尽量短时间内解决问题,这就需要在平时训练中提高应变能力。  本次竞赛让咱们感触诸多,很重要一点就是:无论做什么事,咱们都需要做好充分准备。 附录一: 设计实物图 产品使用阐明如图所示.
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服