【电气工程及其自动化】基于单片机的多功能信号发生器的设计.doc_第1页
【电气工程及其自动化】基于单片机的多功能信号发生器的设计.doc_第2页
【电气工程及其自动化】基于单片机的多功能信号发生器的设计.doc_第3页
【电气工程及其自动化】基于单片机的多功能信号发生器的设计.doc_第4页
【电气工程及其自动化】基于单片机的多功能信号发生器的设计.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科生毕业设计(论文)基于单片机的多功能信号发生器的设计二级学院信息科学与技术学院专业电气工程及其自动化完成日期2014年5月10日A基础理论B应用研究C调查报告D其他目录1引言12系统设计221设计要求222方案设计与论证2221信号发生电路方案论证2222显示方案论证3223键盘方案论证323总体系统设计324硬件实现及单元电路设计4241主控电路的设计4242数/模转换电路5243显示模块的设计625软件设计流程73输出波形的种类与频率的测试831测量仪器及测试说明832测试过程及结果8总结10附录12附录A硬件总图12附录B源程序13基于单片机的多功能信号发生器的设计摘要本文以AT89C52为系统控制器设计了一个低频函数信号发生器,外围有数模转换电路(DAC0832)、运算电路(LM324、LCD1602显示屏、示波器、按键等元件组成。通过硬件和软件结合,可输出各种自定义信号波形,如正弦波、方波、三角波及其他任意波形,波形的频率在一定范围内可任意改变。同时在LCD显示屏上显示输出波形和频率。关键词AT89C52;信号波形;LCD1602THEDESIGNOFTHEMULTIFUNCTIONALSIGNALSGENERATORBASEDONMPUABSTRACTTHISARTICLEDESCRIBEADESIGNOFALOWFREQUENCYFUNCTIONSIGNALGENERATOR,ANDITSPERIPHERALCIRCUITARECONSISTEDOFD/ACONVERSIONCIRCUITDAC0832,ARITHMETICCIRCUITRYTL084,LCDSCREEN1602,OSCILLOSCOPEANDBUTTONSBYDESIGNEDWITHHARDWAREANDSOFTWARE,ITCOULDOUTPUTALLKINDSOFWAVEFORM,SUCHASSINEWAVE,SQUAREWAVE,TRIANGULARWAVE,ANDANYOTHERCASUALWAVE,MOREEVER,THEFREQUENCEOFTHEWAVEFORMCOULDBECHANGEDINACERTAINRANGEINTHEMEANWHILE,THEOUTPUTWAVEFORMANDITSFREQUENCYWOULDBESHOWNONTHELCDSCREENKEYWORDSAT89C52SIGNALWAVEFORMLCD1602SCREEN1引言在测试、研究或调整电子元器件、电子电路及设备时,为测定电路的一些电参量,如测量频率响应、噪声系数,为电压表定度等,常需要提供符合要求的电信号,模拟实际工作中所用待测设备激励信号。当进行系统的稳态特性测量时,需使用振幅频率已知的正弦信号源。而进行系统测试时,又需使用前沿时间、脉冲宽度和重复周期已知的矩形脉冲源,并且按要求输出信号的参数,如频率、波形、输出电压或功率等,能在一定范围内进行精确调整,有很好的稳定性,有输出指示。而这种测试信号源一般采用信号发生器。本设计可以用于产生被测电路所需特定参数的电测试信号,产生可变频率的方波、正弦波及三角波,输出信号参数直接通过液晶显示屏显示。2系统设计经过考虑,我决定用在学校里学习过的芯片AT89C52。方案如下利用AT89C52单片机采用程序设计方法产生三角波、方波、正弦波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,经LM324滤波放大,最终由示波器显示出来,并在LCD显示屏显示相对应的波形文字以及频率。通过键盘来控制四种波形的类型选择、频率变化,最终输出显示其各自的类型以及频率数值。21设计要求1、利用单片机采用软件设计方法产生四种波形2、三种波形可通过键盘选择3、波形频率可调4、需显示波形的种类及其频率22方案设计与论证221信号发生电路方案论证方案一采用模拟电路搭建函数信号发生器,它可以同时产生方波、三角波、正弦波。但是这种模块产生的不能产生任意的波形(例如梯形波),并且频率调节很不方便。方案二采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。方案三使用集成信号发生器发生芯片,例如AD9854,它可以生成最高几十MHZ的波形。但是该方案也不能产生任意波形(例如梯形波),并且价格昂贵。方案四采用AT89C52单片机和DAC0832数模转换器生成波形,加上一个低通滤波器,生成的波形比较纯净。它的特点是可产生任意波形,频率容易调节,频率能达到设计的500HZ以上。性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。经比较,方案四既可满足课程设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比高,所以采用该方案。222显示方案论证方案一采用LED数码管。LED数码管由8个发光二极管组成,每只数码管轮流显示各自的字符。由于人眼具有视觉暂留特性,当每只数码管显示的时间间隔小于1/16S时人眼感觉不到闪动,看到的是每只数码管常亮。使用数码管显示编程较易,但本设计要显示内容多,而且数码管不能显示字母。方案二采用LCD液晶显示器1602。其功率小,效果明显,显示编程容易控制,可以显示字母。以上两种方案综合考虑,选择方案二。223键盘方案论证方案一矩阵式键盘。矩阵式键盘的按键触点接于由行、列母线构成的矩阵电路的交叉处。当键盘上没有键闭合时,所有的行和列线都断开,行线都呈高电平。当某一个键闭合时,该键所对应的行线和列线被短路。方案二独立式键盘。独立式键盘具有硬件与软件相对简单的特点,其缺点是按键数量较多时,要占用大量口线。由于本设计用到的按键比较少,以上两种方案综合考虑,选择方案二。23总体系统设计该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键输入,利用液晶显示电路输出数字显示的方案。将设计任务分解为按键电路、液晶显示电路等模块。图(1)为系统的总体框图图1系统总体框图按键AT89C52单片机LCD1602显示器DAC0832数模转换器LM324运算放大器示波器24硬件实现及单元电路设计241主控电路的设计设计中主要采用AT89C52型单片机,它具有如下优点(1)拥有完善的外部扩展总线,通过这些总线可方便地扩展外围单元、外围接口等。(2)该单片机内部拥有8K字节的FLASHROM程序存储器空间和256字节的RAM数据存储空间,完全可以满足程序的要求。由于该芯片可电擦写,故可重复使用。如果更改程序内容,可将芯片拿下重新烧写。(3)器件采用ATMEL公司的高密度、非易失性存储技术生产,与工业标准的MCS51型机的指令集和输出引脚兼容。图2主控制图如图2所示,AT89C52主要管脚有XTAL1和XTAL2为振荡器输入输出端口,外接12MHZ晶振。RST为复位输入端口,外接电阻电容组成的复位电路。VCC和VSS为供电端口,分别接5V电源的正负端。P0P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0、P1端口被分别定义为DC0832和LCD1602的数据端口,分别与相应数据管脚相连接,P2低5位分别连接DAC0832和LCD1602控制端口,P3高四位用来连接控制按键。在波形发生器中,P34按键用来改变波形,P35和P36按键用来改变频率,P37按键用来控制中断。在程序主函数中,我们写了个死循环一直输出一个默认的波形,当有按键按下又抬起时,程序会暂时跳出死循环,进入中断处理程序,从而对波形和频率进行改变。时钟电路由于频率较大时,三角波、正弦波、方波等波中每一点延时时间为几微秒,故延时时间还要加上指令时间即可得到指定频率的波形,该电路用110592MHZ晶振。AT89C52定时方式有4种,方式0、方式1、和方式3需要程序不断反复给计数器赋初值,这影响了计数或定时精度,并且会给程序增添麻烦,由于本设计涉及到循环计数,所以定时器/计数器工作在方式2下。中断系统是使处理器具有对外界异步事件的处理能力而设置的。当中央处理器CPU正在处理某件事的时候外界发生了紧急事件,要求CPU暂停当前的工作,转而去处理这个紧急事件。242数/模转换电路由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以该文选用价格较为低廉、接口简单、转换控制容易并具有8位分辨率的数模转换芯片DAC0832。DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。但实际上,DAC0832输出的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的输出。DAC0832是电流型输出,若要相应的模拟电压信号,在应用时必须通过一个高输入阻抗的线性运算放大器实现。运放的反馈电阻可通过RFB端引用片内固有电阻,也可外接。本电路采用内部电阻和外接电阻合用方式。根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式直通方式、单缓冲方式和双缓冲方式。本设计选用直通方式。DAC0832引脚功能说明CS片选信号输入线(选通数据锁存器),低电平有效;WR数据锁存器写选通输入线,负脉冲(脉宽应大于500NS)有效;XFER数据传送控制信号输入线,低电平有效;OUT1电流输出线,当数据输入全为1时,输出电流最大;RFB反馈信号输入线,芯片内部有反馈电阻;VCC电源输入线(5V15V);GND接地线;VREF基准电压输入线(10V10V)。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存。数模转换电路如图3所示DAC0832的数据口和单片机的P0口相连;OUT1、RFD分别与LM324运放器负端连在一起,以达到电压电流之间的转换以及电压的放大。图3数模转换电路图243显示模块的设计通过液晶1602显示输出的波形、频率,其电路图如下所示,1602的八位数据端接单片机的P1口,其三个使能端RS、RW、E分别接单片机的P22P24。通过软件控制液晶屏可以显示波形的种类以及波形的频率。如图3所示图4液晶显示电路244键盘显示模块的设计由于本系统所用按键较少,所以采用独立键盘,其连接电路图如下图5键盘电路图中复合键盘S1为波形选择键,S2、S3为频率调节键,S4为中断键。25软件设计流程本系统采用AT89C52单片机,用编程的方法来产生四种波形,并通过编程来切换四种波形以及波形频率的改变。具体功能有(1)各个波形的切换;(2)各种参数的设定;(3)频率增减等。软件调试后,通过编程器下载到AT89C52芯片中,然后插到系统中即可独立完成所有的控制。波形转换频率增加频率减少中断软件流程图如下否是是图6软件流程图3输出波形的种类与频率的测试31测量仪器及测试说明测量说明正弦波、矩形波、三角波和方波信号的输出,通过对独立键盘来实现其不同波形的输出频率。32测试过程及结果当程序下载进去时经过初始化,液晶屏的上只显示“SELECTWAVE”和“PRESSNO1KEY”,当开关S1按一下,此时输出波形为三角波,按两次S1是方波,按三次是正弦波。当开关2按下是此时输出频率增加,当开关3按下时此时输出频率减少,当开关4按下是此时波形中断。波形频率范围如下三角波50500HZ方波2002000HZ开始调用初始化按键是否有波形按下正弦波方波三角波是否有频率按键按下显示波形生成波形显示频率正弦波10100HZ三种波形的仿真波形图如下图7三角波图8正弦波图9方波其中,三角波的频率变化幅度是每次增加或减少50HZ,正弦波的是每次增加或减少10HZ,方波的是每次增加或减少200HZ。总结本次信号发生器的设计中涉及到一个典型的控制过程。通过单片机控制数/模转换器DAC0832产生电流,然后使用运算放大器将其电流输出线性地转化为电压输出,通过程序控制产生一系列有规律的波形。到目前为止,基于单片机多功能信号发生器的设计已全部完成,所设计的信号发生器能按预期的效果通过按键S1实现波形的转换,通过S2、S3实现频率的转换,通过S4实现归零,并在LCD1602上显示出来。但本设计还存在着一些不足之处幅值不可调,没有自适电路,实用性不大。参考文献1张齐单片机原理与应用系统设计电子工业出版社20112汪文单片机原理及应用华中科技大出版社20073余军单片机开发与应用技术清华大学出版社20124周灵彬PROTEUS的单片机教学与应用仿真单片机与嵌入式系统应用20085沙占友单片机外围电路设计电子工业出版社20056马忠梅单片机的C语言应用程序设计北京航空航天大学出版社20067王洪福AT89C51单片机与74LS164动态显示接口内蒙古电大学刊2006第1期8戴佳单片机C语言应用程序设计实例精讲电子工业出版社20069沈红卫基于单片机的智能系统设计与实现电子工业大学出版社200510朱善君等单片机接口技术与应用清华大学出版社200511张靖武等单片机系统的PROTEUS设计与仿真电子工业大学200712宁成军等基于PROTEUS和KEIL接口的单片机外围硬件电路仿真,现代电子技术200613马刚用PROTEUS和KEIL整合构建单片机虚拟仿真平台现代电子技术2006附录附录A硬件总图附录B源程序INCLUDEDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTDEFINEDADATAP0SBITS1P20SBITS2P21SBITKP32UCHARWACUCHARTH,TLUCHARWAVEFORMUCHARCODEFREQ_UNIT310,50,200UCHARIDATAWAVEFREQ31,1,1UCHARCODELCD_HANG1“SINEWAVE“TRIANGLEWAVE“SQUAREWAVE“SELECTWAVE“PRESSNO1KEY“UCHARIDATALCD_HANG2“FHZ“UCHARCODEWAVETH0XFD,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFD,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFFUCHARCODEWAVETL0X06,0X8A,0X10,0X4E,0X78,0X93,0XA8,0XB3,0XBE,0XC6,0XAC,0XDE,0X48,0X7A,0X99,0XAF,0XBB,0XC8,0XD0,0XDE,0XFF,0X8E,0X5A,0X41,0X32,0X28,0X20,0X1B,0X17,0X0EUCHARCODETRIANGLE0X00,0X08,0X10,0X18,0X20,0X28,0X30,0X38,0X40,0X48,0X50,0X58,0X60,0X68,0X70,0X78,0X80,0X88,0X90,0X98,0XA0,0XA8,0XB0,0XB8,0XC0,0XC8,0XD0,0XD8,0XE0,0XE8,0XF0,0XF8,0XFF,0XF8,0XF0,0XE8,0XE0,0XD8,0XD0,0XC8,0XC0,0XB8,0XB0,0XA8,0XA0,0X98,0X90,0X88,0X80,0X78,0X70,0X68,0X60,0X58,0X50,0X48,0X40,0X38,0X30,0X28,0X20,0X18,0X10,0X08,UCHARCODESIN2560X80,0X83,0X86,0X89,0X8D,0X90,0X93,0X96,0X99,0X9C,0X9F,0XA2,0XA5,0XA8,0XAB,0XAE,0XB1,0XB4,0XB7,0XBA,0XBC,0XBF,0XC2,0XC5,0XC7,0XCA,0XCC,0XCF,0XD1,0XD4,0XD6,0XD8,0XDA,0XDD,0XDF,0XE1,0XE3,0XE5,0XE7,0XE9,0XEA,0XEC,0XEE,0XEF,0XF1,0XF2,0XF4,0XF5,0XF6,0XF7,0XF8,0XF9,0XFA,0XFB,0XFC,0XFD,0XFD,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0XFD,0XFD,0XFC,0XFB,0XFA,0XF9,0XF8,0XF7,0XF6,0XF5,0XF4,0XF2,0XF1,0XEF,0XEE,0XEC,0XEA,0XE9,0XE7,0XE5,0XE3,0XE1,0XDE,0XDD,0XDA,0XD8,0XD6,0XD4,0XD1,0XCF,0XCC,0XCA,0XC7,0XC5,0XC2,0XBF,0XBC,0XBA,0XB7,0XB4,0XB1,0XAE,0XAB,0XA8,0XA5,0XA2,0X9F,0X9C,0X99,0X96,0X93,0X90,0X8D,0X89,0X86,0X83,0X80,0X80,0X7C,0X79,0X76,0X72,0X6F,0X6C,0X69,0X66,0X63,0X60,0X5D,0X5A,0X57,0X55,0X51,0X4E,0X4C,0X48,0X45,0X43,0X40,0X3D,0X3A,0X38,0X35,0X33,0X30,0X2E,0X2B,0X29,0X27,0X25,0X22,0X20,0X1E,0X1C,0X1A,0X18,0X16,0X15,0X13,0X11,0X10,0X0E,0X0D,0X0B,0X0A,0X09,0X08,0X07,0X06,0X05,0X04,0X03,0X02,0X02,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X02,0X02,0X03,0X04,0X05,0X06,0X07,0X08,0X09,0X0A,0X0B,0X0D,0X0E,0X10,0X11,0X13,0X15,0X16,0X18,0X1A,0X1C,0X1E,0X20,0X22,0X25,0X27,0X29,0X2B,0X2E,0X30,0X33,0X35,0X38,0X3A,0X3D,0X40,0X43,0X45,0X48,0X4C,0X4E,0X51,0X55,0X57,0X5A,0X5D,0X60,0X63,0X66,0X69,0X6C,0X6F,0X72,0X76,0X79,0X7C,0X80UCHARCODESQUARE0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00/时间延迟/VOIDDELAYUCHARZUINTX,YFORXZX0XFORY110Y0YVOIDTRIANGLE_OUTDADATATRIANGLEWACIFWAC64WAC0S10S11VOIDSINE_OUTDADATASINWACS10S11VOIDSQUARE_OUTDADATASQUAREWACIFWAC16WAC0S1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论