基于单片机控制的多波形信号发生器设计与实现论文.docx
- 文档编号:27849112
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:36
- 大小:699.85KB
基于单片机控制的多波形信号发生器设计与实现论文.docx
《基于单片机控制的多波形信号发生器设计与实现论文.docx》由会员分享,可在线阅读,更多相关《基于单片机控制的多波形信号发生器设计与实现论文.docx(36页珍藏版)》请在冰豆网上搜索。
基于单片机控制的多波形信号发生器设计与实现论文
报告题目:
多波形信号发生器设计与实现
指导教员对毕业设计报告的评语:
指导教员:
日期:
年月日
室级答辩评语及成绩:
答辩组负责人:
日期:
年月日
专业系意见:
专业系领导:
日期:
年月日
院级答辩评语及成绩
答辩组负责人:
日期:
年月日
摘要
本系统是基于AT89C52单片机的数字式低频信号发生器。
采用AT89C52单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、稳压电路(MC1403)、运放电路(LM324)、按键和八位数码管等。
通过按键控制可产生方波、三角波、正弦波等,同时用数码管指示其对应的频率。
其设计简单、性能优良,可用于多种需要低频信号源的场所,具有一定的实用性。
关键词:
单片机;信号发生器;D/A转换
Abstract
Thesystemisadigitalsignalgeneratorbasedonsinglechipcomputer.At89c52isusedasacontrolmicrocontrollercore.Thesystemiscomposedbydigital/analogconversion(DAC0832),regulatorcircuit(MC1403),implycircuit(LM324),buttonandnixietube.Itcangeneratethesquare,triangleandsinewave,withnixietube.Thesystemcanbeusedforasignalsourceinthelow-frequencysignalsource.Itisverypractical.
Keyword:
Thesinglechipcomputer;Thesignalgenerator;
D/Aconversion
附录3Proteus仿真系统简介...................................35
多波形信号发生器设计与实现
1.绪论
1.1信号发生器现状
波形发生器亦称函数发生器,作为实验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。
目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿、正弦、方波、三角等波形。
信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而成,如采用555振荡电路发生正弦波、三角波和方波的电路便是可取的路径之一,不用依靠单片机。
但是这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点。
在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源。
而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的RC很大;大电阻,大电容在制作上有困难,参数的精度亦难以保证;体积大,漏电,损耗显著更是其致命的弱点。
一旦工作需求功能有增加,则电路复杂程度会大大增加。
1.2单片机在低频信号发生器中的应用
当今是科学技术及仪器设备高度智能化飞速发展的信息社会,电子技术的进步,给人们带来了根本性的转变。
现代电子领域中,单片机的应用正在不断的走向深入,这必将导致传统控制与检测技术的日益革新。
单片机构成的仪器具有高可靠性、高性能价格比,在智能仪表系统和办公自动化等诸多领域得以极为广泛的应用,并走入家庭,从洗衣机、微波炉到音响汽车,处处可见其应用。
因此,单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标志之一。
一块单片机芯片就是一台计算机。
由于单片机的这种特殊的结构形式,在某些应用领域中,它承担了大中型计算机和通用微型计算机无法完成的一些工作。
使其具有很多显著的优点和特点,因此在各个领域中都得到了迅猛的发展。
单片机的特点归纳起来有以下几个方面。
(1)具有优异的性能价格比
单片机尽可能地把应用所需的存储器,各种功能的I/O接口集成在一块芯片内,因而其性能很高,而价格却相对较低廉,即性能价格比很高。
(2)集成度高、体积小、可靠性高
单片机把各种功能部件集成在一块芯片上,因而集成度高,均为大规模或超大规模集成电路。
又内部采用总线结构,减少了芯片之间的连线,这大大提高了单片机的可靠性与抗干扰能力。
同时,其体积小,对于强磁场环境易于采取屏蔽措施,适合于在恶劣环境下工作。
(3)控制功能强
单片机体积虽小,但“五脏俱全”,它非常适用于专门的控制用途。
为了满足工业控制要求,一般单片机的指令系统中有极丰富的转移指令,I/O口的逻辑操作指令以及位操作指令。
其逻辑控制功能及运行速度均高于同一档次的微机。
(4)低电压、低功耗
单片机大量用于携带式产品和家用消费类产品,低电压和低功耗尤为重要。
目前,许多单片机已可在2.2V电压下运行,有的已能在1.2V或0.9V下工作,功耗降至μA级,一粒钮扣电池就可长期使用。
利用单片机采用程序设计方法来产生低频信号,其下限频率很低。
具有线路相对简单,结构紧凑,价格低廉,频率稳定度高,抗干扰能力强,用途广泛等优点,并且能够对波形进行细微调整,改良波形,使其满足系统的要求。
只要对电路稍加修改,调整程序,即可完成功能升级。
这里介绍一种采用AT89C52单片机和一片DAC0832数模转换器做成的数字式低频信号发生器,它的特点是价格低、性能高,在低频范围稳定性好、操作方便、体积小、耗电少等。
信号发生器与其它相比还具有如下优点:
①较分立元件信号发生器而言,具有频率高,工作稳定,容易调试等特性;②较专用DDS芯片的信号发生器而言,具有结构简单,成本低等特性。
2.系统设计
2.1系统方案的比较
方案一:
采用函数信号发生器ICL8038集成模拟芯片,(如图2-1)它是一种可以同时产生方波、三角波、正弦波的专用集成电路。
但是这种模块产生的波形都不是纯净的波形,会寄生一些高次谐波分量,采用其他的措施虽可滤除一些,但不能完全滤除掉。
方案二:
采用分立元件实现非稳态的多谐振振荡器,然后根据需要加入积分电路等构成正弦、矩形、三角等波形发生器。
这种信号发生器输出频率范围窄,而且电路参数设定较繁琐,其频率大小的测量往往需要通过硬件电路的切换来实现,操作不方便。
方案三:
采用单片机和DAC0832数模转换器生成波形,由于是软件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。
它的特点是价格低、性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。
经比较,方案三既可满足毕业设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比较高,所以采用该方案。
2.2控制芯片的选择
方案一:
AT89C52单片机是一种高性能8位单片微型计算机。
它把构成计算机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的计算机。
方案二:
C8051F005单片机是完全集成的混合信号系统级芯片,具有与AT80C52兼容的微控制器的内核,与MCS-51指令集完全兼容。
除了具有标准AT80C52的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件。
方案选择:
方案二中C8051F005芯片系统内部结构复杂,不易控制,芯片成本高,对于本系统而言利用率低,AT89C52芯片比较常用,简单易控制,成本低,性能稳定故采用方案一。
3.硬件电路的设计
3.1基本原理
系统框图如图3-1所示。
图3-1低频信号发生器系统框图
低频信号发生器系统主要由CPU、D/A转换电路、基准电压电路、电流/电压转换电路、按键和波形指示电路、电源等电路组成。
其工作原理为当分别按下四个按键中的任一个按键就会分别出现方波、锯齿波、三角波、正弦波,并且有四个发光二极管分别作为不同的波形指示灯。
3.2单片机的介绍及资源分配
3.2.1单片机的介绍
(1)最小单片机系统
①AT89C52的引脚图如图3-2所示
图3-2AT89C52引脚图
②管脚说明
低频信号发生器采用AT89C52单片机作为控制核心,其内部组成包括:
一个8位的微处理器CPU及片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接;片内数据存储器RAM低128字节,存放读/写数据;高128字节被特殊功能寄存器占用;片内程序存储器4KBROM;四个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:
来自反向振荡器的输出。
端口
引脚
位置
第一功能
第二功能
符号
功能
符号
功能
P0
39-32
P0.0-P0.7
通用I/0口
AD0-AD7
地址数据总线
P1
1-8
P1.0-P1.7
通用I/0口
P2
21-28
P2.0-P2.7
通用I/0口
A8-A15
地址总线(高位)
P3
10
P3.0
通用I/0口
RXD
串行通信发送口
11
P3.1
TXD
串行通信接收口
12
P3.2
INT0
外部中断0
13
P3.3
INT1
外部中断1
14
P3.4
T0
计数器0输入端口
15
P3.5
T1
计数器1输入端口
16
P3.6
WR
外部存储器写功能
17
P3.7
RD
外部存储器读功能
89S52单片机外部有32个端口可供用户使用,其功能如下:
表3-189C52并行I/O接口
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.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
③AT89C52的晶振及其连接方法
CPU工作时都必须有一个时钟脉冲。
有两种方式可以向89S52提供时钟脉冲:
一是外部时钟方式,即使用外部电路向89S52提供始终脉冲,见图3-3--(a);二是内部时钟方式,即使用晶振由89S52内部电路产生时钟脉冲。
一般常用第二种方法,其电路见图3-3--(b)。
图3-389C52的时钟脉冲
图3-3中:
J一般为石英晶体,其频率由系统需要和器件决定,在频率稳定度要求不高时也可以使用陶瓷滤波器。
C1、C2:
使用石英晶体时,C1=C2=30(±10)pF
使用陶瓷滤波器时,C1=C2=40(±10)pF
④AT89C52的复位
使CPU开始工作的方法就是给CPU一个复位信号,CPU收到复位信号后将内部特殊功能寄存器设置为规定值,并将程序计数器设置为“0000H”。
复位信号结束后,CPU从程序存储器“0000H”处开始执行程序。
89S52为高电平复位,一般有3种复位方法。
ⅰ上电复位。
接通电源时
ⅱ手动复位。
设置一个复位按钮,当操作者按下按钮时产生一个复位信号。
ⅲ自动复位。
设计一个复位电路,当系统满足某一条件时自动产生一个复位信号。
图3-4为最简单的上电复位和手动复位方法。
89C52
图3-489C52的复位电路
关于CPU的复位电路应当注意,在调试单片机程序时有两种工作方式。
一是仿真器方式,主要用于调试程序。
此时程序的执行由仿真器控制,复位电路不起作用,系统时钟也经常设置为仿真器产生,此时用户的晶振也不起作用。
二是用户方式,即脱离仿真器的实际工作方式,用户的时钟振荡电路和复位电路都必须正常工作。
因此,如果系统复位电路或晶振电路有故障,就会出现仿真器方式工作正常,而用户方式不工作的现象,这是许多初学者常遇到的问题。
⑤芯片擦除
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C52设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,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-5DAC0832管脚图
(1)DI7~DI0:
8位的数据输入端,DI7为最高位。
(2)IOUT1:
模拟电流输出端1,当DAC寄存器中数据全为1时,输出电流最大,当DAC寄存器中数据全为0时,输出电流为0。
(3)IOUT2:
模拟电流输出端2,IOUT2与IOUT1的和为一个常数,即IOUT1+IOUT2=常数。
(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-6D/A转换器双极性输出电路
图3-7中,运算放大器A2的作用是把运算放大器A1的单向输出电压转换成双向输出电压。
其原理是将A2的输入端Σ通过电阻R1与参考电压VREF相连,VREF经R1向A2提供一个偏流I1,其电流方向与I2相反,因此运算放大器A2的输入电流为I1、I2之代数和。
则D/A转换器的总输出电压为:
VOUT2=-[(R3/R2)VOUT1+(R3/R1)]VREF
设R1=R3=2RR2=R,则
VOUT2=-(2VOUT1+VREF)
DAC0832主要是用于波形的数据的传送,是本题目电路中的主要芯片。
③DAC0832电路原理图(如图3-7所示)
图3-7DAC0832电路原理图
(B)LM324工作原理
(管脚功能如图3-8所示)
图3-8LM324管脚图
LM324时四运放集成电路,它采用14脚双烈直插塑料封袋,外形如图1所示。
他的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。
每一组运算放大器可用图中所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“OUT”为输出端。
两个信号输入端中,“-”为反相输入端,表示运放输出端OUT的信号与该输入端的为相反;“+”为同相输入端,表示运放输出端OUT的信号与输入端的相位相同。
LM324的引脚排列见图9。
由于LM324四运放电路具有电源电压范围宽,静态功耗小,可但电源使用,价格低廉等优点,因此被广泛应用在各种电路中。
在此项目中用了LM324的三组运放,分别置于第一级输出,第一、二级之间,第二级输出。
(C)MC1403工作原理
(管脚功能如图3-9所示)
图3-9MC1403管脚图
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能够正常工作。
4.软件设计
单片机技术比较成熟,开发过程可利用的资源和工具丰富,最大的优点是价格便宜,成本低。
调试软件采用Keil51.keiluVison是众多单片机应用开发软件中优秀软件之一,界面友好,易写易操作。
在调试程序中,软件仿真protues功能也很强,软件调通,再通过编程器下载到AT89S52中,然后插到系统中即可独立完成所有的控制。
软件设计上,根据功能分了几个模块编程。
模块主要有:
主程序模块、三角波模块、正弦波模块、方波模块、延时子程序模块等。
显示波形模块是利用DAC0832的8位特点,把波形的数据以8位数据的形势送进CPU中,只要一按键就能显示波形。
4.1主程序流程图
如图4-1所示。
Y
N
Y
N
Y
图4-1主程序流程图
本软件设计过程中主要实现利用按键来控制不同波形的输出,当按键1第一次按下时,函数发生器就输出方波;当按键1第二次按下时,函数发生器就输出三角波;当按键1第三次按下时,函数发生器就输出正弦波。
通过按键可以以任意循环方式输出不同波形。
按键2与按键3分别是波形频率的调节按钮。
按键4是控制数码管显示当前波形频率的控制按钮。
4.2子程序流程图
1方波程序流程图
如图4-2所示。
图4-2方波流程图
方波产生首先将DAC0832口地址至为4000H,当A中的内容为0时,输出对应模拟量,然后延时,当A中的内容为0FFH时,同样输出对应模拟量,再延时,从而得到方波。
2三角波程序流程图
如图4-3所示。
4-3三角波流程图
三角波产生首先将DAC0832口地址至为4000H,通过A中数值的加一递升,当A中的内容为0时,与0FFH相比,相等时A中的内
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 控制 波形 信号发生器 设计 实现 论文