885191350超低频波形发生器的设计论文(C语言编程)_第1页
885191350超低频波形发生器的设计论文(C语言编程)_第2页
885191350超低频波形发生器的设计论文(C语言编程)_第3页
885191350超低频波形发生器的设计论文(C语言编程)_第4页
885191350超低频波形发生器的设计论文(C语言编程)_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、摘 要在科学研究、工程教育及生产实践中,常常需要用到低频信号发生器。本文主要介绍一种以单片机为核心的超低频任意函信号发生器。该信号发生器由存储模块、按键模块、led显示模块、d/a转换模块组成,它采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、三角波、方波和锯齿波及其他任意波形。文中详细介绍了硬件电路设计的原理和软件编程的上设计思想以及实验调试过程。实验结果表明,该信号发生器输出的波形的频率和幅值在一定范围内可任意改变,与传统信号发生器只有固定的几种输出波形相比,具有输出波形的任意化和低频精度高的特点。它还具有的特点是价格低、性能高,在低频范围稳定性好、操作方便

2、、体积小、耗电少等。关键词:单片机at89c51; dac0832; 低频信号; 发生器abstractin scientific research, engineering education and practice of production, often need to use low-frequency signal generator. in this paper, introduces a ultra-low frequency arbitrary function signal generator to scm as the core. the signal generator

3、 is made of the memory modules, the key modules, led display modules, d/a converter modules,it uses date waveform synthesis technology,through hardware circuit and software procedures is combined,custom waveform can be customized, such as sine wave, triangle wave, square wave and sawtooth wave and o

4、ther arbitrary waveform. in this paper ,detail introduces the principle of the design of hardware circuit and the mind of the design of software programming and the process of experiment debug.the results of experiment show that,the output waveforms frequency and amplitude of the signal generator ca

5、n be arbitrarily changed in a certain range,compared with the traditional signal generator only have a few fixe output waveform,with the characteristics of output waveforms arbitrary and high precision of the low-frequency. it also has the characteristics of a low price, high-performance, good stabi

6、lity in low-frequency range, easy to operate, small size, less consumpte of power etc.key words:at89c51 microcontroller; dac0832;low frequency signal; generator 前言信号发生器是使用很广的仪器, 在科学研究、工程教育及生产实践中,常常需要用到低频信号发生器。如工业过程控制、教学实验、机械振动、生物医学等领域。对它的要求也随着技术的发展越来越高,以往的信号源只可输出单一正弦或几种如三角、正弦、脉冲、方波等波形,且一台仪器的输出频率范围也较

7、窄,一般只是在超低或低频范围, 特别是在超低频范围, 波形的精度和稳定度等重要指标都不高,目前,长期使用的信号发生器绝大部分都是由模拟电路构成的,这类仪器作为信号源,频率达百兆赫兹,在高频范围内其频率稳定性与可调性好。而用于低频信号输出时,其需要rc 值很大,参数准确度难以保证,而且体积大,损耗也大。目前,有人研究制造了由数字电路构成的低频信号发生器,其低频性能好,但是体积较大,价格较贵。这里介绍一种以单片机为核心,设计了一个超低频任意函数信号发生器。单片机控制超低频任意信号波形发生器与现有采用微处理器和数模转换器组成的数字式低频信号发生器相比,由于采用直接数字波形合成技术,频率准确度和稳定度

8、较高。与现有采用计数器、只读存储器、d/ a转换器和滤波器等组成的信号发生器相比,由于采用单片机控制和随机存储器ram,通过一定算法除可产生方波、三角波、锯齿波、正弦波外还可方便地产生其他周期任意信号波形,解决了输出波形种类单一的问题,具有广泛的应用前景。本课题设计中,函数发生器采用atm89c51 单片机作为控制核心,外围采用模拟/数字转换电路、数据存储器,按键和led显示灯电路等。通过按键控制可产生方波、锯齿波、三角波、正弦波等低频任意波形,同时用led显示灯指示对应的波形的频率。本系统设计简单、性能优良,具有一定的实用性。硬件电路简单,软件功能完善,控制系统可靠,性价比较高等特点,具有一

9、定的使用和参考价值。另一方面,它具有价格低、性能高和在低频范围内稳定性好、操作方便、体积小、耗电少等特点。此电路清晰,出现故障容易查找错误,操作简单、方便。具体的设计内容讲在本论文中详细论述。目 录摘 要1abstract1前言1绪论11. 方案论证31.1 方案论述31.2 方案比较41.3 结论42.超低频波形发生器硬件设计52.1 主控电路及主控芯片的选择52.1.1 时钟电路设计92.1.2 复位电路设计92.1.3 利用at89c51计数102.2 d/a转换电路的设计112.2.1 d/a芯片选择112.2.2 dac0832芯片介绍132.2.3 dac0832芯片与单片机硬件接

10、口设计152.2.4 放大整形162.3 显示电路及显示接口芯片选择172.3.1 显示器的选择172.3.2 显示器工作方式的选择192.3.3 led与单片机的接口电路设计202.4 按键电路的设计202.5 电源电路213. 软件设计233.2 d/a转换243.3 键扫描程序设计243.4 显示程序设计254. 系统的调试274.1 硬件的调试274.2 软硬件调试285. 仿真实验结果与结论296. 社会经济效益31结束语32附录135附录236附录341附录442绪论课题背景波形发生器亦称函数发生器,作为实验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。目前,市

11、场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿、正弦、方波、三角等波形。在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源。而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的rc很大;大电阻,大电容在制作上有困难,参数的精度亦难以保证;体积大,漏电,损耗显著更是其致命的弱点。一旦工作需求功能有增加,则电路复杂程度会大大增加。单片机控制超低频任意信号波形发生器, 由于采用单片机控制和随机存储器ram,通过一定算法除可产生方波、三角波、锯齿波、正弦波外还可方便地产生其他周期任意信号波形,解决了输出波形种类单一的问题,

12、具有广泛的应用前景。利用单片机采用程序设计方法来产生低频信号,其下限频率很低。具有线路相对简单,结构紧凑,价格低廉,频率稳定度高,抗干扰能力强,用途广泛等优点,并且能够对波形进行细微调整,改良波形,使其满足系统的要求。只要对电路稍加修改,调整程序,即可完成功能升级。这里介绍一种采用at89c51单片机和一片dac0832数模转换器做成的数字式低频信号发生器,它的特点是价格低、性能高,在低频范围稳定性好、操作方便、体积小、耗电少等。信号发生器与其它相比还具有如下优点:较分立元件信号发生器而言,具有频率高,工作稳定,容易调试等特性;较专用dds芯片的信号发生器而言,具有结构简单,成本低等特性。系统

13、整体目标此课题的具体要求如下所述。1. 以单片机为控制核心,采用直接数字波形合成技术产生方波、三角波、正弦波和其他任意模拟周期信号波形。2.将波形数据存储在数据存储器中。3.通过单片机控制,将波形数据读出,送入d/a转换电路和放大处理后得到所需的任意模拟周期信号波形。4.输出信号的频率范围在0.01hz100hz之间,幅度为+5v,波形失真度小于1。5.以单片机为核心器件,形成相应的硬件电路。自行编制单片机控制程序,并进行硬件调试、软件调试,最后进行软硬件联调,达到性能要求。1. 方案论证1.1 方案论述从学科所涉及的不同范围以及器件的不同选择来构思,可以实现的方案有很多,现提出二个可行的方案

14、并分别论述其工作原理及可行性。方案一:方案一方框图如图1.1.1所示。 采用at89c51芯片,数模芯片采用dac0832芯片,构成基本的波形发生电路,设置多个按键用来控制波形输出以及调整信号频率的大小。此电路设计输出波形稳定,精度高。-图1.1.1 方案一原理框图方案二:方案2方框图如下图1.1.2所示。本方案的是基本原理在pc 机上按下鼠标左键创建一个周期的波形,再将各点值传送给单片机系统,产生实际的模拟信号。模拟信号通过d/a转换器的转换,得到所需要的波形信号。pc机 max23289c51存储器图1.1.2 方案二原理框图1.2 方案比较单片机控制超低频任意信号波形发生器(方案一)与现

15、有采用微处理器和数模转换器组成的数字式低频信号发生器(方案二)相比,由于采用直接数字波形合成技术,频率准确度和稳定度较高。但是方案2中微处理器对信号的显示和处理非常方便,只是需要同时编辑单片机语言和微处理器所需要的高级语言,工作量大而且较为复杂。因此我还是选择了方案一,微处理器的优点具有广泛的应用前景。1.3 结论通过上述方案的比较最终确定选择方案一。2.超低频波形发生器硬件设计2.1 主控电路及主控芯片的选择单片机即单片微型计算机(single chip microcomputer)是把组成微型计算机的各种功能部件,包括中央处理单元(cpu)、随机存储器(ram)、程序存储器(rom)、定时

16、器/计数器及输入输出接口等部件都集成在一块芯片上。是一种集成度高、性价比优越、质量小、体积小的微型计算机。单片机按其使用目的可以分为通用和专用两种类型。通用单片机是一种基本芯片,内部功能及资源丰富,性能全面,适应性强,可覆盖多种用途。用户可以根据需要设计成各种不同的单片机控制系统,即有一个再设计的过程。专用型单片机在设计时已对系统结构进行了简化,对软、硬件进行了优化,可靠性高,成本低,但是这类单片机功能单一,通常是针对某一特定的产品。本设计应采用通用型单片机。随着半导体集成工艺的不断发展,单片机也正朝着cmos化、低功耗、体积小、大容量、高性能低价格和外围电路内装化等几个方向发展。在单片机家族

17、中,intel公司推出的mcs-51系列中的80c51是其中的佼佼者。mcs-51系列单片机是8位单片机中应用范围最广的一类单片机。近几年来,许多单片机开发厂商也推出了许多基于80c51单片机内核的扩展型单片机,产品在保持与51单片机兼容的基础上改善了很多特性,性能各异。常用的单片机有很多种:intel8051和8751系列、motorola的mc6801系列、atmel的at89系列、台湾winbond(华邦)w7和w78系列、荷兰philips的51lpc和lpc900系列、zilog的z8系列等。本设计中最终选用了atmel公司的at89c51单片机。at89c51单片机是美国atmel

18、公司推出的低功耗/低电压、高性能的8位单片机,片内含4kbflash程序存储器,它采用了cmos工艺和atmel公司的高密度非易失性存储器(nuram)技术,该存储器的全称为闪速可编程可擦除只读存储器(fperom,flash programmable and erasable read only memory),其输出引脚和指令系统与标准mcs-51系统兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。at89c51是一种带4k字节闪烁可编程可擦除只读存储器(fperomfalsh programmable an

19、d erasable read only memory)的低电压,高性能cmos8位微处理器,俗称单片机。at89c2051是一种带2k字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,at89c2051是它的一种精简版本。at89c51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。引脚图如图2.1所示。图2.1 at89c51引脚图管脚说明如下描述:

20、vcc:供电电压。gnd:接地。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口为一

21、个内部上拉电阻的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”后,它们被内部上拉为高电平

22、,并用作输入。作为输入,由于外部下拉为低电平,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口同时为闪烁编程和编程校验接收一些控制信号。rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。ale/prog:当访问外部存储

23、器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。/psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效

24、的/psen信号将不出现。/ea/vpp:当/ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。 xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。 xtal2:来自反向振荡器的输出。振荡器特性:xtal1和xtal2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2应不接。有余输入至内部时钟信号要通过一个二分

25、频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。at89c51的主要性能特性:(1) 工作电压为45.5 v,工作频率为022 mhz;(2)片内振荡器和时钟(clock)电路;(3) 128*8位供存储数据的片内ram;(4) 32根可编程i/o线;(5) 2个16位定时器/计数器;(6) 具有6个中断源;(7) 可编程全双工串行口;(8) 具有多种封装方式;(9) 程序存储器可扩展至64kb(rom), 数据存储器可扩展至64kb(ram)。at89c51单片机功能强大、编程灵活、可靠性与性价比高,易于采购,便于使用与实验,可以达到设计要求,并且为系统再拓

26、展留有空间,适用于许多较为复杂的控制应用场合。2.1.1 时钟电路设计时钟电路是单片机系统的心脏,它控制着单片机的工作节奏。单片机虽然内部有振荡电路,但要形成时钟,必须外部附加电路。时钟电路是单片机工作的时间基准,决定单片机工作的速度。mcs-51系列的时钟有两种产生方式:内部时钟方式,利用芯片内部的振荡电路和外部方式。本设计中选用内部时钟方式。电路如图3.2所示,mcs-51系列单片机内部有一个用于构成振荡器的高增益反相放大器。引脚xtal1为反相器的输入端,引脚xtal2为输出端。放大器与作为反馈元件的片外石英晶体振荡器一起构成了一个自激振荡器。本设计使用的石英晶体振荡器的频率为11.05

27、92mhz,电容的主要作用是帮助振荡器起振和稳定电路,其值的大小对振荡频率有少许影响,本设计中选择c1和c2电容值为30pf。图2.1.1 at89c51内部时钟方式电路2.1.2 复位电路设计单片机的复位是使cpu和系统的其他功能部件处在一个确定的初始状态,并从这个状态开始工作。复位后,pc=0000h,单片机从0000h地址单元开始执行程序。复位的条件:必须在rst/vpd引脚上给出持续两个机器周期(24个振荡周期)的高电平可以完成复位。复位电路产生复位信号,使单片机从固定的起始状态开始工作,完成单片机的“启机”过程。复位电路由单片机的复位引脚rst接入,只要rst端保持至少2个机器周期的

28、高电平方可实现。只要rst保持高电平,单片机就会循环复位,直至rst端变低,单片机完成复位。本设计所采用的at89c51单片机的晶体振荡器的频率约为=12mhz,则机器周期=1us,因此需要2us以上的高电平才能完成复位。常用的复位电路由两种:上电复位和按键电平复位电路。本设计采用前者。 上电复位电路:电路图如图2.1.2所示,在通电瞬间,由于电容通过电阻充电,故在rst端的电位与vcc相同。随着充电电流的减少,rst端的电位逐渐下降,只要保证rst端的电压为高电平的时间大于两个机器周期,便能正常复位。图2.1.2 上电复位电路2.1.3 利用at89c51计数at89c51单片机共有两个16

29、位的定时器/计数器,本频率计就是利用它的定时器与计数器同时工作,外部输入的脉冲在下降沿跳变时有效,进行计数器加1,定时器定时一秒内计数器所计的数就是外部输入信号的频率。图2.1.3 频率范围选择2.2 d/a转换电路的设计2.2.1 d/a芯片选择经数字系统处理后的数字量,有时又要求再转换成模拟量以便实际使用,这种转换称为“数模转换”。完成数模转换的电路称为数模转换器,简称dac(digital to analog converter)。 在本系统中,需要把数字量进行测量与转换成模拟量,输出模拟波形。数模转换器就是可以实现这种转换过程的一种元器件。数模转换器将输入的每一位二进制代码按其权的大小

30、转换成相应的模拟量,然后将代表各位的模拟量相加,所得的总模拟量就与数字量成正比,这样便实现了从数字量到模拟量的转换。其中 为二进制数按位权展开转换成的十进制数值。dac主要由数字寄存器、模拟电子开关、位权网络、求和运算放大器和基准电压源(或恒流源)组成。用存于数字寄存器的数字量的各位数码,分别控制对应位的模拟电子开关,使数码为1 的位在位权网络上产生与其位权成正比的电流值,再由运算放大器对各电流值求和,并转换成电压值。根据位权网络的不同,可以构成不同类型的dac,如权电阻网络dac、r2r倒t形电阻网络dac和单值电流型网络dac等。权电阻网络dac 的转换精度取决于基准电压vref,以及模拟

31、电子开关、运算放大器和各权电阻值的精度。它的缺点是各权电阻的阻值都不相同,位数多时,其阻值相差甚远,这给保证精度带来很大困难,特别是对于集成电路的制作很不利,因此在集成的 dac 中很少单独使用该电路。r2r倒t形电阻网络dac由若干个相同的r、2r网络节组成, 每节对应于一个输入位。节与节之间串接成倒t形网络。r2r倒t形电阻网络dac是工作速度较快、 应用较多的一种。和权电阻网络比较,由于它只有r、2r两种阻值,从而克服了权电阻阻值多,且阻值差别大的缺点。电流型dac则是将恒流源切换到电阻网络中,恒流源内阻极大,相当于开路,所以连同电子开关在内,对它的转换精度影响都比较小,又因电子开关大多

32、采用非饱和型的ecl开关电路,使这种dac可以实现高速转换,转换精度较高。在dac中一般用分辨率和转换误差来描述转换精度。一般用 dac 的位数来衡量分辨率的高低,也可以用dac能分辨出来的最小输出电压1 lsb与最大输出电压fsr之比定义分辨率。即:转换误差是指实际输出的模拟电压与理想值之间的最大偏差。常用这个最大偏差与fsr之比的百分数或 若干个lsb表示。实际上它是三种误差的综合指标。转换速度一般由建立时间决定。从输入由全0突变为全1时开始,到输出电压稳定在fsr lsb范围(或以fsrxfsr指明范围)内为止,这段时间称为建立时间,它是dac的最大响应时间,所以用它衡量转换速度的快慢。

33、函数信号发生器的实现方法通常有以下几种:(1)用分立元件组成的函数发生器:通常是单函数发生器且频率不高,其工作不很稳定,不易调试。(2)可以由晶体管、运放ic等通用器件制作,更多的则是用专门的函数信号发生器ic产生。早期的函数信号发生器ic,如l8038、ba205、xr2207/2209等,它们的功能较少,精度不高,频率上限只有300khz,无法产生更高频率的信号,调节方式也不够灵活,频率和占空比不能独立调节,二者互相影响。(3)利用单片集成芯片的函数发生器:能产生多种波形,达到较高的频率,且易于调试。鉴于此,美国马克西姆公司开发了新一代函数信号发生器dac0832它克服了(2)中芯片的缺点

34、,可以达到更高的技术指标,是上述芯片望尘莫及的。dac0832频率高、精度好,因此它被称为高频精密函数信号发生器ic。在锁相环、压控振荡器、频率合成器、脉宽调制器等电路的设计上,dac0832都是优选的器件。(4)利用专用直接数字合成芯片的函数发生器:能产生任意波形并达到很高的频率。但成本较高。综合分析以上四种实现方法的性价比,我们决定采用单片集成芯片dac0832来设计函数发生器。频率越高、产生波形种类越多的发生器性能越好,但器件成本和技术要求也大大提高,因此在满足工作要求的前提下,性价比高的发生器是我们的首选。2.2.2 dac0832芯片介绍dac0832是8分辨率的d/a转换集成芯片。

35、与微处理器完全兼容。这个da芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。d/a转换器由8位输入锁存器、8位dac寄存器、8位d/a转换电路及转换控制电路构成。芯片内有两级输入寄存器,使dac0832具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路d/a异步输入、同步转换等)。d/a转换结果采用电流形式输出。要是需要相应的模拟信号,可通过一个高输入阻抗的线性运算放大器实现这个供功能。运放的反馈电阻可通过rfb端引用片内固有电阻,还可以外接。该片逻辑输入满足ttl电压电平范围,可直接与ttl电路或微机电路相接,其管脚图以及内部结构图如图

36、2.2.2所示。图2.2.2 dac0832管脚图以及内部结构图dac0832的主要特性参数如下:* 分辨率为8位;* 输出为电流信号,电流的建立时间为1us;* 可单缓冲、双缓冲或直接数字输入;* 只需在满量程下调整其线性度;* 单一电源供电(+5v+15v),低功耗,20mw;* 参考电压可以达到10v;* 直接的数字接口可以与任何一款单片机相连。dac0832的引脚功能: * d0d7:8位数据输入线,ttl电平,通常与单片机的数据总线相连,用于输入cup送来的待转换数字量。有效时间应大于90ns(否则锁存器的数据会出错);* ile:数据锁存允许控制信号输入线,高电平有效;* :片选信

37、号输入线(选通数据锁存器),低电平有效;* :数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ile、的逻辑组合产生le1,当le1为高电平时,数据锁存器状态随输入数据线变换,le1的负跳变时将输入数据锁存;* :数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;* :dac寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由、的逻辑组合产生le2,当le2为高电平时,dac寄存器的输出随寄存器的输入而变化,le2的负跳变时将数据锁存器的内容打入dac寄存器并开始d/a转换。* iout1:电流输出端1,其值随dac寄存器的内容线性变化;* iout2:

38、电流输出端2,其值与iout1值之和为一常数; 当dac寄存器内容全为1时,iout1为最大,iout2=0; 当dac寄存器内容全为0时,iout1=0,iout2为最大;为了保证输出电流的线性,应将iout1 及iout2接到外部运算放大器的输入端上。* rfb:反馈信号输入线,改变rfb端外接电阻值可调整转换满量程精度;* vcc:芯片工作电源,范围为+5v+15v;* vref:基准电压输入线,vref的范围为-10v+10v;* agnd:模拟信号地,为模拟信号和基准电源的参考地;* dgnd:数字信号地,为工作电源地和数字逻辑地;2.2.3 dac0832芯片与单片机硬件接口设计d

39、ac0832与mcs-51单片机的连接方式:根据对dac0832的数据锁存器和dac寄存器的不同的控制方式,dac0832有三种连接方式:直通方式、单缓冲方式和双缓冲方式。l 双缓冲方式:进行两级缓冲;l 单缓冲方式:只进行一级缓冲;l 直通方式:不进行缓冲,适用于比较简单的场合。本设计采用的是直通连接方式。具体电路设计如图2.2.3所示:图2.2.3 dac0832与单片机硬件接口设计2.2.4 放大整形为了输入的是小信号时也能对精确的测出它的频率,所以在信号的输入口加电压放大。有时输入的信号波形不是很好时,放大后也是失真的信号,这就会影响到所测信号的频率,因此要经过整形。其电路如图2.2.

40、4所示:图2.2.4 放大整形电路2.3 显示电路及显示接口芯片选择显示电路的作用就是把单片机的运算结果,状态等代码转换成为人们能识别的符号显示出来。在本系统中,显示电路用来实时显示波形的频率,并通过按键实现实时可调。2.3.1 显示器的选择在单片机系统中,通常用led数码显示器来显示各种数字、字母或其他符号。由于它具有显示清晰、亮度高、使用电压低、寿命长并且价格低廉等特点,因此使用非常广泛。本设计利用其显示系统的工作状态和数据处理的结果等,根据需要选择七段四位数码管作为显示部分。图2.3.1.1 四位数码管实物图led( light emitting diode )是发光二极管的简称,是一种

41、电流发光器件,它可以工作在恒定电流状态,又可以在脉冲电流状态。在平均电流相同的情况下,脉冲工作状态可产生比直流工作状态较强的亮度,一般每秒钟可导通 100 500 次,每次为几个毫秒。 led 有单个发光二极管,七段(或八段)led显示器和led点阵显示器等类型。发光颜色有红,绿,黄等光的颜色,led显示器每段正常发光所需直流电流(1020ma)毫安。发光二极管发光时,其正向导通压降为 1.7v 左右。根据本设计的要求选择了七段led显示器作为系统的显示设备。七段led显示器由7个长条形的发光二极管排列成“8”字形,另外显示器中还有一个圆点型发光二极管,用于显示小数点。led显示器中的发光二极

42、管共有两种接法:共阴极七段 led 显示器和共阳极七段 led 显示器。共阴极七段 led 显示器工作时,将所有二极管的阴极接在一起构成公共阴极,公共阴极接低电平,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的段则不亮。共阳极七段 led 显示器工作时,其公共阳极接到高电平, led 的阴极接到低电平的段导通发光,而输入高电平的则不点亮。本设计中使用的是共阴极数码管。图2.3.1.2 四位数码管内部电路图2.3.2 显示器工作方式的选择七段led显示器显示有两种工作方式:静态显示和动态显示。所谓静态显示,就是每一位显示器都要占用单独的具有锁存功能的i/o接口用于锁存笔画段字形代码

43、。当显示器显示某一字符时,相应的发光二极管恒定地导通或截止,单片机只要把要显示的字形代码发送到接口电路就可以了。静态显示的方法软件编程相对简单一些,但其占用的输出口较多,硬件资源需要较多。所以为使硬件结构简单和减少硬件的开支,本设计使用动态扫描显示的方法。动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。其接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极com是各自独立地受i/o线控制。cpu向字段输出口送出字形码时(即段控),所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于com端,而这一端是由i/o控制的,即位控,所以可以自行决定何时显示哪

44、一位。而所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的com端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。在本设计中,为了减少硬件开销,提高系统可靠性和降低成本,采用电阻来连接各 led 显示器,在软件上用扫描办法来实现数码显示。2.3.3 led与单片机的接口电路设计在本课题设计中,led数码管显示采用常用的硬件电路连接方式,其中p0口用来控制选择输出数据,p2口的高四位用来控制le

45、d片选显示。硬件上采用上拉电阻来连接各led显示器,具体的电路设计如图2.3.3所示:图2.3.3 led电路设计2.4 按键电路的设计在本系统中设置有四个按键,其中两个按键用来设计输出波形频率,一个是加法键,一个减法键。另一组按键由其余四个按键组成,在本系统中,这四个独立的按键,用来输入控制命令,各键单独完成对波形的选择输出工作。按键与at89c51接口电路如图2.4所示:图2.4 按键与at89c51接口电路图接口及功能说明:4个按键分别接到单片机的p1.0p1.3口,每个键对应 i/o 端口的一位,在没有任何键按下(即断开)时,各 i/o 端口均处于高电平。当有一个键按下(闭合)时,就使

46、对应位接地而变成低电平。而其它位仍为高电平。单片机系统只要读到p1.0p1.3口任意某一位为“ 0 ” ,就可以判别出对应键已按下。进而进行相应的处理和操作。通过按键可以以任意循环方式输出不同波形。按键s1:函数发生器波形选择按键;按键s2:函数发生器频率加按键;按键s3:函数发生器频率减按键;按键s4:函数发生器扩展功能按键;2.5 电源电路电源电路是为整个电路提供稳定的5v电源的供电电路,电路图如下图2.5所示:图2.5 电源电路图电源电路由桥式整流、滤波电容、7805稳压芯片组成。交流电经过桥式整流变成直流电,再经过电容滤波,7805稳压芯片稳压成为稳定的5v电源。为了保证稳压集成电路的

47、正常工作,有交好的稳压效果,稳压集成电路的输入端电压应至少比输出端电压高几伏。通常,选择电源变压器时,可以根据下面的经验数据:稳压集成电路的稳压值在12v以下时,选择变压器次级线圈的有效值电压至少比集成电路输出端电压高2v;再12v以上时,选择变压器次级线圈的有效值电压等于集成电路输出端电压。这是因为正弦波有效值电压经整流滤波后得到的直流电压有所升高之故。3. 软件设计3.1 主程序框图本软件设计过程中主要实现利用按键来控制不同波形的输出,当按键1按下时,函数发生器就输出锯齿波;当按键2按下时,函数发生器就输出三角波;当按键3按下时,函数发生器就输出正弦波;当按键4按下时,函数发生器就输出方波

48、。还有两个频率设置按键,可以输出任意频率的波形。3.2 d/a转换在此系统设计中,d/a转换是最关键的一个内容,能够实现各种波形的输出,是利用d/a数模转换器通过对数组的处理,将其转化为连续的模拟量,然后输出。得到我们所需要的各种波形输出。其程序设计流程图如图3.2所示。图3.2 d/a转换程序流程图3.3 键扫描程序设计键扫描程序的任务是检查3个按键是否有键按下,若有键按下,则执行相应的功能。在这里,3个按键分别用于频率增加、频率减小和波形选择功能。其程序流程图设计如图3.3所示。图3.3 键扫描程序流程图3.4 显示程序设计此软件设计功能实现,4个led数码管实时显示波形频率值。其程序流程

49、图如图3.4所示。图ny开始初始化参数查表输出段码输出位码循环结束?位码移位结束3.4 显示程序流程图4. 系统的调试完成了整个系统的硬件、软件设计及硬件组装后,还要进行系统硬件和软件的调试,通过调试查出系统中硬件设计与软件设计中存在的错误及可能出现的不协调问题,以便修改设计,最终使系统正确可靠。4.1 硬件的调试本课题软件和硬件相结合,有相当大的难度,同时也有很大的实用性。在做毕业设计的过程中,我的理论和实践水平都有了较大的提高。在本课题的设计中,我熟练了掌握了单片机硬件设计和接口技术,掌握了各种报警电路及其相关元器件的使用。通过了这次毕业设计,我不仅学到许多的实用知识,还学会如何克服未知的

50、困难,解决难题的方法。由于自己基础不太扎实,所学不够深入,平时实践的不够,很多知识和技能都只停留在理论的基础上。而且没有经过实践过的理论遗忘的也很多。刚开始拿到这个毕业设计题目,确实有点摸不到方向的感觉,经过搜索大量资料,并进行研究和学习后,对自己的设计题目用单片机实现超低频波形发生器的设计有了一个大致的设计思路。这次的毕业设计给了我一个极大的挑战,进行每一阶段的任务对我老说都是在接触新鲜的东西。对于搞研究来说,光有热情是不够的,更重要的是根基的深厚和实战经验的积累。初出茅庐的我在硬件设计的整个过程中确实遇到了很多问题:1在设计电路方面,由于基础薄弱,很难在很短的学习设计时间内掌握很好的硬件设

51、计技巧,于是我参考了另外一块板,先开始自己也在一块实验板上焊了基本的电路,并进行了几个程序的调试,觉得可行了,在原理图上就那样进行设计。很多原理知识,在课堂上也学到过,但是没有实践过,就感觉很生疏。但是通过这次毕业设计的训练,本人在硬件电路设计上有了很大的提高与进步。2这次是自己真正意义上第一次正式的使用proteus软件画自己设计的东西,刚开始遇到很多困难,很多元器件的封装都不知道。但经过这次毕业设计的煅练,很多基本的东西都已熟记于心。一些画图技巧也很好的掌握了,自我感觉进步很大。4.2 软硬件调试软件调试的这一阶段,我陷入困境,由于自己在软件编程方面很弱,面对那些字符,我一开始有些不知所措

52、,再加上那几天,整个人的状态不好,心情也比较浮躁,导致了毕业设计停滞不前的状态,状态调整好以后,我就开始认真学习编程。进步也不少。1刚开始编程我是先从网上下载一些现成的程序,进行仿真与译读,遇到不懂的就看书解决,或者像研究生学长讨教。我最困顿的是在时序方面,自己研究了很久,还是理不出头绪来,不过经学长讲解了一下以后,开窍了许多。2由于我是个粗心大意之人,难免在编程中打错字母。因此,编译通不过很可能是字母打错,这样根据提示,就很容易找到错误,所以说,进行编程细心是很重要的,再就是态度问题。这是我编程的过程中积累的经验。3在调试程序时,也遇到了困难,程序通过编译了,但是仿真的时候总是有问题。仿真器

53、的熟悉也花去了一段时间。但是熟练以后,就能独立的解决基本的问题,经过这段时间的学习,我才得以顺利的完成毕业设计。5. 仿真实验结果与结论在此次课题中,根据设计要求和目的综合设计了整个系统的硬件电路连接和软件程序。最后整套系统又进行仿真。通过频率按键设置波形频率大小,再通过按键选择不同的输出波形,通过这个单片机超低频信号发生器,我们仿真较好的实现了各种波形的输出,输出信号的频率范围在0.01hz100hz之间,幅度在+5v,波形失真度1,基本上达了课题的要求。具体的仿真结果如下图5所示。三角波:三角波仿真效果图此刻的vpp=5v f=100hz。频率范围是0.01100hz,都是在电路中连续可调

54、的。方波:方波仿真效果图 此时的波峰值vpp=5v,f=20hz。电路中的频率是连续可调的。幅度峰峰值等于电源电压5v。正弦波:图56. 社会经济效益信号发生器是使用很广的仪器, 在科学研究、工程教育及生产实践中,常常需要用到低频信号发生器。如工业过程控制、教学实验、机械振动、生物医学等领域。应用单片机at89c51 实现超低频信号发生器除了可以输出常用的正弦波、三角波、方波、锯齿波外, 能够定义任意函数(如伪随机信号等) 作为输出的波形, 而这种定义只需通过软件程序更改输出波形数据表来完成, 无需变动硬件电路, 具有相当大的灵活性。随着经济的增长和科技水平的不断提高,对信号发生器提出了更高的

55、要求:体积小巧、便于携带,抗干扰能力强、环境适应性强,精度高、信息处理容量大、功耗低等功能。用单片机设计的超低频信号发生器正是基于以上的设计理念而设计的仪表。信号发生器选用优质元器件,以低功耗单片机为核心,可对温度进行精确、高效的测量与控制,适用于多种应用环境。电子信息产业是当代最具活力的高新技术产业,也是我国大力发展的支柱产业之一。目前我国市场销售的信号发生器存在各种不完善,不能满足要求的缺陷;国外同类产品价格较高,难以为业界接受,已不能适应越来越细化的市场需求。因此市场前景及发展空间十分广阔。结束语本文首先介绍了相关背景及其应用,然后针对选题内容,实施方案和所做的工作进行了阐述。接着是系统

56、各模块的硬件设计,其中包括单片机模块、温度采集模块、串口通信模块,也包括主要元器件的功能介绍、各分块电路的设计与调试,最后是上位机的软件设计,其中包括设计的思路和软件程序,最后是系统软硬件总体调试。本次设计已经达到了预期的基本要求,即实现四种所需的波形,同时生成的波形频率也在所要求的范围内,幅度在+5v,基本达到毕设所需的要求。当今科技发展迅速,单片机嵌入式开发有着光明的前景。由于单片机经济实用、开发简便,因而依然在工业控制、农业自动化、家电智能化等领域占据了广泛的市场。本文介绍的系统设计有一定的实用性,但该系统在设计过程中仍有很多漏洞。还需要在智能化方面加以改进。特别是语音告警、节省功耗,提

57、高稳定度等方面。致 谢经过半年的准备,在论文完成之际,首先要感谢尊敬的导师徐猛华老师,本论文的顺利完成与老师的谆谆教导和悉心启迪是分不开的。老师严谨的治学态度、渊博的学术知识、孜孜不倦的敬业精神和平易近人的态度,给我留下了深刻的印象,并且将不断的激励我奋发向上。在此,对老师的教导和关心表示衷心地感谢! 感谢诸位老师的大力帮助,感谢他们对我在毕业设计过程中给予的指导与帮助。 感谢寝室及班上的同学,在我遇到问题的时候,他们给了我很多的鼓励,我永远难忘那些我们在一起共同学习、共同奋斗过的时光。是他们给予我莫大的帮助和支持。此外,我要感谢我的家人,是你们无微不至的关心和照顾,支持着我的每一步人生历程,我要用自己的毕生所学来回报你们。还有许许多多给予我学业上鼓励和帮助的师长、朋友,在此无法一一列举,在此也

温馨提示

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

评论

0/150

提交评论