资源目录
压缩包内文档预览:(预览前20页/共46页)
编号:49593463
类型:共享资源
大小:1.21MB
格式:RAR
上传时间:2020-02-15
上传人:闰***
认证信息
个人认证
冯**(实名认证)
河南
IP属地:河南
15
积分
- 关 键 词:
-
函数
信号发生器
- 资源描述:
-
函数信号发生器,函数,信号发生器
- 内容简介:
-
11223344DDCCBBAAP1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST9P3.0(RXD)10P3.1(TXD)11P3.2(INT0)12P3.3(INT1)13P3.4(T0)14P3.5(T1)15P3.6(WR)16P3.7(RD)17XTAL218XTAL119GND20(A8)P2.021(A9)P2.122(A10)P2.223(A11)P2.324(A12)P2.425(A13)P2.526(A14)P2.627(A15)P2.728PSEN29ALE/PROG30EA/VPP31(AD7)P0.732(AD6)P0.633(AD5)P0.534(AD4)P0.435(AD3)P0.336(AD2)P0.237(AD1)P0.138(AD0)P0.039VCC40U389C51/C52VCCY112MHzC230pfC330pfR310KVCCR4100GND1VCC2V03RS4R/W5EN6D07D18D29D310D411D512D613D714A15K16LCD1602D0D1D2D3D4D5D6D7VCC+C110uF1234K0RESET1234A1234B1234C123456789RP110kD0D1D2D3D4D5D6D7321P1POWERVCC112233445566S1VCCVCCP26P27P26P27VCCVCCVCCR5100R61KOUT11IN1-2IN1+3GND4IN2+5IN2-6OUT27VCC8U1LM358RT1103C4104D1REDRGND3GND10Vcc20Iout111lsbDI07Iout212DI16DI25Rfb9DI34DI416Vref8DI515DI614msbDI713ILE19WR218CS1WR12Xfer17U2DAC0832P10P11P12P13P14P15P16P17P10P11P12P13P14P15P16P171234DK1K2K3K4K1K2K3K4C5104OUTOUT12J1波形输出D2REDYD3REDGD4REDWR71KR81KR91KR101KR1103VCCPIA01PIA02PIA03PIA04COAPIB01PIB02PIB03PIB04COBPIC01PIC02PIC03PIC04COCPIC101PIC102COC1PIC201PIC202COC2PIC301PIC302COC3PIC401PIC402COC4PIC501PIC502COC5PID01PID02PID03PID04CODPID10APID10KCOD1PID20APID20KCOD2PID30APID30KCOD3PID40APID40KCOD4PIJ101PIJ102COJ1PIK001PIK002PIK003PIK004COK0PILCD01 PILCD02 PILCD03 PILCD04 PILCD05 PILCD06 PILCD07 PILCD08 PILCD09PILCD010 PILCD011 PILCD012 PILCD013 PILCD014 PILCD015 PILCD016COLCDPIP101PIP102PIP103COP1PIR101PIR102PIR103COR1PIR301PIR302COR3PIR401PIR402COR4PIR501PIR502COR5PIR601PIR602COR6PIR701PIR702COR7PIR801PIR802COR8PIR901PIR902COR9PIR1001PIR1002COR10PIRP101PIRP102PIRP103PIRP104PIRP105PIRP106PIRP107PIRP108PIRP109CORP1PIRT101PIRT102PIRT103CORT1PIS101PIS102PIS103PIS104PIS105PIS106COS1PIU101PIU102PIU103PIU104PIU105PIU106PIU107PIU108COU1PIU201PIU202PIU203PIU204PIU205PIU206PIU207PIU208PIU209PIU2010PIU2011PIU2012PIU2013PIU2014PIU2015PIU2016PIU2017PIU2018PIU2019PIU2020COU2PIU301PIU302PIU303PIU304PIU305PIU306PIU307PIU308PIU309PIU3010PIU3011PIU3012PIU3013PIU3014PIU3015PIU3016PIU3017PIU3018PIU3019PIU3020PIU3021PIU3022PIU3023PIU3024PIU3025PIU3026PIU3027PIU3028PIU3029PIU3030PIU3031PIU3032PIU3033PIU3034PIU3035PIU3036PIU3037PIU3038PIU3039PIU3040COU3PIY101PIY102COY1PILCD07PIRP102PIU3039NLD0PILCD08PIRP103PIU3038NLD1PILCD09PIRP104PIU3037NLD2PILCD010PIRP105PIU3036NLD3PILCD011PIRP106PIU3035NLD4PILCD012PIRP107PIU3034NLD5PILCD013PIRP108PIU3033NLD6PILCD014PIRP109PIU3032NLD7PIC202PIC302PIC502PID01PIJ101PILCD01PILCD05PILCD016PIP102PIP103PIR103PIR301PIR402PIR602PIU104PIU201PIU202PIU203PIU2010PIU2012PIU2017PIU2018PIU3020PIA03PIU3014NLK1PIB03PIU3015NLK2PIC03PIU3016NLK3PID03PIU3017NLK4PIU3030PIU3029PIU3026PIU3025PIU3024PIU3023PIU3022PIU3021PIS106PIS105PIS104PIS102PIRT103PIU103PIU107PIR1002PIU3013PIR902PIU3012PIR802PIU3011PIR702PIU3010PIR601PIRT101PIRT102PIU106PIP101PIS101PILCD03PIR102PIK003PIK001PIJ102PIU101PIU102PID04PID40KPIR1001PID30KPIR901PID20KPIR801PID10KPIR701PIC04PIC01PID02PIC402PIC501PIR401PIR501PIU2011PIC301PIU3019PIY102PIC201PIU3018PIY101PIC102PIK004PIR302PIU309PIB04PIB01PIC02PIA04PIA02PIA01PIB02PIU105PIU208NLOUTPIU207PIU301NLP10PIU206PIU302NLP11PIU205PIU303NLP12PIU204PIU304NLP13PIU2016PIU305NLP14PIU2015PIU306NLP15PIU2014PIU307NLP16PIU2013PIU308NLP17PILCD06PIU3027NLP26PILCD04PIU3028NLP27PIC101PIC401PID10APID20APID30APID40APIK002PILCD02PILCD015PIR101PIR502PIRP101PIS103PIU108PIU209PIU2019PIU2020PIU3031PIU3040DXP格式用 Altium designer 软件打开 protel99格式用 protel99SE 软件打开 PDF格式用 PDF 软件打开 3种格式的原理图都内容是一样的 只是打开方式不同请看原理图和PCB焊接,不要看仿真图焊接。如果论文里面的原理图和原理图文件夹内的图不一样的话,请大家以原理图文件夹内的为准,原理图文件夹的图是和实物配套的,可以自己截图或复制,然后粘贴到论文里面去。1.用proteus仿真软件打开.DSN文件。2.双击芯片加载HEX代码。3.运行仿真PAA02PAA01PAA04PAA03COAPAB03PAB04PAB01PAB02COBPAC02PAC01PAC04PAC03COCPAC102PAC101COC1PAC202PAC201COC2PAC302PAC301COC3PAC401PAC402COC4PAC501PAC502COC5PAD03PAD04PAD01PAD02CODPAD10KPAD10ACOD1PAD20APAD20KCOD2PAD30KPAD30ACOD3PAD40APAD40KCOD4PAJ101PAJ102COJ1PAK002PAK001PAK004PAK003COK0PALCD01PALCD02PALCD03PALCD04PALCD05PALCD06PALCD07PALCD08PALCD09PALCD010PALCD011PALCD012PALCD013PALCD014PALCD015PALCD016COLCDPAP102PAP103PAP101COP1PAR102PAR103PAR101COR1PAR301PAR302COR3PAR401PAR402COR4PAR501PAR502COR5PAR601PAR602COR6PAR701PAR702COR7PAR801PAR802COR8PAR901PAR902COR9PAR1001PAR1002COR10PARP109PARP108PARP107PARP106PARP105PARP104PARP103PARP102PARP101CORP1PART102PART103PART101CORT1PAS102PAS101PAS103PAS104PAS105PAS106COS1PAU105PAU106PAU107PAU108PAU104PAU103PAU102PAU101COU1PAU201PAU202PAU203PAU204PAU205PAU206PAU207PAU208PAU209PAU2010PAU2020PAU2019PAU2018PAU2017PAU2016PAU2015PAU2014PAU2013PAU2012PAU2011COU2PAU301PAU302PAU303PAU304PAU305PAU306PAU307PAU308PAU309PAU3010PAU3011PAU3012PAU3013PAU3014PAU3015PAU3016PAU3017PAU3018PAU3019PAU3020PAU3040PAU3039PAU3038PAU3037PAU3036PAU3035PAU3034PAU3033PAU3032PAU3031PAU3030PAU3029PAU3028PAU3027PAU3026PAU3025PAU3024PAU3023PAU3022PAU3021COU3PAY101PAY102COY1PALCD07PARP102PAU3039PALCD08PARP103PAU3038PALCD09PARP104PAU3037PALCD010PARP105PAU3036PALCD011PARP106PAU3035PALCD012PARP107PAU3034PALCD013PARP108PAU3033PALCD014PARP109PAU3032PAA02PAC202PAC302PAC502PAD01PAJ101PALCD01PALCD05PALCD016PAP102PAP103PAR103PAR301PAR402PAR602PAU104PAU201PAU202PAU203PAU2010PAU2012PAU2017PAU2018PAU3020PAA03PAU3014PAB03PAU3015PAC03PAU3016PAD03PAU3017PAA01PAB02PAB01PAC02PAC102PAK004PAR302PAU309PAC201PAU3018PAY101PAC301PAU3019PAY102PAC402PAC501PAR401PAR501PAU2011PAC01PAD02PAD10KPAR701PAD20KPAR801PAD30KPAR901PAD40KPAR1001PAJ102PAU101PAU102PALCD03PAR102PAP101PAS101PAR601PART101PART102PAU106PAR702PAU3010PAR802PAU3011PAR902PAU3012PAR1002PAU3013PART103PAU103PAU107PAU105PAU208PAU207PAU301PAU206PAU302PAU205PAU303PAU204PAU304PAU2016PAU305PAU2015PAU306PAU2014PAU307PAU2013PAU308PALCD06PAU3027PALCD04PAU3028PAC101PAC401PAD10APAD20APAD30APAD40APAK001PAK002PALCD02PALCD015PAR101PAR502PARP101PAS103PAU108PAU209PAU2019PAU2020PAU3031PAU3040摘要函数信号发生器设计摘要随着社会的不断进步,科学以及电子相关技术逐步发展和完善,函数信号发生器在教育领域和科研领域中出现的频率也越来越高,本次设计的主题是函数信号发生器的设计。在本次设计中采用的是STC89C52单片机当作该信号发生器的核心控制,外接数/模转化电路(DAC0832)、运算放大电路(LM358)、按键和LCD显示电路等少量电子元件,构成了所需的信号发生器。在该系统中,可以通过按键可以随意切换正弦波、三角波、方波、锯齿波四种波形,并通过LCD显示器指示输出的相应波形、频率和步进值。关键词:单片机、信号发生器、DAC0832、运算放大器ABSTRACTWith the continuous progress of society and the gradual development and improvement of science and electronic technology, the frequency of function signal generator in the field of education and scientific research is also increasing. The theme of this design is the design of function signal generator. In this design, STC89C52 MCU is used as the core control of the signal generator. A few electronic components, such as DAC0832, LM358, keys and LCD display circuit, constitute the required signal generator. In this system, sine wave, triangle wave, square wave and sawtooth wave can be switched at will by keys, and the corresponding waveform, frequency and step-by-step value can be indicated by LCD display.Key words: MCU, signal generator, DAC0832, operational amplifier目录目录第一章 绪论11.1 课题研究的目的及意义11.2 国内外研究现状11.3 课题研究的主要内容21.4 研究方法及方案选择2第二章 方案的总体设计42.1 总体设计思路42.2 整体设计原理框图42.3 硬件的选择42.3.1单片机的选择42.3.2 键盘的选择62.3.3 显示器的选择6第三章 硬件电路设计83.1 单片机最小系统83.1.1 晶振电路83.1.2 复位电路93.2 数/模转换电路93.3 波形产生模块设计103.4 按键接口电路113.5 显示电路113.6 运算放大电路113.7 系统整体设计原理图12第四章 系统程序设计134.1 编写语言以及开发工具的选择134.2 波形产生程序设计流程图134.3 总体软件程序设计流程图16第五章 系统调试与软件仿真175.1硬件调试175.2软件调试17第六章 总结18参考文献19附录20附录一 电路图20附录二 源程序21致谢31 第一章 绪论第1章 绪论1.1 课题研究的目的及意义在当今时代环境的推动下,电子技术不断进步发展完善,尤其是集成电路的大量生产,促使了现实生活中的人们生活发生了很大的改变。信号发生器是函数发生器的另一个别称,它的功能和作用给科研和教育带来了不同程度的便捷。例如在机械工程测试技术的应用中,它的主要作用是给测试仪器提供所需信号源作为激励。随着信号发生器的应用愈来愈广泛,各个不同领域对信号发生器的要求和标准也在不断地提升,比如信号发生器的频率稳定度、频谱纯度、频率范围和输出信号的频率微调分辨率等的要求都在提高,而无改进的普通函数信号发生器将不能够继续满足现代电子技术的高门槛要求【1】。所以,不管是国内还是国外的相关技术专家学者都开始追求新技术标准的信号发生器并生产运用,以应对现代电子技术的新标准。而在当今时代的环境影响下,设计出低成本、高精度的发生器,并且能大范围使用具有很高的科研意义。1.2 国内外研究现状信号发生器是一种测量仪器,并且是最早出现的测量仪器之一,最早的信号发生器在20世纪20年代的时候便产生了。随着社会文明逐步向前进步,电子通信技术也在不断完善和发展,到20世纪40年代的时候便设计出了标准的信号发生器,这在一定程度上促进了信号发生器的发展,使人们对信号发生器的认知有了一个具体的概念。在这同一时期还出现了脉冲信号发生器,该类型的发生器不同于函数信号发生器,它是用来测试分析脉冲电路。但是由于当时的信号发生器还处于开发阶段,所以其机械结构比较复杂,而且耗能相对较高,电路也会经常出现各种问题甚至很难调试,还会有波形不稳定,抗干扰能力差、使用寿命短等缺点。所以,那个时期的信号发生器发展不是很顺利,而且发展成果也不尽人意。直到1964年才出现第一台全晶体管的信号发生器【2】。20世纪70年代后期,功能信号发生器的实现原理随着微处理器(MPU)的出现逐渐改变。使用MPU,DAC(数模转换器)和ADC(模数转换器)的函数发生器明显改善。该功能信号发生器可以产生复杂而稳定的波形信号。因为该种类型的函数信号发生器是以 MPU为核心,所以那段时期内的函数发生器大多数是以软件实现为主,通俗的说,就是 MPU对 DAC进行编程,输入指令,控制 DAC输出函数信号。但是由这种方式实现输出的波形存在缺陷不能产生高频率信号,这是由MPU的内部指令运行速度决定的。从理论上讲,可以有两种方法解决这个问题:其一就是增加MPU的时钟周期,其二则是减少指令执行周期,但是这两种解决方法的实际操作效果并不太好,所以无法得到改善。到了近代,科技发展迅速,电子技术也出现了大的变革型进步,促使数字信号处理慢慢地取代了模拟信号处理。而且还出现了高速处理器,例如16位微控制器、DSP等。这些处理器集成度高、效率高、可靠性好。同时,先进的数字控制系统还采用到了先进的智能控制算法,增强了系统处理信号的能力。信号生成和测量的准确性和速度也得到提高,使得数字信号发生器随之发展起来。1.3 课题研究的主要内容单片机是本次设计中的核心控制,本课题要求有单独设计并制作一台函数信号发生器的能力,设计出的函数信号发生器可以产生正弦波、方波、三角波、锯齿波等四种波形,而且信号的类型、频率和步进值可以通过电路中的按键切换并且在LCD上实时显示出来。论文主要包括以下内容:1)论述单片机相关原理及引脚功能,并以单片机作为核心控制器,对信号发生器系统进行控制。2)阐述函数信号发生器的波形产生原理,以及设计方案的选择和应用方法进行研究与论证。3)函数信号发生器信号输入、转换、输出电路及程序的设计,输出结果能够通过。4)实验并验证系统的可靠性。1.4 研究方法及方案选择(1)研究方法1、审查并仔细阅读国内外功能信号发生器的文献资料。2、巩固并加强本次设计所需运用的相关知识。(a)注重学习和掌握功能信号发生器的工作原理。(b)彻底分析电路基础、编程以及微控制器的工作原理和基本理论。3、确定此次设计的总体计划并绘制系统原理框图。4、深度分析确认的方案以及原理框图,选定设计要使用的具体元件。 5、利用proteus进行仿真。(2)方案选择对于本课题的设计方法,有以下三种方案可供选择:方案一:采用单片函数发生器(如8038)实现本次设计目的。首先,该方案可以初步达到设计要求,这种类型的函数发生器可以同时输出几种波形,比如正弦波和三角波同时输出。其次,该方法简单并且很容易实现,它可以实现数控调整频率。但是它产生信号的频率稳定度不高,容易使信号失真,达不到设计要求。 方案二:采用锁相频率合成器和锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上。该方案性能良好,但很难满足输出频率覆盖系数的要求,电路复杂。 方案三:采用单片机编程的方法来实现。该方案的关键在于程序的编写设计,单片机通过程序指令产生数字信号,然后通过数/模转换器转换输出就可以得到波形。而且频率和波形切换可以随着程序的变换而调整,不仅如此,因为采用该方案是通过单片机产生的数字信号,故信号精度会比较高。综合以上三种信号发生器设计方案的论述与对比,可从中总结出这几种设计方法的长处与短处。在方案一中,虽然可以同时输出几种不同波形,且操作快捷,方法简单,但是由于输出的信号频率稳定性不够,故不采用;而在方案二当中,锁相频率合成器的电路过于繁琐,频率覆盖系数达不到设计要求;对于方案三,它不但采用了软硬结合的方法,也就是利用软件来操控硬件来达到目标,使得方案一中信号频率不够稳定和精度准确性不够的短板得到补充,而且该方案的一些电子器件都是比较常见且常用的,容易购买且经济实惠,进而大幅降低该方案的设计成本。故以满足设计要求为前提的情况下,性能达标且成本较低的函数信号发生器才是本次设计的最终方案,因此,本次课题选择方案三。43第二章 方案的总体设计第二章 方案的总体设计 通过对各种相关资料的查阅,了解到函数信号发生器主要由以下五个部分组成:复位电路、晶体振荡电路、STC89C52、D/A转换电路、按键电路。经过对各种设计方案的论证分析后,上述方案三为最终设计选择,即采用单片机编程的方法实现信号发生器的波形输出。该方法将软硬件相结合,利用软件控制硬件,下面这几部分就是对硬件电路部分进行的设计。2.1 总体设计思路STC89C52单片机是本次设计采用的控制芯片,相当于系统的大脑。它拥有很多优秀的特性,例如:灵敏度高、抗干扰性强等。当需要改变电路的灵敏度或者抗干扰能力时,可以直接改变部分参数来实现。因此,本设计采用它作为主控芯片。此次设计的核心是单片机控制和DAC0832进行数/模转换输出。将编写好的程序汇入单片机芯片中,连接好电路启动程序,单片机中的程序指令致使单片机产生相应的数字信号,例如当单片机运行以下程序时uchar code sin64=135,145,158,167,176,188,199,209,218,226,234,240,245,249,252,254,254,253,251,247,243,237,230,222,213,204,193,182,170,158,146,133,121,108,96,84,72,61,50,41,32,24,17,11,7,3,1,0,0,2,5,9,14,20,28,36,45,55,66,78,90,102,114,128;单片机将会产生正弦波的相应数字信号,然后将其相应的数字信号传输给数/模转换器转换为模拟信号,再经过运算放大电路将信号放大,最后在示波器上展示出正弦波。同理,其它波形的产生原理也是如此。2.2 整体设计原理框图单片机产生数字信号,而本次设计最终所需的波形为模拟信号,所以数字信号需要经过数/模转换器转换成模拟信号输出,得出所需的各种波形。STC89C52单片机相当于一个功能齐全的微型计算机,它由CPU、RAM、ROM、I/O接口电路、定时器/计数器以及串行通讯接口组成【3】。在本次设计中,只需将STC89C52再配置几盘及其接口、显示器及其接口、数模转换及波形输出、指示灯及其接口等四部分,即可构成设计所需的波形发生器,该信号发生器的原理框图如图2-1所示:图2-1 信号发生器原理框图2.3 硬件的选择2.3.1 单片机的选择单片机微型计算机(Single Chip Microcomputer)简称单片机(SCM),由中央处理器CPU、I/O接口电路、随机存取存储器RAM、只读存储器ROM、定时/计数器和串行通信接口,合成在一个芯片里,造成一个微小型计算机。它体积小、可靠性高、功能强大、灵活方便等,因此得到了广泛应用【4】。使用时涉及很广,如智能化仪器仪表、自动化装置、家用电器、医用设备、计算机网络和通信等各个领域。单片机有多种型号,在本设计中我采用的是STC89C52的单片机。STC89C52单片机具有以下功能及优点:包含MCS51指令系统:可以不停重复擦写Flash ROM;有双向I/O口32个、256x8bit内部RAM;时钟频率为0-24MHz;有2个串行中断,可编程串行通道:还有2个外部中断源、2个读写中断口线,总共8个中断源和3个加密位:有PDIP、PQFP、TQFP、PLCC以及其他形式的包装,以满足不同产品的使用【】。STC89C52单片机引脚图如下: STC89C52单片机引脚图STC89C52单片机实物图在本次设计中关于使用STC89C52单片机各个引脚介绍:VCC:接电源正极引脚GND:接地引脚P0口:P0口是一个8位漏极开路的双向I/O口。在本次设计中使用P0-P7口作为输出显示端,与10K的排阻连接,然后输入数据到LCD的D0-D7口进行显示。P1口:P1.0-P1.7口与DAC0832的DI0-DI7口对应相连,将单片机产生的数字信号输入进数/模转换器进行信号的转换。P2口:将P2.6和P2.7分别与LCD的EN、RS口相连,将波形类型、频率以及步进值的信号传输给显示电路。P3口:P3.0-P3.3与四个LED相连,四个LED分别代表正弦波、三角波、方波、锯齿波;P3.4-P3.7口分别与K1、K2、K3、K4按键相连,用来控制波形的切换、调节频率和步进值。RST:复位输入XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:反相振荡放大器的输出。2.3.2 键盘的选择在整个函数信号发生器的系统中,键盘做为输入和操控设备,是必不可少的,是连接设计者和机器的枢纽。键盘按结构形式可以分为非编码键盘和编码键盘,非编码键盘使用软件方法生成代码,编码键盘使用硬件生成代码。由于非编码键盘具有结构简单并且便宜,因此在大多数情况下都选择非编码键盘。有许多类型的非编码键盘,独立式和行列式是最常用的两种。独立式键盘具有较少的键,按键之间不会互相干扰。但是,单独的键盘需要大量的I/O口线,因此当需要更少的键或者剩余更多的I/O线时,通常使用这种类型的键盘;尽管行列式键盘的键位于行和列线的每个交叉点,但是这种类型的键盘可以有效地提高I/O的利用率。在此设计中,使用独立式键盘,因为需要少量按钮。2.3.3 显示器的选择在该设计中,显示电路使用液晶显示器1602进行显示。LCD1602是用于显示字母、数字、符号等的液晶显示模块。采用LCD液晶显示屏显示,体积小、功耗低、界面美观。它有16个引脚,其引脚如下图所示:图2-1 LCD1602引脚图1602字符型液晶显示器实物图如图所示:LCD1602实物图第三章 硬件电路设计第三章 硬件电路设计3.1 单片机最小系统顾名思义,就是能使单片机完成正常功能且正常运行、采用最少电子元件组成的工作系统。虽然这个系统称为最小系统,而且结构组成比较简单,但是这个最小系统中的任何一个部分都是至关重要且不可缺少的。如下图所示,电源电路、晶体振荡器电路和复位电路构成了最小的单片机系统。STC89C52单片机最小系统如图所示:图3-1 单片机最小系统3.1.1 晶振电路在单片机最小系统中,晶振电路是其中重要的一部分,我们也可以叫它时钟电路,而且它在单片机系统里的作用很大。它决定了单片机运行时的运算效率,单片机运行时以它为时间参照,单片机的所有工作指令都要建立在时钟频率的基础之上,一旦晶振提供的时钟频率增高,那么单片机的运行效率也会随之加快;反之,就会减缓单片机的运行速率。在单片机内部有一个高增益反向放大器,输入输出端分别为XTAL1.XTAL2,形成反馈电路是晶振电路奏效的必要条件。在对电路进行布局时,为保证振荡器震荡的稳定性,晶振、电容等应尽可能的靠近单片机。晶振电路如图所示。图3-2 晶振电路图3.1.2 复位电路常用的复位方式大概有三种,包括有上电完成自动复位,或通过按键调变电平进行复位以及使用外部脉冲来完成复位等。本课题介绍使用的是复位方式完成单片机的初始化。复位电路如图所示:图3-3 复位电路3.2 数/模转换电路众所周知,单片机产生的信号为数字信号,在本次设计中选择的数/模转换器是DAC0832,用DAC0832来转换该信号。DAC0832是一种内含数据寄存器的8位D/A转换芯片,它主要由以下四个部分组成:8位输入锁存器、8位DAC寄存器、8位D/A转换电路以及转换控制电路。数/模转换电路如图3-3所示:DAC0832有三种不同的工作模式,即直通方式、单缓冲方式和双缓冲方式。而在本次设计中采用的方式为直通方式,即将ILE引脚接+5V,同时CS、WR1、WR2以及XFER引脚全部接地。DAC0832的DI0-DI7引脚和STC89C51单片机的P10-P17引脚对应相连。CS:片选信号,输入,低电平有效;WR:数据锁存器写选通输入线,分为WR1和WR2,系统输入的写选通脉冲应有一定的宽度,通常要求不小于500ns。图3-4 数/模转换电路3.3 波形产生模块设计本次设计采用单片机编程的方法产生四种波形:正弦波、方波、三角波、锯齿波,由单片机产生的数字信号通过数/模转换器转换成模拟信号,再经过运算放大之后输出。其电路图(3-4)波形产生电路如下: 图3-5 波形产生电路如图所示,单片机的P1口连接DAC08328位数据输入端,DAC0832的输出端接运算放大器,数字信号经过数/模转换器转换成模拟信号再放大输出所要波形。3.4 按键接口电路本次设计采用的是独立式键盘,如图3-6所示,按键接口电路原理图。在图中,按键K1-K4连接到单片机的P3.4-P3.7端口。其中K1键可以控制波形的选择,可以在四种波形之间切换:正弦波、三角波、方波和锯齿波;K2键控制频率的增加;K3控制频率的减少;K4控制频率步进值。图3-6 按键接口电路3.5 显示电路在单片机系统设计显示部分,发光二极管(LED)、液晶显示器(LCD)、荧光管显示器(VFD)这三种显示器是最常用的。而在本次设计中,采用的是1602液晶显示屏,用来显示对应的波形类型、频率以及步进值。在接口方面,由单片机的P0-P7口与10K的排阻连接然后通过排阻连接1602LCD的D0-D7口实现显示功能。显示电路图如图3-7所示:图3-7 显示电路3.6 运算放大电路上文论述到,数字信号经过数/模转换电路转换为模拟信号,再要经过放大电路进行信号放大才能将模拟信号传达给示波器展示波形,所以,运放电路相当于输出前的最后一道关卡。在本次设计中,运算放大电路采用的是LM358,LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器。其电路图如图3-8所示:图3-8 运算放大电路3.7 系统整体设计原理图通过上述所有电路设计的各个模块,整个系统的硬件电路图设计如图3-9所示:图3-9 硬件电路图第四章 系统程序设计第四章 系统程序设计4.1 编写语言以及开发工具的选择前面已经进行了硬件的选择及设计,而采用单片机编程方法来设计信号发生器,需要将硬件和软件同时融入设计,所以,程序编写也至关重要。在编写程序之前,需要选择一种合适的语言。程序设计的语言种类繁多,但大致可分为三大类:机器语言、汇编语言、高级语言。第一类,机器语言,应用较少,而且对编程人员的专业素质要求较高,且工作繁琐,浪费时间;第二类,汇编语言,它虽然弥补了机器语言难度难改的缺点,但仍属于低层次语言,而且其通用性差,很难移植,可读性也差;第三类,高级语言,高级语言更加接近自然语言、数学语言,简单易学,表达能力也强于前面两类语言。所以经过几种不同类型的语言进行对比理论述后,高级语言更适合此次的程序设计。而C语言就是属于高级语言的一种,因此,本次设计采用的编写语言是C语言。Keil uVsion4是许多芯片应用开发软件中最好的软件之一。界面友好,易于学习和使用,因此该设计选择使用Keil uVsion4开发软件。4.2 波形产生程序设计流程图 在整个程序设计流程中,要确保流程能无阻碍进行,并按照设计方案最终产生波形。如图4-1所示,该图为波形产生流程图,程序开始后,先要将单片机初始化,然后判断信号的频率值,如果输入的信号频率符合要求,那么就将时间常数重置,如果不符合,就重新返回判断,直至信号频率通过。在中断结束后,再判断输出的波形是否保持和频率一致,如果一致,就显示波形频率;如果不一致就重新返回波形判断。图 4-1 波形产生流程图在图4-2波形判断流程图中,中断服务程序开始后,首先判断通过的信号产生的波形类型,如果信号产生的波形为方波,则通过,如若不是方波,则进行下一轮的波形判断。以此类推,直至四种波形都被判断完成,然后用查表的方法求出相应的数据,并通过D/A转换器将数据转换成模拟信号,最后形成所需波形信号。图4-2 波形判断流程图 4.3 总体软件程序设计流程图图4-3 总体软件程序设计流程图第五章 系统调试与系统仿真第五章 系统调试与软件仿真系统的硬件部分和软件部分都设计好之后,接下来便是对这两大总体部分的调试,验证该部分有没有问题、能否正常工作,只有将硬件电路和软件程序联合调试找出仍然存在的问题并立马解决,才能设计出一套完好的函数信号发生系统。5.1硬件调试 硬件调试分为单元电路调试和联机调试,而单元电路调试在硬件电路设计中已经进行对电路进行检验。线路检查:根据总电路原理图,将电路逐步连接完整,连接电路时要注意不要搞错电子元件的型号以及连接顺序,必要时可用万用表检测线路通断情况。先用万用表检查各管脚之间是否有短路、虚焊、漏焊现象。检查无误后,测试各个芯片是否有损,待检查完毕后,将各个芯片插入各自的槽位。5.2软件调试基于单片机的函数信号发生器设计是由软件和硬件相互结合实现的,不管是硬件部分还是软件部分出现差错,都会使整个设计系统出现问题,进而影响系统的总体功能。在本次设计中,先进行硬件调试,确认完硬件电路没有问题之后,才进行软件调试。本设计用到了Keil uVision4软件,将编好的程序输入进去,然后运行调试,找出程序中出现的语法错误和逻辑错误,并立即纠正,再重复上述操作,直至程序无错误提示,调试完毕后,创建HEX文件,该文件用于传输至单片机芯片内,并将编写好的程序写入电路板中,运行电路,让其实现信号发生器的功能。第六章 总结第六章 总结 经过这几个月的努力,终于顺利完成了毕业设计。犹记得,刚刚拿到毕业设计任务书时,我还是一脸茫然,无从下手,后来通过指导老师的耐心指导和同学的热心帮助,我逐渐有了设计头绪,接下来便是穿梭于寝室、食堂、图书馆的忙碌生活。从最开始的仔细阅读设计任务书,再到图书馆查找、翻阅相关文献资料,然后着手确认基本的设计方案、了解芯片功能、调试以及上机仿真,到最后成功做出实物,在整个设计期间,遇到的问题无法解决主要体现在以下方面:一、对单片机的基本知识掌握不牢固,一些单片机原理、引脚功能都不清楚,对书上的内容理解也不够透彻;二、缺乏熟练应用开发软件的能力,例如应用PROTUES仿真时,不仅不能熟练掌握,甚至还很生疏,导致操作时很费时间;三、相关知识掌握的不够全面,缺少系统设计的经验。通过这次毕业设计,我进一步认识到了自己的短处,让我明白了以后不管是继续学习深造还是进入社会,都要有端正的学习态度 ,要实事求是、严于律己,对于不懂的知识要不懂就问,不能一知半解,不懂装懂。再者,做事要循序渐进,不能急于求成。就好比在这次设计中,我想提前做完,结果省略了一些关键步骤,最后不仅没能节省时间,反而没把东西做好,又得从新开始,所以做任何事之前要谋而后动,不要急于求成,否则就会适得其反。在本次设计中,我认为最大的体会就是认识到了理论联系实际的重要性,作为学生,对于还未走出校门的我们来说,理论知识的学习基本占据了我们的全部,实践的机会非常少,所以我们的动手能力会比较弱,而这次设计激发了我要学会利用科学的思维方法将理论融入到实际操作中去,这样才能增加我的知识运用能力以及实际操作能力。谢谢学校为我们提供这么好的机会,为我们之后走向社会奠定了一个好的基础。总的来说,本次毕业设计让我学会了很多很多,也让我明白了自身还需不断努力提升,“革命尚未成功,同志仍需努力”,知识的海洋是无穷无尽的,在今后的日子里,我会一直保持端正的学习态度,虚心学习,努力一步一步在全方面提升自我,锻炼自身能力,将来为社会做贡献。参考文献参考文献1 高吉祥, 全国大学生电子设计竞赛培训系列教程M. 北京: 电子工业出版社, 2007.2 谢维成等. 单片机原理与应用及C51程序设计(第2版)清华大学出版社.3 杨居义. 单片机课程设计指导M. 北京: 清华大学出版社, 2009.4 基于51单片机的简易函数信号发生器的设计与分析J. 郭辉. 电子测试. 2016(23) 5 基于AD9850的多功能信号源设计J. 任艳玲. 电子科技. 2015(06) 6 基于单片机的低频信号发生器设计J. 任小青, 王晓娟, 田芳. 现代电子技术. 2014(16) 7 基于proteus的波形发生器设计J. 乔建华, 孙少飞, 邢彩荣, 芦丹. 太原科技大学学报. 2014(02) 8 朱兆旭. 基于51单片机的函数信号发生器的设计J. 数字技术与应用, 2017(02): 11.9 赵建领,崔昭霞. 精通51单片机开发技术与应用实例. 北京: 电子工业出版社, 2012, 6 87-470.10 秦冲, 黄建清, 李亚军, 唐双柱, 刘军. 基于STC89C52的函数信号发生器设计J. 农业网络信息,2018(02):20-25.11 王幸之. AT89系列单片机原理与接口技术. 北京:北京航空航天大学出版社,2004,(5):43-44.12 王召. 基于单片机的函数信号发生器的设计J. 科技展望, 2016, 26(16): 142.13 胡应坤. 基于单片机的数字函数信号发生器设计J. 科技风, 2013(14): 41-42.14 刘振鹏. 基于AT89C52单片机函数发生器与时间频率分析仪设计D. 山东科技大学, 2007.15 蔡碧丽. 函数信号发生器的组装与调试J. 轻工科技, 2013, 29(05): 60-62.16 万永芳, 余忠凯. 一种采用80C51的函数信号发生器硬件设计J. 长江大学学报(自然科学版)理工卷, 2008, 5(03): 68-70.17 刘哲. 常用电子仪器的使用方法J. 科技与企业, 2013(03): 298.18 张慧颖. 低频函数发生器的设计J. 吉林化工学院学报, 2012, 29(09): 82-85.19 张凯. 实用信号发生器的设计与实现J. 电脑知识与技术, 2012, 8(15): 3733-3736.附录一 电路图附录二 源程序附录二 源程序单片机源程序如下:#include /包含头文件#include#define uchar unsigned char /宏定义#define uint unsigned intsbit s1=P35; /定义按键的接口sbit s2=P36;sbit s3=P37;sbit s4=P34;sbit led0=P30;sbit led1=P31;sbit led2=P32;sbit led3=P33; sbit lcdrs=P27; /液晶控制位sbit lcden=P26;char num,boxing,u; /定义全局变量int pinlv=100,bujin=1,bujin1=1;uchar code table=0123456789;/定义显示的数组uchar code table1=Fout= Wave form:;unsigned long int m;int a,b,h,num1;/自定义字符uchar code zifu=0x0e,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x11,0x0e,0x00, /正弦波 0 10x00,0x07,0x04,0x04,0x04,0x04,0x1c,0x00,0x00,0x1c,0x04,0x04,0x04,0x04,0x07,0x00, /矩形波 2 30x00,0x01,0x02,0x04,0x08,0x10,0x00,0x00,0x00,0x10,0x08,0x04,0x02,0x01,0x00,0x00, /三角波 4 50x00,0x01,0x03,0x05,0x09,0x11,0x00,0x00, /锯齿波 6;uchar code sin64=135,145,158,167,176,188,199,209,218,226,234,240,245,249,252,254,254,253,251,247,243,237,230,222,213,204,193,182,170,158,146,133,121,108,96,84,72,61,50,41,32,24,17,11,7,3,1,0,0,2,5,9,14,20,28,36,45,55,66,78,90,102,114,128; /正弦波取码uchar code juxing64=255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0; /矩形波取码uchar code sanjiao64=0,8,16,24,32,40,48,56,64,72,80,88,96,104,112,120,128,136,144,152,160,168,176,184,192,200,208,216,224,232,240,248,248,240,232,224,216,208,200,192,184,176,168,160,152,144,136,128,120,112,104,96,88,80,72,64,56,48,40,32,24,16,8,0;/三角波取码uchar code juchi64=0,4,8,12,16,20,24,28,32,36,40,45,49,53,57,61,65,69,73,77,81,85,89,93,97,101,105,109,113,117,121,125,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,215,219,223,227,231,235,239,243,247,251,255; /锯齿波取码void delay(uint xms) /延时函数int a,b;for(a=xms;a0;a-)for(b=110;b0;b-);void write_com(uchar com)/写命令函数lcdrs=0;P0=com;delay(1);lcden=1;d
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。