基于AT89S52单片机的信号发生器设计.doc_第1页
基于AT89S52单片机的信号发生器设计.doc_第2页
基于AT89S52单片机的信号发生器设计.doc_第3页
基于AT89S52单片机的信号发生器设计.doc_第4页
基于AT89S52单片机的信号发生器设计.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

王玮:基于at89s52的低频信号发生器设计第一章 绪 论11 信号发生器现状信号发生器应用广泛,种类繁多,性能各异,分类也不尽一致。按照频率范围分类可以分为:超低频信号发生器、低频信号发生器、视频信号发生器、高频波形发生器、甚高频波形发生器和超高频信号发生器。按照输出波形分类可以分为:正弦信号发生器和非正弦信号发生器,非正弦信号发生器又包括:脉冲信号发生器,函数信号发生器、扫频信号发生器、数字序列波形发生器、图形信号发生器、噪声信号发生器等。按照信号发生器性能指标可以分为一般信号发生器和标准信号发生器。前者指对输出信号的频率、幅度的准确度和稳定度以及波形失真等要求不高的一类信号发生器。后者是指其输出信号的频率、幅度、调制系数等在一定范围内连续可调,并且读数准确、稳定、屏蔽良好的中、高档信号发生器。信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而成,如采用555振荡电路发生正弦波、三角波和方波的电路便是可取的路径之一,不用依靠单片机。但是这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点。在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源。而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的rc很大;大电阻,大电容在制作上有困难,参数的精度亦难以保证;体积大,漏电,损耗显著更是其致命的弱点。一旦工作需求功能有增加,则电路复杂程度会大大增加。超低频信号发生器是科研、教学、制造业中一种最常用的通用仪器,输出波形一般固定为正弦波、三角波、锯齿波和方波,不能实现有时在实验或工程应用中需要的特殊信号给用户使用带来不便。虽然目前市场上的高性能的任意信号发生器已经出现,但是价格昂贵,对于一般机电控制的用户而言频带不需要很宽。所以一种既能满足一定频率和波形性能要求又价格低廉的超低频任意信号发生器就成为了一种需求。12信号发生器的几个发展阶段从信号发生器的实现看可以简单分为以硬件为核心的电路实现方式和以计算机技术为核心的实现方式。(1)用硬件电路实现的特点:可以输出连续的模拟信号,使用频率控制和幅值控制电路实现信号输出调节,因此输出的波形的频率较高。但其稳定性和抗干扰能力较差,电路结构复杂。而且不能实现人机对话和可视操作。(2)以计算机技术为核心的智能型信号发生器的特点:随着大规模集成电路和计算机技术的迅速发展,以及人工智能向测控技术的移植和应用,智能仪器仪表技术发展迅速。智能函数信号发生器与传统的模拟函数信号发生器相比,具有以下几个明显特点:一是利用微机控制键盘和显示。键盘和显示是智能信号发生器区别于传统信号发生器在面板设计上最突出的特点。由于采用美观方便的按键操作代替了传统的开关或旋钮,避免了手动控制带来的人为误差。由于采用具有显示信息量大优点的液晶显示器lcd,大大增强了操作者和微处理器之间的对话能力。二是强大的输出能力。由于采用了由仪器内微处理器控制而生成所需新波形的技术,即直接数字合成技术(direct digital frequency synthesizer ),导致普通的智能信号发生器能产生多种函数的周期性波形,大大拓展了仪器的输出能力。三是自检、自诊断功能。这是智能信号发生器区别于传统信号发生器的重要特征之一。能够及时和准确地确知仪器故障发生的部位和特征,不仅大大方便了维修,而且保证了输出的可靠性。四是自校和自修正。对于智能化仪器来说,这也许是最重要的作用,它意味着在相同或更低性能的硬件条件下,仪器指标能够达到更高的水平,即实现了高的性能价格比。另一方面,微处理器的加入使以前由硬件电路很难或根本办不到的事成为可能。五是远地输入输出能力。仪器配有标准接口,可纳入自动测试系统中工作。13单片机在低频信号发生器中的应用及其特点当今是科学技术及仪器设备高度智能化飞速发展的信息社会,电子技术的进步,给人们带来了根本性的转变。现代电子领域中,单片机的应用正在不断的走向深入,这必将导致传统控制与检测技术的日益革新。单片机构成的仪器具有高可靠性、高性能价格比,在智能仪表系统和办公自动化等诸多领域得以极为广泛的应用,并走入家庭,从洗衣机、微波炉到音响汽车,处处可见其应用。因此,单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标志之一。一块单片机芯片就是一台计算机。由于单片机的这种特殊的结构形式,在某些特殊应用领域中,它承担了大中型计算机和通用微型计算机无法完成的一些工作。使其具有很多显著的优点和特点,因此在各个领域中都得到了迅猛的发展。单片机的特点归纳起来有以下几个方面。(1)具有优异的性能价格比单片机尽可能地把应用所需的存储器,各种功能的i/o 接口集成在一块芯片内,因而其性能很高,而价格却相对较低廉,即性能价格比很高。(2)控制功能强单片机体积虽小,但“五脏俱全”,它非常适用于专门的控制用途。为了满足工业控制要求,一般单片机的指令系统中有极丰富的转移指令,i/o口的逻辑操作指令以及位操作指令。其逻辑控制功能及运行速度均高于同一档次的微机。(3)集成度高、体积小、可靠性高单片机把各种功能部件集成在一块芯片上,因而集成度高,均为大规模或超大规模集成电路。又内部采用总线结构,减少了芯片之间的连线,这大大提高了单片机的可靠性与抗干扰能力。同时,对于强磁场环境易于采取屏蔽措施,适合于在恶劣环境下工作。单片机具有体积小、成本低,性能稳定、使用寿命长等特点。其最明显的优势就是可以嵌入到各种仪器、设备中,这是其他计算机和网络都无法做到的。(4)低电压、低功耗单片机大量用于携带式产品和家用消费类产品,低电压和低功耗尤为重要。目前,许多单片机已可在2.2v电压下运行,有的已能在1.2v或0.9v下工作,功耗降至a级,一粒钮扣电池就可长期使用。利用单片机采用程序设计方法来产生低频信号,其下限频率很低。具有线路相对简单,结构紧凑,价格低廉,频率稳定度高,抗干扰能力强,用途广泛等优点,并且能够对波形进行细微调整,改良波形,使其满足系统的要求。只要对电路稍加修改,调整程序,即可完成功能升级。这里介绍一种采用at89s52单片机和一片dac0832数模转换器做成的数字式低频信号发生器,它的特点是价格低、性能高,在低频范围稳定性好、操作方便、体积小、耗电少等。信号发生器与其它相比还具有如下优点:较分立元件信号发生器而言,具有频率高,工作稳定,容易调试等特性;较专用dds芯片的信号发生器而言,具有结构简单,成本低等特性。第二章 系统设计 21 系统方案的比较2.1.1选题论证本文是做基于单片机的信号发生器的设计,将采用编程的方法来实现三角波、锯齿波、矩形波、正弦波的发生。根据设计的要求,对各种波形的频率和幅度进行程序的编写,并将所写程序装入单片机的程序存储器中。在程序运行中,当接收到来自外界的命令,需要输出某种波形时再调用相应的中断服务子程序和波形发生程序,经电路的数/模转换器和运算放大器处理后,从信号发生器的输出端口输出。制作低频信号发生器可以用一片dac0832来实现,它可以分为单极性和双极性。而本项目选择了单片双极性。之所以选单片双极性是因为其精度高,滤波好,抗干扰效果好。2.1.2方案选择方案一:采用单片函数发生器(如8038),8038可同时产生正弦波、方波等,而且方法简单易行,用d/a转换器的输出来改变调制电压,也可以实现数控调整频率,但产生信号的频率稳定度不高。方案二: at89s52芯片中每一路模拟输出与dac0832芯片相连,构成多个dac0832同步输出电路,输出波形稳定,精度高,但是第二级dac0832输出,发生错误并且电路连接复杂。方案三: at89s52芯片中只有一路模拟输出或几路模拟信号非同步输出,这种情况下cpu对dac0832 执行一次写操作,则把一个数据直接写入dac寄存器,dac0832的输出模拟信号随之对应变化。输出波形稳定,精度高,滤波好,抗干扰效果好,连接简单,性价比高。因此我们设计中采用方案三。22芯片选择模块方案一:at89s52单片机是一种高性能8位单片微型计算机。它把构成计算机的中央处理器cpu、存储器、寄存器、i/o接口制作在一块集成电路芯片中,从而构成较为完整的计算机。同时,为什么选at89s52而不选用at89c51,那是因为at89s52相对于at89c51更强大,s52增加的新功能包括: (1)性能有了较大提升,价格基本不变,甚至比89c51更低! (2)isp在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。 (3)最高工作频率为33mhz,大家都知道89c51的极限工作频率是24m,就是说s51具有更高工作频率,从而具有了更快的计算速度。 (4)具有双工uart串行通道。 (5)内部集成看门狗计时器,不再需要像89c51那样外接看门狗计时器单元电路。 (6)双数据指示器。 (7)电源关闭标识。 方案二:c8051f005单片机是完全集成的混合信号系统级芯片,具有与at89s52兼容的微控制器的内核,与mcs-51指令集完全兼容。除了具有标准at89s52的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件。方案选择:方案二中c8051f005芯片系统内部结构复杂,不易控制,芯片成本高,对于本系统而言利用率低,at89s52芯片简单易控制,性能稳定,因此采用方案一。23系统设计要求及参数基本要求:1.能产生正弦波、三角波、方波、锯齿波;2.频率控制通过按键调整。3.频率参数:正弦波 10-100hz方波 10-100hz三角波 10-100hz梯形波 10-100hz第三章 硬件电路的设计31系统框图 波形指示 at89s52输出电流/电压转换a/d转换 键盘基准电压 图3-1 低频信号发生器系统框图数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。89s52单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器cpu、随机存取存储器ram、只读存储器rom、i/o接口电路、定时器/计数器以及串行通讯接口等,只要将89s52再配置键盘及其接口、显示器及其接口、数模转换及波形输出、指示灯及其接口等四部分,即可构成所需的波形发生器低频信号发生器系统主要由cpu、d/a转换电路、基准电压电路、电流/电压转换电路、按键和波形指示电路、电源等电路组成。89s52是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的转换和信号幅度的调节。当数字信号经过接口电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。其工作原理为当分别每按下按键一次就会分别出现方波、锯齿波、三角波、正弦波,并且有数码管会指示是那种波形序号,另外,发光二极管发光说明系统处于工作状态。32 资源分配软、硬件设计是设计中不可缺少的,为了满足功能和指标的要求,资源分配如下1晶振采用12mhz;2内存分配p2口与dac0832的di0-di7数据输入端相连。p2口用来控制dac0832的输入寄存器选择信号cs、输入寄存器写选通信号wr1及dac寄存器写选通信号wr2和数据传送信号xfer。33 at89s52功能特性概述at89s52是一个低功耗,高性能cmos 8位单片机,片内含4k bytes isp(in-system programmable)的可反复擦写1000次的flash只读程序存储器,器件采用atmel公司的高密度、非易失性存储技术制造,兼容标准mcs-51指令系统及80c51引脚结构,芯片内集成了通用8位中央处理器和isp flash存储单元,功能强大的微型计算机的at89s52可为许多嵌入式控制应用系统提供高性价比的解决方案。at89s52具有如下特点:40个引脚,4k bytes flash片内程序存储器,128 bytes的随机存取数据存储器(ram),32个外部双向输入/输出(i/o)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(wdt)电路,片内时钟振荡器。此外,at89s52设计和配置了振荡频率可为0hz并可通过软件设置省电模式。空闲模式下,cpu暂停工作,而ram定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存ram的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有pdip、tqfp和plcc等三种封装形式,以适应不同产品的需求。at89s52具有如下特点:40个引脚,4k bytes flash片内程序存储器,128 bytes的随机存取数据存储器(ram),32个外部双向输入/输出(i/o)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(wdt)电路,片内时钟振荡器。 此外,at89s52设计和配置了振荡频率可为0hz并可通过软件设置省电模式。空闲模式下,cpu暂停工作,而ram定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存ram的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有pdip、tqfp和plcc等三种封装形式,以适应不同产品的需求。at89s52的引脚图 实物图如图3-2所示 图3-2 at89s52的引脚图 实物图at89s52主要特性:8031 cpu与mcs-51 兼容(1)4k字节可编程flash存储器(寿命:1000写/擦循环)(2)全静态工作:0hz-24khz(3)三级程序存储器保密锁定(4)128*8位内部ram(5)32条可编程i/o线(6)两个16位定时器/计数器(7)6个中断源(8)可编程串行通道(9)低功耗的闲置和掉电模式(10)片内振荡器和时钟电路管脚说明: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口为一个内部上拉电阻的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)这是由于上拉的缘故。表3-1 端口引脚图 i/o口作为输入口时有两种工作方式即所谓的读端口与读引脚读端口时实际上并不从外部读入数据而是把端口锁存器的内容读入到内部总线经过某种运算或变换后再写回到端口锁存器只有读端口时才真正地把外部的数据读入到内部总线上面图中的两个三角形表示的就是输入缓冲器cpu将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作这是由硬件自动完成的不需要我们操心1然后再实行读引脚操作否则就可能读入出错为什么看上面的图如果不对端口置1端口锁存器原来的状态有可能为0q端为0q为1加到场效应管栅极的信号为1该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1若先执行置1操作则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入由于在输入操作时还必须附加一个准备动作所以这类i/o口被称为准双向口89c51的p0/p1/p2/p3口作为输入时都是准双向口接下来让我们再看另一个问题从图中可以看出这四个端口还有一个差别除了p1口外p0p2p3口都还有其他的功能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:来自反向振荡器的输出。at89s52的晶振及其连接方法cpu工作时都必须有一个时钟脉冲。有两种方式可以向89s52提供时钟脉冲:一是外部时钟方式,即使用外部电路向89s52提供始终脉冲,见图3-(a);二是内部时钟方式,即使用晶振由89s52内部电路产生时钟脉冲。一般常用第二种方法,其电路见图3-(b)。 图3-3 89s52的时钟脉冲图3-3中: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的复位电路芯片擦除整个perom阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ale管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,at89s52设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,cpu停止工作。但ram,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存ram的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。34各部分电路原理3.4.1 dac0832芯片原理由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以该文选用价格低廉、接口简单、转换控制容易并具有8位分辨率的数模转换器dac0832。dac0832主要由8位输入寄存器、8位dac寄存器、8位d/a转换器以及输入控制电路四部分组成。但实际上,dac0832输出的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的输出。dac0832是电流型输出,在应用时外接运放使之成为电压型输出。管脚功能介绍(如图3-5所示)图3-5 dac0832管脚图(1) d7d0:8位的数据输入端,d7为最高位。(2)iout1:模拟电流输出端1。(3) iout2:模拟电流输出端2,当dac寄存器中数据全为1时,输出电流最大,当 dac寄存器中数据全为0时,输出电流为0, iout2与iout1的和为一个常数,即iout1iout2常数。(4) rfe:反馈电阻引出端,dac0832内部已经有反馈电阻,所以 rfe端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。(5) vref:参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定0至255的数字量转化出来的模拟量电压值的幅度,vref范围为(+10-10)v。vref端与d/a内部t形电阻网络相连。(6) vcc:芯片供电电压,范围为(+5 15)v。(7) gnd(3脚):模拟量地,即模拟电路接地端。(8) gnd(10脚):数字量地。 当wr2和xfer同时有效时,8位dac寄存器端为高电平“1”,此时dac寄存器的输出端q跟随输入端d也就是输入寄存器q端的电平变化;反之,当端为低电平“0”时,第一级8位输入寄存器q端的状态则锁存到第二级8位dac寄存器中,以便第三级8位dac转换器进行d/a转换。一般情况下为了简化接口电路,可以把和直接接地,使第二级8位dac寄存器的输入端到输出端直通,只有第一级8位输入寄存器置成可选通、可锁存的单缓冲输入方式。 特殊情况下可采用双缓冲输入方式,即把两个寄存器都分别接成受控方式制作低频信号发生器有许多方案:主要有单缓冲方式,双缓冲方式和直通方式。单缓冲方式具有适用于只有一路模拟信号输出或几路模拟信号非同步输出的情形的优点,但是电路线路连接比较简单。而双缓冲方式适用于在需要同时输出几路模拟信号的场合,每一路模拟量输出需一片dac0832芯片,构成多个dac0832同步输出电路,程序简单化,但是电路线路连接比较复杂。根据以上分析,我们的课题选择了单缓冲方式使用方便,程序简单,易操作。(2)工作原理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的单向输出电压转换成双向输出电压。dac0832主要是用于波形的数据的传送,是本题目电路中的主要芯片。3.4.2 lm324工作原理 图3-7 lm324原理图 管脚图lm324时四运放集成电路 ,它采用14脚双列直插塑料封袋,外形上图所示。它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。每一组运算放大器可用图中所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“v+”、“v-”为正、负电源端,“out”为输出端。两个信号输入端中,“-”为反相输入端,表示运放输出端out的信号与该输入端的为相反;“+”为同相输入端,表示运放输出端out的信号与输入端的相位相同。lm324的引脚排列见图7。由于lm324四运放电路具有电源电压范围宽,静态功耗小,可但电源使用,价格低廉等优点,因此被广泛应用在各种电路中。第四章 软件设计软件设计上,根据功能分了几个模块编程。模块主要有:主程序模块、方波模块、三角波模块、锯齿波模块、正弦波模块、按键扫描模块等。显示波形模块是利用dac0832的8位特点,把波形的数据以8位数据的形势送进cpu中,只要一按键就能显示波形。41设计思想(1)利用单片机产生方波、正弦波、三角波和锯齿波等信号波形,信号的频率和幅度可变。(2)将一个周期的信号分离成256个点(按x轴等分),每两点之间的时间间隔为t,用单片机的定时器产生,其表示式为:t=t/256。如果单片机的晶振为12mhz,采用定时器方式0,则定时器的初值为: x=213t/tmec 定时时间常数为: tl =(8192t)/mod256th=(8192t)/256 mod32表示除32取余数(3)正弦波的模拟信号是d/a转换器的模拟量输出,其计算公式为: y=(a/2sint)+a/2 (其中a=vref) t=nt (n=1256) 那么对应着存放在计算机里的这一点的数据为: (4)一个周期被分离成256个点,对应的四种波形的256个数据存放在以tab1-tab4为起始地址的存储器中。42主程序设计 开始ykey1按1次 输出正弦波 输出锯齿波 输出三角波yyy n n nkey1按4次key1按2次key1按3次 输出方波 n 图4-1 主程序流程图本软件设计过程中主要实现利用按键来控制不同波形的输出,当按键key1按下1次时,函数发生器就输出方波;当按键key1按下2次时,函数发生器就输出三角波;当按键key1按下3次时,函数发生器就输出锯齿波;当按键key1按下4次时,函数发生器就输出正弦波。通过按键可以以任意循环方式输出不同波形。按键key2按下时复位。43方波程序设计开始p0=0延时 p0=255延时 图4-2 方波程序流程图方波产生首先将dac0832口地址至为4000h,当a中的内容为0时,输出对应模拟量,然后延时,当a中的内容为0ffh时,同样输出对应模拟量,再延时,从而得到方波。44三角波程序设计开始p0=0p0+p0-如果p0=255 如果p0=0 图4-3三角波程序流程图三角波产生首先将dac0832口地址至为4000h,通过a中数值的加一递升,当a中的内容为0时,与0ffh相比,相等时a中的内容减一递减,从而循环产生三角波。45锯齿波程序设计 如果p0=255p0+p0=0开始延时p0-如果p0=0延时 图4-4 锯齿波程序流程图锯齿波产生首先将dac0832口地址至为4000h,通过a中数值的加一递升,当a中的内容为254时,延时一段时间,再通过a中的内容减一递减,当a的内容减至1时,延时一段时间,从而循环产生三角波。 46 正弦波程序设计开始p0=数据表第n个数据n大于等于60yesn=0 non+延时 图4-5 正弦波程序流程图第五章 仿真模拟及电路板制作51 proteus isis软件的应用介绍proteus具有和其他eda工具一样的原理图编辑、电路仿真功能及印刷电路板(pcb)设计,最大的特色是它的电路仿真的可视化和交互化,通过proteus软件的vsm(虚拟仿真模式),用户可以对单片机及外围元器件、数字电路、模拟电路、模数混合电路等电子线路进行系统仿真。proteus软件由isis和ares两部分构成,其中ares是一款强大的pcb布线编辑软件,isis是一款便捷的电子系统原理设计和仿真平台软件。proteus isis软件的特点是:第一,提供软件调试功能。在硬件仿真系统中可以观察各个变量、寄存器等的当前状态,同时具备单步、全速、设置断点等调试功能,因此在该软件的仿真系统中,可以支持第三方的软件编译和调试环境,如keil c51 uvision2等软件,并且也具备这些功能。第二,支持主流单片机系统的仿真。目前单片机 的类型有: 8051系列, pic12系列,68000系列,pic16系列,pic18系列,z80系列,avr系列,hc11系列以及各种外围芯片。第三,实现了单片机仿真和spice电路仿真相结合,数字电路仿真、具有模拟电路仿真、单片机及其外围电路组成的系统的仿真、12c调试器、spi调试器、rs232动态仿真、键盘和lcd系统仿真的功能;有各种虚拟仪器,如示波器,逻辑分析仪、信号发生器等。第四,具有强大的原理图绘制功能。总之,该软件是一款集spice和单片机分析于一身的仿真软件,功能非常强大。在此介绍proteus isis软件的一些基本操作和工作环境。基本操作:进入proteus isis 双击桌面上的isis 7 professional 图标或者单击屏幕下方的 “开始”“程序”“proteus 7 professional”“isis 7 professional”,进入proteus isis集成环境。在进入之后开始依照自己的设计将元器件找到,完成原理图。其工作界面如下图6-1所示图6-1 proteus isis的工作界面52 keil软件的应用介绍 keil c51是美国keil software公司出品的51系列兼容单片机c语言软件开发系统,与汇编相比,c语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。keil c51软件提供丰富的库函数和功能强大的集成开发调试工具,全windows界面,下面仅介绍该软件的简单的应用。使用步骤:(1)创建工程(作用是管理文件进行编译),工程的后缀名为.uv2。(2)选择芯片的型号(本设计中用at89c52)。(3)创建源文件,即用c语言编写程序,文件的后缀名为.c。(4)将原文件添加到工程中。(5)最后将生成的16进制文件(.hex文件)加载到原理图中,即可检测仿真结果。53仿真电路图(6-2仿真电路图54仿真结果在仿真的过程中,软件清晰的显示了调频的各个过程,如截图所示。图6-3至图6-9均是本信号源可得到的部分频率信号源所用的芯片的机器周期为1us(系统时钟为12mhz),定时器的初值是65279,当定时器计到65535时会溢出,即中断产生。由于方波是由p3.7产生,所以其周期是1us*256*2=512 us。而三角波(正弦波)是由数据表得到,每个数据表中含256个数据,一次中断取出一个,所以其周期是1us*256*256=65.536ms。观察图3-6得到方波的周期是550us左右,频率约为1800hz,三角波(正弦波)的周期是70 ms左右,频率约为14hz.比较二者的数值可知结果几乎相等,所以证实了该设计较为精确。按键1和2分别对应于频率增加和减小,按键3用于转化波形。图中显示了频率的逐渐变化,图3-9显示了在按键3按下,三角波和正弦波相互转化的一个瞬间,具体的调节过程可在测试中显示。6-3三角波6-4三角波频率增大6-5方波6-6方波频率增大6-7正弦波6-8正弦波频率增大6-9三角波转换正弦波55 proteus isis制版proteus isis是目前最受欢迎的电子线路设计软件,利用它可以方便地设计各种电路原理图和pcb图,并可以对电路板进行简单的仿真与分析。同时,该软件还附带了丰富的元件集成库,其中保存了每个元件的原理图符号、封装模型和其他模型等。通过把工程管理、原理图设计、pcb设计、信号完整性分析等技术进行完美融合,为用户提供了全面的设计解决方案,使用户可以轻松进行各种复杂的电路板设计。以下是信号发生器的制版过程的简要介绍第一,创建设计工程:新建一个文件夹命名为signal,选择filenewproteus isis菜单,创建一个pcb project1.prjpcb的工程文件,选择file save project菜单,打开save as对话框,将所创建的工程名为signal. prjpcb。第二,绘制原理图:选择filenewschematic菜单,创建新原理图文件,并启动原理图编辑器,单击标准工具栏的保存活动文档工具,在弹出的保存文件对话框中选择signal文件夹,输入signal.schdoc文件名后单击“保存”按钮,执行菜单命令designoptions,打开document options 对话框。在standard styles 选项的下拉列表中选择a4,设置图纸规格,其他选项均采用默认值,然后点击ok按钮确认。选择viewfit document菜单,使文档在窗口中最大化显示,单击标准工具栏的缩放区按钮,在绘图区单击并拖动定义希望放大的区域。最后单击编辑区右侧的libraries标签,打开libraries库文件面板,打开元件库下拉列表,选择miscellaneous devices.intlib 集成库,搜索所需要的元件,双击选中,然后用导线将它们连接成原理图.。第三,进行原理图校验与分析:在完成原理图的绘制以后,根据先前设定的设计规则对原理图进行校验,或者通过电路仿真对电路的可行性进行分析,对电路的结构进行优化。第四,设计印制电路板:启动pcb编辑器,加载根据原理图创建的网络连接和元件封装,对电路板进行自动布局并进行手工调整,对电路板进行手工布线,布线结束后对改图进行覆铜操作,得到最后的实验板如下图(6-10)所示。6-10 pcb电路图第五,制板:将最后得到的pcb图作为模版进行制板,并将准备好的器件焊接至该板子上参考文献1穆 兰.单片微型机计算机原理及接口技术m.北京机械工业出版社.2杨叶珍. 单片机与单片机入门(一)j. 电子制作 , 2005,(10) 3蒋智勇,等.单片微型计算机原理及应用m.沈阳辽宁科学技术出版社.4王自力. s波段频率合成源的研制j. 安徽大学学报(自然科学版) , 2004,(03) 5李朝青.单片机原理及接口技术. 北京:北京航空航天大学出版社.2006.6王自力. s波段频率合成源的研制j. 安徽大学学报(自然科学版) , 2004,(03) 7康华光,邹寿彬.电子技术基础(数字部分).北京:高等教育出版社2000.8张华, 丁宣浩, 章元洪. l波段跳频频率合成器j. 广西师范学院学报(自然科学版) , 2003,(01)9黄威, 白凤山. 智能测试系统中频率相位发生器的设计j. 内蒙古大学学报(自然科学版) , 2004,(05) 10张华, 丁宣浩, 章元洪. l波段跳频频率合成器j. 广西师范学院学报(自然科学版) , 2003,(01) 11何水艳. 浅析数字下变频中的ncoj. 高等函授学报(自然科学版) , 2004,(01) 12 石云, 滕曰, 张瑞丽. 任意波形发生器设计中tms320vc5509a的应用与探讨j. 科技信息(科学教研) , 2008,(18) 13 陈朝阳. 信号发生器设计与应用的考虑j. 国外电子测量技术 , 1994,(02) 14 黎国栋. 信号发生器专业基础知识问答j. 上海计量测试 , 2004,(05) 15 张毅刚,等.mcs-51单片机应用设计m.哈尔滨工业大学出版社.4致谢词毕业设计的完成和论文的完成要感谢很多人。首先要感谢学校给我提提供了做这个系统的机会,感谢学校的各位领导和老师一直以来对我的教导和帮助。 也感谢学校其他老师和同学给予的帮助和支持。经过近半年的锻炼和学习,我学到了许多书本上没有的知识,从方案的论证、课题的选择、电路原理,到电路上元器件的焊接、电路的调试,程序的编写,调试下载,一步步,我收获很大。在设计中,我力求硬件电路简单,充分发挥软件灵活方面的特点,满足系统设计要求。这中间,我遇到了许多困难,在老师的帮助下,一个个也都战胜了。经过近四个月的锻炼和学习,我学到了许多书本上没有的知识,从方案的论证、课题的选择、电路原理,到电路上元器件的焊接、电路的调试,程序的编写,调试下载,一步步,我受益匪浅。这项设计简单,实用,想比其他低频信号发生器稳定而且价格低廉。但是其中不免有考虑不完善的地方。比如频率的可调范围不怎么理想,能输出的波形不怎么多。但是虽说如此,我还是成长许多的,我认识到毕业设计是本科学习阶段一次非常难得的理论与实际相结合的机会,更体会到了自己独立设计的难度,当然更多的是锻炼了我解决实际问题的能力,和提高查阅文献资料、软件应用等其他能力水平,而且通过对设计的整体的掌控,对局部的取舍,以及对细节的斟酌处理,经验得到了丰富。这是我希望看到的也正是我进行此次毕业设计的目的所在。虽然此次毕业设计不是很繁琐,但是对于系统的设计、系统的实现、系统的安全等问题的处理都是需要以扎实的专业知识为基础的,所以由设计开始就是一个不断学习、不断改进和不断求教的过程。在这段过程中我下载了许多有关文献同时也到图书馆翻阅了许多相关资料,对于设计进度也是先安排学习后进行设计的,当然在设计过程中也是不断学习的,这些所学到的知识是很珍贵的。在设计中一些技术上的问题让我很头痛,例如该采用哪种模块,如何让系统尽量变的简单,因为我们大家都知道,系统越简单越稳定,这就让我想到尽量选择最优方案,虽说这次设计有点简单,但是我相信它会让我在未来的工作学习中表现出更高的应变能力,更强的沟通力和理解力。今后我会更加努力的学习,完成更多更先进的设计。附录电路原理图程序#include #include #include #define da0832 p0#define uchar unsigned charsbit keyn0=p10; /波形选择键sbit keyn1=p11; /频率加键sbit keyn2=p12; /频率减键sbit p3_0=p30; /单缓冲方式,(第一级锁存,第二级直通),接片选信号和第一级选通信号uchar code tosin256= /正弦波数据表0x80,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,0x

温馨提示

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

评论

0/150

提交评论