毕业设计(论文)-基于单片机的信号产生电路的设计 (3).doc_第1页
毕业设计(论文)-基于单片机的信号产生电路的设计 (3).doc_第2页
毕业设计(论文)-基于单片机的信号产生电路的设计 (3).doc_第3页
毕业设计(论文)-基于单片机的信号产生电路的设计 (3).doc_第4页
毕业设计(论文)-基于单片机的信号产生电路的设计 (3).doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

成都理工大学工程技术学院毕业论文基于单片机的信号产生电路的设计作者姓名: 专业名称:信息工程指导教师: a197b9b5c455a527f14930e6497ac4b6.pdf摘要本系统是基于at89s52单片机的数字式低频信号发生器。采用at89s52 单片机作为控制核心,外围采用数字/模拟转换电路(dac0832)、稳压电路(mc1403)、运放电路(lm324)、按键和led显示灯电路等。通过按键控制可产生方波、锯齿波、三角波、正弦波等,同时用led显示灯指示对应的波形。其设计简单、性能优良,可用于多种需要低频信号源的场所,具有一定的实用性。关键词:单片机 信号发生器 d/a转换abstractthe system is a digital signal generator based on single chip computer. at89s52 is used as a control microcontroller core. the system is composed by digital/analog conversion(dac0832), regulator circuit(mc1403), imply circuit (lm324) ,button and led lights .it can generate the square, triangle and sine wave, with led display. the system can be used for a signal source in the low-frequency signal source. it is very practical.keyword:the single chip computer, the signal generator, d/ a conversion- iv -目录摘要iabstractii目录iii1.绪论11.1信号发生器现状11.2单片机简介11.3单片机在低频信号发生器中的应用21.4 proteus仿真系统简介32.系统设计52.1系统方案的比较52.2控制芯片的选择53.硬件电路的设计73.1基本原理:73.2单片机的介绍及资源分配:73.2.1 单片机的介绍73.2.2 资源分配133.3各部分电路原理133.4硬件设计原理图184.软件设计194.1主程序流程图194.2子程序流程图205.测试结论245.1软件仿真结果245.1.1仿真波形245.1.2 波形分析265.2 硬件测试结果265.2.1 硬件测试波形265.2.2 产生各种波形输出结果285.2.3 波形结果分析28总结29致谢30参考文献31附录1元件清单32附录2程序清单331.绪论1.1信号发生器现状波形发生器亦称函数发生器,作为实验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿、正弦、方波、三角等波形。信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而成,如采用555振荡电路发生正弦波、三角波和方波的电路便是可取的路径之一,不用依靠单片机。但是这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点。在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源。而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的rc很大;大电阻,大电容在制作上有困难,参数的精度亦难以保证;体积大,漏电,损耗显著更是其致命的弱点。一旦工作需求功能有增加,则电路复杂程度会大大增加。1.2单片机简介单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广,发展很快。单片机体积小,重量轻,抗干扰能力强,环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制,自动检测,智能仪器仪表,家用电器,电子电力,点击一体化设备等各个方面。什么是单片机?单片机就是在一块半导体硅片上集成了微处理器(cpu),存储器(ram,rom,eprom)和各种输入,输出接口(定时器/计数器,并行i/o口,串行口,a/d转换器以及脉宽调制器pwm等),这样一块集成电路芯片具有一台计算机的属性,因而被称为单片微型计算机,简称单片机。单片机主要应用于测控领域,用以实现各种测试和控制功能。为了强调其控制属性,在国际上,多把单片机称为微控制器mcu(microcontroller unit)。由于单片机在使用时,通常是处于测控系统的核心地位并嵌入其中,所以,通常也把单片机称为嵌入式控制器emcu(embedded microcontroller unit)。而在我国,大部分工程技术人员则比较习惯于使用“单片机”这一名称。1.3单片机在低频信号发生器中的应用当今是科学技术及仪器设备高度智能化飞速发展的信息社会,电子技术的进步,给人们带来了根本性的转变。现代电子领域中,单片机的应用正在不断的走向深入,这必将导致传统控制与检测技术的日益革新。单片机构成的仪器具有高可靠性、高性能价格比,在智能仪表系统和办公自动化等诸多领域得以极为广泛的应用,并走入家庭,从洗衣机、微波炉到音响汽车,处处可见其应用。因此,单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标志之一。一块单片机芯片就是一台计算机。由于单片机的这种特殊的结构形式,在某些应用领域中,它承担了大中型计算机和通用微型计算机无法完成的一些工作。使其具有很多显著的优点和特点,因此在各个领域中都得到了迅猛的发展。单片机的特点归纳起来有以下几个方面。(1)具有优异的性能价格比单片机尽可能地把应用所需的存储器,各种功能的i/o 接口集成在一块芯片内,因而其性能很高,而价格却相对较低廉,即性能价格比很高。(2)集成度高、体积小、可靠性高单片机把各种功能部件集成在一块芯片上,因而集成度高,均为大规模或超大规模集成电路。又内部采用总线结构,减少了芯片之间的连线,这大大提高了单片机的可靠性与抗干扰能力。同时,其体积小,对于强磁场环境易于采取屏蔽措施,适合于在恶劣环境下工作。(3)控制功能强单片机体积虽小,但“五脏俱全”,它非常适用于专门的控制用途。为了满足工业控制要求,一般单片机的指令系统中有极丰富的转移指令,i/o口的逻辑操作指令以及位操作指令。其逻辑控制功能及运行速度均高于同一档次的微机。(4)低电压、低功耗单片机大量用于携带式产品和家用消费类产品,低电压和低功耗尤为重要。目前,许多单片机已可在2.2v电压下运行,有的已能在1.2v或0.9v下工作,功耗降至a级,一粒钮扣电池就可长期使用。利用单片机采用程序设计方法来产生低频信号,其下限频率很低。具有线路相对简单,结构紧凑,价格低廉,频率稳定度高,抗干扰能力强,用途广泛等优点,并且能够对波形进行细微调整,改良波形,使其满足系统的要求。只要对电路稍加修改,调整程序,即可完成功能升级。这里介绍一种采用at89s52单片机和一片dac0832数模转换器做成的数字式低频信号发生器,它的特点是价格低、性能高,在低频范围稳定性好、操作方便、体积小、耗电少等。信号发生器与其它相比还具有如下优点:较分立元件信号发生器而言,具有频率高,工作稳定,容易调试等特性;较专用dds芯片的信号发生器而言,具有结构简单,成本低等特性。1.4 proteus仿真系统简介proteus软件是英国labcenterelectronics公司出版的eda工具软件。它不仅具有其它eda工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。proteus软件特点是具有其它eda工具软件(例:multisim)的功能。这些功能是:(1)原理布图(2)pcb自动或人工布线(3)spice电路仿真 用proteus实现软件仿真1)支持多种主流单片机系统的仿真:支持当前的主流单片机,如51系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列、68000系列等。2)提供软件调试功能:3)提供丰富的外围接口器件及其仿真ram,rom,键盘,马达,led,lcd,ad/da,部分spi器件,部分iic器件。4)提供丰富的虚拟仪器:利用虚拟仪器在仿真过程中可以测量外围电路的特性。5)具有强大的原理图绘制功能。2.系统设计2.1系统方案的比较方案一:采用函数信号发生器icl8038集成模拟芯片,(如图2-1)它是一种可以同时产生方波、三角波、正弦波的专用集成电路。但是这种模块产生的波形都不是纯净的波形,会寄生一些高次谐波分量,采用其他的措施虽可滤除一些,但不能完全滤除掉。图2-1方案一方框图d/a键 盘单片机icl8038运算电路显 示d/a输出方案二:采用分立元件实现非稳态的多谐振荡器,然后根据需要加入积分电路等构成正弦、矩形、三角等波形发生器。这种信号发生器输出频率范围窄,而且电路参数设定较繁琐,其频率大小的测量往往需要通过硬件电路的切换来实现,操作不方便。方案三:采用单片机和dac0832数模转换器生成波形,由于是软件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。它的特点是价格低、性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。经比较,方案三既可满足毕业设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比较高,所以采用该方案。2.2控制芯片的选择方案一:at89s52单片机是一种高性能8位单片微型计算机。它把构成计算机的中央处理器cpu、存储器、寄存器、i/o接口制作在一块集成电路芯片中,从而构成较为完整的计算机。方案二:c8051f005单片机是完全集成的混合信号系统级芯片,具有与at80s52兼容的微控制器的内核,与mcs-51指令集完全兼容。除了具有标准at80s52的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件。方案选择:方案二中c8051f005芯片系统内部结构复杂,不易控制,芯片成本高,对于本系统而言利用率低,at89s52芯片比较常用,简单易控制,成本低,性能稳定故采用方案一。3.硬件电路的设计3.1基本原理:系统框图如图3-1所示。图3-1 低频信号发生器系统框图低频信号发生器系统主要由cpu、d/a转换电路、基准电压电路、电流/电压转换电路、按键和波形指示电路、电源等电路组成。其工作原理为当分别按下四个按键中的任一个按键就会分别出现方波、锯齿波、三角波、正弦波,并且有四个发光二极管分别作为不同的波形指示灯。3.2单片机的介绍及资源分配:3.2.1 单片机的介绍(1)最小单片机系统at89s52的引脚图如图3-2所示图3-2 at89s52引脚图管脚说明低频信号发生器采用at89s52单片机作为控制核心,其内部组成包括:一个8位的微处理器cpu及片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接;片内数据存储器ram低128字节,存放读/写数据;高128字节被特殊功能寄存器占用;片内程序存储器4kb rom;四个8位并行i/o(输入/输出)接口p3 -p0,每个口可以用作输入,也可以用作输出;两个定时/计数器,每个定时/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制;五个中断源的中断控制系统;一个全双工uart(通用异步接收发送器)的串行i/o口。vcc:供电电压。gnd:接地。rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。/psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的/psen信号将不出现。/ea/vpp:当/ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。xtal2:来自反向振荡器的输出。89s52 单片机外部有32个端口可供用户使用,其功能如下:表3-1 89s52并行i/o接口端口引脚位置第一功能第二功能 符号 功能符号功能p039-32p0.0-p0.7通用i/0口ad0-ad7地址数据总线p11-8p1.0-p1.7通用i/0口p221-28p2.0-p2.7通用i/0口a8-a15地址总线(高位)p310p3.0通用i/0口rxd串行通信发送口11p3.1txd串行通信接收口12p3.2int0外部中断013p3.3int1外部中断114p3.4t0计数器0输入端口15p3.5t1计数器1输入端口16p3.6wr外部存储器写功能17p3.7rd外部存储器读功能p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。p3口也可作为at89c51的一些特殊功能口,如下所示: 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(外部数据存储器写选通);p3.7 /rd(外部数据存储器读选通);p3口同时为闪烁编程和编程校验接收一些控制信号。at89s52的晶振及其连接方法cpu工作时都必须有一个时钟脉冲。有两种方式可以向89s52提供时钟脉冲:一是外部时钟方式,即使用外部电路向89s52提供始终脉冲,见图3-3-(a);二是内部时钟方式,即使用晶振由89s52内部电路产生时钟脉冲。一般常用第二种方法,其电路见图3-3-(b)。图3-3 89s52的时钟脉冲图33中:j一般为石英晶体,其频率由系统需要和器件决定,在频率稳定度要求不高时也可以使用陶瓷滤波器。c1、c2:使用石英晶体时,c1=c2=30(10)pf使用陶瓷滤波器时,c1=c2=40(10)pfat89s52的复位使cpu开始工作的方法就是给cpu一个复位信号,cpu收到复位信号后将内部特殊功能寄存器设置为规定值,并将程序计数器设置为“0000h”。复位信号结束后,cpu从程序存储器“0000h”处开始执行程序。89s52为高电平复位,一般有3种复位方法。 上电复位。接通电源时 手动复位。设置一个复位按钮,当操作者按下按钮时产生一个复位信号。 自动复位。设计一个复位电路,当系统满足某一条件时自动产生一个复位信号。图3-4为最简单的上电复位和手动复位方法。89s52 图3-4 89s52的复位电路关于cpu的复位电路应当注意,在调试单片机程序时有两种工作方式。一是仿真器方式,主要用于调试程序。此时程序的执行由仿真器控制,复位电路不起作用,系统时钟也经常设置为仿真器产生,此时用户的晶振也不起作用。二是用户方式,即脱离仿真器的实际工作方式,用户的时钟振荡电路和复位电路都必须正常工作。因此,如果系统复位电路或晶振电路有故障,就会出现仿真器方式工作正常,而用户方式不工作的现象,这是许多初学者常遇到的问题。芯片擦除整个perom阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ale管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,at89s52设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,cpu停止工作。但ram,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存ram的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.2.2 资源分配软、硬件设计是设计中不可缺少的,为了满足功能和指标的要求,资源分配如下:1.晶振采用12mhz;2.内存分配;p1口的p1.0-p1.3分别与四个按键连接,分别控制锯齿波、三角波、正弦波和方波,p1.4-p1.7与四个发光二极管相连,按键一对应发光二极管一,依次类推,发光二极管四对应按键四,实现输出一个波形对应亮一个灯。p0口与dac0832的di0-di7数据输入端相连。p2口用来控制dac0832的输入寄存器选择信号cs、输入寄存器写选通信号wr1及dac寄存器写选通信号wr2和数据传送信号xfer。3.3各部分电路原理(a)dac0832芯片原理管脚功能介绍(如图3-5所示)图3-5 dac0832管脚图(1) di7di0:8位的数据输入端,di7为最高位。(2) iout1:模拟电流输出端1,当dac寄存器中数据全为1时,输出电流最大,当 dac寄存器中数据全为0时,输出电流为0。(3) iout2:模拟电流输出端2, iout2与iout1的和为一个常数,即iout1iout2常数。(4) rfb:反馈电阻引出端,dac0832内部已经有反馈电阻,所以 rfb端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。(5) vref:参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定0至255的数字量转化出来的模拟量电压值的幅度,vref范围为(+10-10)v。vref端与d/a内部t形电阻网络相连。(6) vcc:芯片供电电压,范围为(+5 15)v。(7) agnd:模拟量地,即模拟电路接地端。(8) dgnd:数字量地。 当wr2和xfer同时有效时,8位dac寄存器端为高电平“1”,此时dac寄存器的输出端q跟随输入端d也就是输入寄存器q端的电平变化;反之,当端为低电平“0”时,第一级8位输入寄存器q端的状态则锁存到第二级8位dac寄存器中,以便第三级8位dac转换器进行d/a转换。一般情况下为了简化接口电路,可以把wr2和xfer直接接地,使第二级8位dac寄存器的输入端到输出端直通,只有第一级8位输入寄存器置成可选通、可锁存的单缓冲输入方式。 特殊情况下可采用双缓冲输入方式,即把两个寄存器都分别接成受控方式制作低频信号发生器有许多方案:主要有单缓冲方式,双缓冲方式和直通方式。单缓冲方式具有适用于只有一路模拟信号输出或几路模拟信号非同步输出的情形的优点,但是电路线路连接比较简单。而双缓冲方式适用于在需要同时输出几路模拟信号的场合,每一路模拟量输出需一片dac0832芯片,构成多个dac0832同步输出电路,程序简单化,但是电路线路连接比较复杂。根据以上分析,我们的课题选择了单缓冲方式使用方便,程序简单,易操作。工作原理dac0832主要由8位输入寄存器、8位dac寄存器、8位d/a转换器以及输入控制电路四部分组成。8 位输入寄存器用于存放主机送来的数字量,使输入数字量得到缓冲和锁存,由加以控制;8位dac寄存器用于存放待转换的数字量,由加以控制;8位d/a转换器输出与数字量成正比的模拟电流;由与门、非与门组成的输入控制电路来控制2个寄存器的选通或锁存状态。dac0832与反相比例放大器相连,实现电流到电压的转换,因此输出模拟信号的极性与参考电压的极性相反,数字量与模拟量的转换关系为:vout1=-vref(数字码/256)若d/a转换器输出为双极性,如图3-6所示。图3-6 d/a转换器双极性输出电路图3-6中,运算放大器a2的作用是把运算放大器a1的单向输出电压转换成双向输出电压。其原理是将a2的输入端通过电阻r1与参考电压vref相连,vref经r1向a2提供一个偏流i1,其电流方向与i2相反,因此运算放大器a2的输入电流为i1、i2之代数和。则d/a转换器的总输出电压为:vout2= -(r3/r2) vout1+(r3/r1) vref设r1=r3=2r r2=r,则 vout2=-(2vout1+vref)dac0832主要是用于波形的数据的传送,是本题目电路中的主要芯片。dac0832电路原理图(如图3-7所示) 图3-7 dac0832电路原理图(b) lm324工作原理(管脚功能如图3-8所示) 图3-8 lm324管脚图lm324时四运放集成电路 ,它采用14脚双烈直插塑料封袋,外形如图1所示。他的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。每一组运算放大器可用图中所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“v+”、“v-”为正、负电源端,“out”为输出端。两个信号输入端中,“-”为反相输入端,表示运放输出端out的信号与该输入端的为相反;“+”为同相输入端,表示运放输出端out的信号与输入端的相位相同。lm324的引脚排列见图9。由于lm324四运放电路具有电源电压范围宽,静态功耗小,可但电源使用,价格低廉等优点,因此被广泛应用在各种电路中。在此项目中用了lm324的三组运放,分别置于第一级输出,第一、二级之间,第二级输出。(c)mc1403工作原理管脚功能如图3-9所示 图3-9 mc1403管脚图mc1403是低压基准芯片。一般用作8到12bit的d/a芯片的基准电压等一些需要基本精准的基准电压的场合。输出电压:2.5v+/-25mv输入电压范围:4.5vto40v输出电流:10ma因为输出是固定的,所以电路很简单。就是vin接电源输入,gnd接地,vout加一个0.1uf到1uf的电容就可以了。vout一般用于8到12bit的d/a芯片的基准电压。在此项目里mc1403起到了稳压的作用,它基准了dac0832的8脚需要的2.5v。使其dac0832能够正常工作。3.4硬件设计原理图 硬件设计原理图如图3-10所示: 图3-10 设计原理图4.软件设计单片机技术比较成熟,开发过程可利用的资源和工具丰富,最大的优点是价格便宜,成本低。调试软件采用keil51.keiluvison是众多单片机应用开发软件中优秀软件之一,界面友好,易写易操作。在调试程序中,软件仿真protues功能也很强,软件调通,再通过编程器下载到at89s52中,然后插到系统中即可独立完成所有的控制。软件设计上,根据功能分了几个模块编程。模块主要有:主程序模块、锯齿波模块、三角波模块、正弦波模块、方波模块、延时子程序模块等。显示波形模块是利用dac0832的8位特点,把波形的数据以8位数据的形势送进cpu中,只要一按键就能显示波形。4.1主程序流程图如图4-1所示。图4-1 主程序流程图本软件设计过程中主要实现利用按键来控制不同波形的输出,当按键1按下时,函数发生器就输出锯齿波;当按键2按下时,函数发生器就输出三角波;当按键3按下时,函数发生器就输出正弦波;当按键4按下时,函数发生器就输出方波。通过按键可以以任意循环方式输出不同波形。4.2子程序流程图1 锯齿波流程图 如图4-2所示。图4-2 锯齿波流程图锯齿波产生首先将dac0832口地址至为4000h,然后将00h送入寄存器a中,dac0832输出a中的内容,当a中的内容等于f0h返回开始,当a中的内容不为0fh时,a中的内容累加,从而输出波形。2 三角波程序流程图如图4-3所示。4-3 三角波流程图三角波产生首先将dac0832口地址至为4000h,通过a中数值的加一递升,当a中的内容为0时,与0ffh相比,相等时a中的内容减一递减,从而循环产生三角波。3 正弦波程序流程图 如图4-4所示。图4-4 正弦波流程图正弦波波形设计通过查表指令得出。4 方波程序流程图如图4-5所示。图4-5 方波流程图方波产生首先将dac0832口地址至为4000h,当a中的内容为0时,输出对应模拟量,然后延时,当a中的内容为0ffh时,同样输出对应模拟量,再延时,从而得到方波。5 延时子程序流程图如图4-6所示。图4-6 延时程序流程图延时程序如下:dely: mov r7,#10hdly0: mov r6,#0edh nopdly1: djnz r6,dly1 djnz r7,dly0 ret方波的上限和下限的延时时间为:7mss=1+(1+1+2237+2)16+1=7648s5.测试结论5.1软件仿真结果在确定编程思路以后将各部分的程序及各子程序编好,使用keil进行编译,根据提示的错误对程序进行修改。除了语法差错和逻辑差错外,当确认程序没问题时,通过直接加载到protues软件电路中进行仿真。5.1.1仿真波形1 当按键1拨下时,波形为锯齿波,同时指示灯1发光。仿真图如图5-1所示。图5-1 矩尺波仿真图2 当按键2拨下时,波形为三角波,同时指示灯2发光。仿真图如图5-2所示。图5-2 三角波仿真图3 当按键3拨下时,波形为正弦波,同时指示灯3发光。仿真图如图5-3所示。图5-3 正弦波仿真图4 当按键4拨下时,波形为方波,同时指示灯4发光。仿真图如图5-4所示。图5-4 方波仿真图5.1.2 波形分析在对系统进行波形仿真时可以在虚拟示波器上观察到锯齿波、三角波、正弦波和方波的波形。其中锯齿波、三角波以及正弦波的输出误差较大,方波波形较为理想。这一方面与电路设置的参数有关,另一方面也与使用的仿真软件有关。对于上述问题的解决办法是:改变仿真电路的参数或着换用版本较高的仿真软件。当然一般产生这种情况的原因多由于电路的参数设计不合理所制。但从仿真波形上可以看出输出波形的频率大致与程序中的设置吻合。波形的幅度与程序设置的最大值有关,而频率受机器周期的控制。当仿真时,由于存在一定的系统误差,波形效果不是很好。5.2 硬件测试结果5.2.1 硬件测试波形1 当按键1拨下时,波形为锯齿波,同时指示灯1发光。波形图如图5-5所示。 图5-5 锯齿波波形图2 当按键2拨下时,波形为三角波,同时指示灯2发光。波形图如图5-6所示。图5-6 三角波波形图3 当按键3拨下时,波形为正弦波,同时指示灯3发光。波形图如图5-7所示。图5-7 正弦波波形图4 当按键4拨下时,波形为方波,同时指示灯4发光。波形图如图5-8所示。图5-8 方波波形图5.2.2 产生各种波形输出结果锯齿波:vp-p=1.2v f=800hz三角波:vp-p=1.5v f=5.6khz正弦波:vp-p=3.5v f=1.3khz方波: vp-p=5.2v f=100hz通过按键控制可产生方波、锯齿波、三角波、正弦波等,同时用led显示灯指示对应的形。本系统设计简单、性能较好,在经后只要加以适当的改近就可具有一定的实用性。5.2.3 波形结果分析在将电路和实物连接的情况下再将程序下载至单片机中进行实际电路的测试时,电路输出的四种波形基本上都可以看到,其中锯齿波、三角波以及正弦波的输出误差较大,方波波形较为理想。但是基本上是符合设计要求的。锯齿波和三角波输出波形中杂波成分较大,波形不是较理想,这与实际要求存在一些误差,这些误差的来源主要是由于电路的具体参数选择不好以及程序的时延所造成的。当然在实际电路测量时由于实验环境的干扰也会对输出波形有一些影响,这些影响主要是使输出波形产生寄生的高频杂波,具体表现就是使输出波形质量变坏,波形边厚。在对电路进行调试时适当改变数模转换电路及输出放大电路参数电路输出结果相对较好一些。总结论文首先简要信号发生器现状、单片机,分析了信号发生器实现技术,包括proteus软件仿真技术。然后论文讨论了系统设计方案及控制芯片的选择。在前面两个部分的基础上,论文对信号发生器进行了详细的系统分析和设计,包括单片机在低频信号发生器中的应用。针对单片机本身的特点和对系统的功能要求,本论文选用at89s52单片机作为本次设计的硬件核心,外围采用数字/模拟转换电路(dac0832)、稳压电路(mc1403)、运放电路(lm324)、按键和led显示灯电路等;选用proteus软件作为软件仿真的主要工具。在将电路和实物连接的情况下再将程序下载至单片机中进行实际电路的测试时,电路输出的四种波形基本上都可以看到,其中锯齿波、三角波以及正弦波的输出误差较大,方波波形较为理想。总的来说,此次毕业实习及毕业设计完成了任务书规定的各项要求,在学习汇编语言、单片机系统、proteus软件使用等内容的基础上,进一步学习并实践了利用单片机设计出信号发生器。既学习了不少新的知识和技术,又亲身体验硬件、软件设计的过程,个人觉得收获颇丰。当然,这次设计是基于单片机的信号发生器,其设计简单、性能优良,可用于多种需要低频信号源的场所,具有一定的实用性。还可以从多个方面进一步完善。最后敬请各位专家、老师和同学对论文和今后的研究工作提出宝贵的指导意见和建议。致谢经过半年的忙碌和工作,本次毕业设计已经接近尾声,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及一起工作的同学们的支持,想要完成这个设计是难以想象的。 在这里要感谢我的导师李兰英老师。她平日里工作繁多,但在我做毕业设计的每个阶段,从实习到查阅资料,设计草案的确定和修改,中期检查,后期详细设计等整个过程中都给予了我悉心的指导。我的设计较为复杂烦琐,但是李老师仍然细心地纠正其中的错误。除了敬佩李老师的专业水平外,她的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。 最后还要感谢大学四年来所有的老师,为我们打下专业知识的基础;同时还要感谢所有的同学们,正是因为有了你们的支持和鼓励。此次毕业设计才会顺利完成。参考文献1 孙俊逸, 盛秋林, 张铮等. 单片机原理及应用m. 清华大学出版社, 2001.2 张毅刚. 单片机原理及应用m. 高等教育出版社, 2003.3 蔡美琴. mcs-51系列单片机系统及其应用m. 高等教育出版社, 2000.4 孙育才, 孙华芳,王荣兴.单片机原理及应用m.北京:电子工业出版社, 2003.5 李鸿. 单片机原理及应用m.湖南:湖南大学出版社, 2004.6 丁元杰. 单片微机原理及应用.第二版m. 机械工业出版社, 2001.7 潘新民, 王燕芳 编著. 微型计算机控制技术. 高等教育出版社, 2004.8 马忠梅. 单片机的c语言应用程序设计m. 北京北航出版社, 2003.9 王新贤. 通用集成电路速查手册. 山东科学技术出版社, 2002. -31-附录1元件清单标号标注dac0832u1lm324u2mc1403u31kr11kr21kr31kr41kr51kr61kr71kr810kr920kr1020kr111kri电位器 10krw0.47ufc10.2ufc20.1ufci10.1ufci20.1ufci322ufci410ufci510ufci6ledl1ledl2ledl3ledl4ledl5at89s52u0-37-附录2程序清单key1 bit p1.0key2 bit p1.1key3 bit p1.2key4 bit p1.3;按键key1:锯齿波 按键key2:三角波 按键key3: 正弦波 ;按键key4: 方波; org 0000h ljmp main org 0030hmain:mov sp,#50hmov dptr,#7fffhmov p2,#00hmov a,#00hmovx dptr,ascan_key1:mov a,p1 anl a,#0fh cjne a,#0eh,scan_key2 ljmp b1scan_key2:mov a,p1 anl a,#0fh cjne a,#0dh,scan_key3 ljmp b2scan_key3:mov a,p1 anl a,#0fh cjne a,#0bh,scan_key4 ljmp b3scan_key4:mov a,p1 anl a,#0fh cjne a,#07h,scan_key1 ljmp b4;利用dac0832产生锯齿波;b1:clr p1.4 setb p1.5 setb p1.6 setb p1.7lp: mov a,#00h mov dptr,#4000h movx dptr,a lp1: inc a mov p2,a cjne a,#0ffh,lp1 ljmp scan_key1;利用dac0832产生三角波;b2: clr p1.5 setb p1.4 setb p1.6 setb p1.7up: mov a,#00hup1: inc a mov p2,a nop nop cjne a,#0f0h,up1down:dec a mov p2,a nop nop cjne a,#00h,down ljmp scan_key2;利用dac0832产生正弦波;b3: mov r1,#00h ;取表格初值 ;在表格里取数送到指定地址/ loop1:clr p1.6 setb p1.4 setb p1.5 setb p1.7 mov a,r1 mov dptr,#settab movc a,a+dptr mov dptr,#4000h movx dptr,a mov p2,a

温馨提示

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

评论

0/150

提交评论