基于单片机的波形发生器设计.doc
- 文档编号:1948057
- 上传时间:2023-05-02
- 格式:DOC
- 页数:29
- 大小:1.33MB
基于单片机的波形发生器设计.doc
《基于单片机的波形发生器设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的波形发生器设计.doc(29页珍藏版)》请在冰点文库上搜索。
陕西理工学院毕业设计
基于单片机的波形发生器设计
许启动
(陕理工物理与电信工程学院电子信息科学与技术专业1203班,陕西汉中723001)
指导教师:
宋卫星
[摘要]本设计采用一块STC89C51单片机和一块DAC0832产生所需要的不同波形,也就是说用单片机(STC89C51)当作控制核心,在单片机外部用D/A电路(DAC0832)、运算放大电路(LM358)、按键与LCD液晶显示电路等,通过控制按钮可控制产生多种波形(包括方波、三角波、正弦波),然后用LCD液晶显示器将所产生的波形进行显示。
本设计所采用的系统设计比较简单、性能较为优良、性价比相对较高,可用于很多种需要低频信号的场所,具有很高的实用性。
[关键词]信号源;单片机;DAC0832
DesignofwaveformGeneratorBasedonsinglechipmicrocomputer
XuQidong
(Grade12,Class3,MajorElectronicInformationScienceandTechnology,PhysicsDept.,Shaanxi
UniversityofTechnology,Hanzhong723000,Shaanxi)
Tutor:
SongWeixing
Abstract:
ThisarticlebydesignofsystemisusingSTC89C51singletabletsmachineandarraydieconversiondevicesDAC0832producedbyrequireddifferentsignaloflowfrequencysignalsource,isusedSTC89C51singletabletsmachineascontrolcore,andinperimeteruseddigital/simulationconversioncircuit(DAC0832),andoperationalamplifiercircuit(LM358),andpressandLCDdisplaylampcircuit,bypresscancontrolproducedsquare,andsawtoothwave,andtrianglewave,andsinewave,whilewithLCDdisplaylampindicatescorrespondsofwaveformoutput.Thissimplesystemdesignedbydesign,excellentperformance,cost-effective,placeswithlowfrequencysignalsourcecanbeusedforavarietyofneeds,withacertaindegreeofpracticality.
Keywords:
Signalsource,SingleChipMicyoco(SCM),Digitaltonalogconverter
目录
1引言 1
1.1选题目的及研究意义 1
1.2波形发生器的发展现状 1
1.3波形发生器的发展趋势 1
1.4本设计初步思路 1
2系统总体方案设计 2
2.1概述 2
2.2系统硬件设计方案 2
2.3系统软件设计方案 3
3波形发生器硬件设计 4
3.1D/A转换器 4
3.1.1D/A转换器的主要技术指标 4
3.1.2DAC0832转换器 4
3.2单片机的选择 5
3.2.1单片机及其外围电路的设计 5
3.2.2复位电路 7
3.2.3时钟电路 8
3.2.4键盘输入电路设计 8
3.3显示电路的设计 8
3.4放大电路的设计 9
4波形发生器软件设计 10
4.1主程序流程图 10
4.1.1方波产生设计 11
4.1.2三角波产生设计 11
4.1.3正弦波产生设计 12
4.2幅值及频率的控制 12
5电路仿真及系统调试 13
5.1设计仿真演示 13
5.2系统调试 14
5.2.1硬件调试 15
5.2.2软件调试 15
5.2.3波形发生器的系统联调 15
6结束语 15
致谢 15
参考文献 16
附录A基于单片机的波形发生器电原理图 17
附录B的基于单片机的波形发生器程序 18
附录C波形发生器元器件清单 26
1引言
1.1选题目的及研究意义
波形发生器是一种信号源,它被广泛用于电子电路、自动控制和科学试验等这些领域。
例如:
测量电参量、雷达、通信、电子对抗与电子系统、宇航和遥控遥测技术等等,所以可以说——高质量的信号源是高性能指针实现的关键,许许多多的现代电子仪器设备和许多系统功能的实现都得取决于其信号源的性能,因此可以说高质量的信号源是诸多电子系统的“命脉”。
伴随着通信技术以及雷达技术的快速发展,对信号源的一些性能(例如频率稳定度、频谱的纯度、频率的范围、其输出频率的个数以及信号波形的形状)提出了更多的要求。
为了提升它的输出频率稳定度,我们可以运用晶体振荡器等一系列方法来解决。
为满足频率个数多此要求,可采用合成频率技术,也就是说通过对频率进行一系列数学运算(加、减、乘、除),能从一个稳定度以及准确度都很高的标准频率源,产生足量的具有同一稳定度跟准确度的不同的频率。
1.2波形发生器的发展现状
时至今日,市场上可见的信号发生器数量众多,其功能也是多样化。
一般情况下,我们按照频带可以分为以下几种:
1)超高频信号发生器
2)高频率信号发生器
3)低频信号发生器
4)超低频信号发生器
为了产生所需的波形,我们通常会用到的是LC振荡电路。
也就是我们所说的高频率、低频率以及超低频率的信号发生器,以上提到的这些发生器,它们所使用的都是“文氏桥振荡”电路,也就是我们所讲的RC振荡电路,它的原理是通过改变电路中的电容以及电阻值的大小,从而改变频率值。
用前面所说的原理设计出来的信号发生器,它能够输出的波形一般有且只有两种,就是我们比较熟悉的正弦波和脉冲波,它的零点是没办法调整的,并且价格相当昂贵。
但是在这里要提出的一点是,在实际应用中,超低频率波和高频率波一般是不会用到的,我们只会用到中高频,也就是频率处于几十HZ到几MHZ之间。
用单片机STC89C51,加上一片DAC0832,就可以完成一个简单信号发生器的设计,其频率受单片机运行的程序的控制。
可以把产生各种波形的程序,写在ROM中,装入本机,按用户的选择,运行不同的程序,产生不同的波形。
再在DAC0832输出端加上一些电压变换电路,就完成了一个频率、幅值、零点均可调的多功能信号发生器的设计。
这样的机器体积小,价格便宜,耗电少,频率适中。
1.3波形发生器的发展趋势
波形发生器的发展趋势是更高取样率,更高分辨率和更大存储量。
在生产实践和科技领域中有着广泛的应用,各种波形曲线均可以用三角函数方程式来表示。
能够产生多种波形,如三角波、矩形波(含方波)、正弦波的电路被称为波形信号发生器。
在通信、广播、电视系统、工业、农业、生物医学等领域内,都有着尤为重要的作用,除此之外,波形信号发生器在实验和设备检测中具有十分广泛的用途。
1.4本设计初步思路
本次设计将采用STC89C51及其外围扩展系统,软件方面主要是应用C语言设计程序。
系统以AT89C51单片机为核心,配置相应的外设及接口电路,用C语言开发,组成一个多功能信号发生系统。
该系统的软件可运行于WindowsXP环境下,硬件电路设计具有典型性。
同时,本系统中任何一部分电路模块均可移植于实用开发系统的设计中,电路设计具有实用性。
利用单片机STC89C51和8位D/A转换芯片DAC0832共同实现正弦波,方波,三角波,这三种常见波形的发生,并且可以接收外接键盘输入而在一定范围内改变频率[1]。
第1页共26页
波形信号发生器构成原理如图1.1所示。
2系统总体方案设计
2.1概述
本设计是利用STC89C51单片机和数模转换器件DAC0832产生所需正弦波、三角波、方波电压波形。
其信号幅度和频率都是可以按要求控制的。
文中简要介绍了DAC0832数模转换器的结构原理和使用方法,STC89C51的基础理论,以及与设计电路有关的各种芯片。
根据对毕业设计的要求,文中着重介绍了如何利用单片机控制D/A转换器产生上述信号的硬件电路和软件编程。
信号频率幅度也按要求可调。
产生正弦波、方波、三角波的方案有多种,如首先产生正弦波,然后通过整形电路将正弦波变换成方波,再由积分电路将方波变成三角波;也可以首先产生三角波与方波,再将三角波变成正弦波或将方波变成正弦波等等。
本课题采用先产生方波与三角波,再将三角波变换成正弦波的电路设计方法[2]。
由比较器和积分器组成方波与三角波产生电路,比较器输出的方波经积分器得到三角波,三角波到正弦波的变换电路主要由积分电路来完成。
积分电路具有工作点稳定,输入阻抗高,抗干扰能力较强等优点。
特别是当采用直流放大器时,可以有效地抑制零点漂移,因此可将频率很低的三角波变换成正弦波。
波形变换的原理是利用差分放大器传输特性曲线的非线性。
通过键盘可以进行频率的调节,对频率能够进行增大和减小的设置。
本设计以方波为核心积分出不同的波形,波形采用同步输出的方式,用示波器有选择的分别进行显示。
2.2系统硬件设计方案
系统的硬件结构框图如图2.1所示,主要分为几个部分:
单片机、波形产生电路、键盘电路、LED显示电路、滤波电路。
1)单片机
单片的机作为一个接的收、处的理、输出信号的的仪器装置,将单片的机与LCD显示连的接成一个有机的的整体。
其主要是完成的数据处理,并通过的与之有关的的软件来实现的软件的编程使的显示值与的称重值对应。
因此,此部分的是整个设计的最重要的的组成部分。
2)复位电路
89C51的的复位输入引脚RST的(即RESET)的为89C51的提供了初始化的的手段。
有了它可的以使程序从指的定处开始执行,即从的程序存储器的中的0000H的地址单元开始的执行程序。
在89C51的工作后,只要在的RST引脚上出现两个的机器周期以的上的高电平时,的单片机内部则的初始复位。
的只要RST保持高电平,的则89C51的循环复位的。
只有当的RST由高电平的变成低电平的以后,的89C51的才从0000H的的地址开始执行的程序[3]。
3)数模转换电路
由于模拟量更容易通过仪器进行观察,所以通过数模转换电路可以将数字量转化为的模拟量。
本设计采用DAC0832数模的转换器,更精确的进的行数模转换。
4)LCD显示电路
本的设计中,的波形的显示是采用简的单的液晶LCD1602显示屏。
5)电压放大电路
DAC0832的输出电压比较小。
因此,要将该电压信号在示波器中显示出来,需要有一个放大器将此电信号放大到所需范围之内。
由于放大电路的增益是可调的,故运用运算放大电路能将电压信号放大到所要求的范围。
2.3系统软件设计方案
如果硬件是整个的设计的基础,那软的件就是整个的设计的灵魂的所在,它可以的使仪器的的主要功能得以实现。
的而在软件设计方法中,的结构化设计的是使用最广泛的,的用模块化设计的的思想进行程序设计。
的根据这一的原则和毕业设计任务书的要求,的本设计的软件主要包括:
的波形产生子程序,的键盘处理子程序,的LCD显示子程序几大部分。
的各程序以模块形式,的独立成章,的运行过程中可以调用执行,的整个波形发生器的的软件流程图的如图2.2的所示。
1)键盘处理子程序的
键盘处理子程序的主要是采用中断系统的方式的进行按键的扫描,的判断按键是否按下。
的通过延时子程序对按键的的抖动进行消除。
的
2)波形产生子程序的
主要是通过调用单片机内的方波子程序,同时通过程序对DAC0832芯片的地址进行设定,从而进行数模转换产生波形的。
3)LCD显示子程序的
显示子程序的任务的是将测量结果送显示的器显示,的通过对LCD显示的子程序的编译、的链接、调试等操作实现对的所测得的的物体质量进行显示,的它是人—的机对话的组成部分之的一。
3波形发生器硬件设计
3.1D/A转换器
D/A转换器输入的的是数字量,的经转换器输出的是模拟量。
的转换过程是先将MCS-51的送到D/A转换器的的二进制数的每一位,的按它的权的大小量转换的为与之对应的模拟分量,之后再用叠法将各个模拟分量进行相加,所相加的和就可以称之为D/A转换的结果的。
D/A的的转换器的输出形式有两种的,的的一种是电压输出形式的,的的即给D/A转换器输入的是数字量的,的而输出为电压的。
的另一种是的电流输出形式的的,即输出为电流的的。
在实际应用中的,的对于电流输出的D/A转换器的,的如需要模拟电压输出的的,可在其输出端加一的个由运算放大器构成的的的I-V的的转换电路的,的将电流输出转换的为电压输出的的。
由于的D/A的转换时需要一定时间的的,在这段时间内的D/A的转换器输入端的数字的量应保持稳定的,为此应当在的D/A的转换器的的数字输入端前面设置锁存器的,以提供数据锁存功能的。
根据转换器芯片内是否带的有锁存器的,可以把DAC的分为内部无锁存器的的和内部有锁存器的的两类[4]。
3.1.1D/A转换器的主要技术指标
1)的分辨率
当输入的数字信的号发生单位数码变化的,即最低位产生的一次变化的,所对应的输出的模拟量的变化量即为分辨率的。
在实际应用中的,更常用的方法是用输入的的数字量的位数来表示分的辨率的。
如8位二进制的的D/A的转换器的,的常简称为分辨率为8位。
2)的精度
如果不考虑的D/A的的转换误差,的D/A转换的精度为的其分辨率的大小的。
因此,的要获得一定的精度的的D/A的转换结果,的首要的条件是选择有足够分辨率的的D/A的转换器。
当然的D/A的转换的精度不仅与D/A的转换器的本身有的关,也于外的电路以及电源的有关。
的影响转换精度的主要误差因素有失调误差、的增益误差、的非线性误差和微分非线性误差等的。
3)的建立时间
建立时间是描述的D/A的转换器转换快慢的的一个参数,的用于表明转换速度,的其值为从输入数字量到输出达到终值误差的(1/2)的LSB的(最低有效位)的时所需的时间的。
输出形式为电流的转换时间较短的,而输出形式为电压的转换器的,由于要加上的I—V的转换的运算放大器的延迟时间的,因此建立时间要长一些的。
快速的D/A转换器的建立时间可达的1的秒以下的。
3.1.2DAC0832转换器
DAC0832的由8的位输入寄存器的、8位的DAC的寄存器、的8位的D/A转换器及逻辑控制单元等的功能部件所组成的。
其中的,的8位的D/A的转换器是核的心部件,它的的内部采用了的256的级的倒R的—2R电阻译码网络技术的,由电流开的关电路控的制基的准电压的VREF,数模转换由提供电阻网络的电流来进行的,所以说转换的速度是比较快的的。
这里的2级寄存器是可以用来提高数模转换器工作的速度的,之所以这样说,是因为8位的DAC的寄存器工作在输出状态的时候的,8位的输入寄存器可的接收新的的数据。
的DAC0832的采用的R-2RT的型电阻译码网络的,是由锁存器的和D/A的转换电路和控制转换电路组成的。
图3.1为的DAC0832的内部结构。
的1脚的作用是给输入寄存器挑选合适的信号的,在低电平下有效的。
2的脚的作用是给输入寄存器写选通信号的,在低电平下有效。
的17脚为数据传送控制信号的,在低电平下有效的。
18的脚为DAC的寄存器的写选通信号,在低电平下有效。
19脚为输入锁存允许信号,在高电平下有效。
的DI0~DI7的为8的位数字输入端,DI0的为最低端,DI7的是最高端。
11的脚为DAC的电流输出端1,它所输出的是当数字输入端的逻辑电平为1时,各位输出电流的和的,的DAC的寄存器的内容是随着输入端代码的线性变化而变化,DAC的寄存器所展示的内容都是的1时的Iout1最大,全为的0时Iout1的最小的。
12脚是电流输出端的2,Iout2的数值取决于常数减去的Iout1的结果,即的Iout1+Iout2=常数。
这个常数所对应的是一个固定的基准电压的满的量程下的电流的。
8的脚是基准电源输的入端的。
Vref的一般在的-10~10V范围内的,由外电路的提供。
20的脚是逻辑电源输入端的,取值范围为的+5~+15V,的+15V最佳的。
3的脚是模拟地的,为芯片的模拟电路接地点的。
10的脚是数字地,是这个芯片数字电路的接地点的。
Rfb的为回馈电阻,制作在的芯片内部,给的DAC提供输出电压,以及运放的回馈电阻的。
在使用时的,假设环境电磁干扰不是很严重的时候,模拟地就可以跟数字地进行连接的。
不然的话就应当分别再走线,在保护地点汇合的,一点接地的。
图3.1DAC0832内部结构
(1)数字输入端具有双重缓冲功能的,可以双缓冲、单缓冲或直通数字输入。
(2)与所有通用微理器可直接接口的。
(3)满足TTL电平规范的逻辑输入的。
(4)分辨率为8位,满刻度误差的±1LSB,建立时间为1μs,功耗的20mW。
(5)电压输出型的D/A转换器。
3.2单片机的选择
现在市场上单片机种类非常多的,功能也多种多样的。
通过比较和分析的,采用的51系列单片机的中的STC89C51的单片机的,这种单片机的功能强大的,可以满足设计者的的需求。
3.2.1单片机及其外围电路的设计
作为本系统的核心组件的,选择哪一型号的的MCS-51的系列单片机是关键的的问题。
的8031单片机片内不带程序内存的ROM,使用时需要外部接入程序内存以及一片逻辑电路芯片的74LS373,外接的程序内存大多数是EPROM中的2764的系列。
用户如果想修改已经写入到的EPROM的中的程序,就必须得先将内存照射擦除,通常用的方法是用一种比较特殊的紫外线灯的,之后再的可写入。
这样一来,已经写进的外接程序内存里的的程序以及代码的保密性就非常低的。
8051的单片机片内有的4KROM的,无须外接内存和的74LS373的,更加能够体现“的单片”这一词的简练的。
但是编的程序无法烧写到其的ROM的中,只有将的程序交芯片厂代的为改写,的并是一次性的的,的今后都不能改写其内容的。
8751的单片机与8051的单片机基本一样,但的8751单片机片内有的4K的的EPROM,用户能够将自己所编写的的程序写进单片机的的EPROM中,从而进行现场的实验与应用,当然,EPROM的改写同样也需要用类似于8051的擦除方法进行擦除,然后再捎写的。
89C51的单片机为的EPROM型的,在实际电路中的可以直接互换的8051单片机或的8751单片机,的不但和8051的单片机指令的,管脚完全兼容的,而且其片内的的4K程序内存是的FLASH工艺的的。
89C51的是由北京集成电路中心的(BIDC)的设计,由美国公的司生产八位的单片机的。
它是一种低功耗高性能的具有的8K字节可电气烧录及可擦除的程序的ROM的八位的CMOS单片机。
该器件是用高密度的、非易丢失的存储技术制造的并且与国际的工业标准的80C51单片的机指令系统和的引脚完全兼容[5]。
图3.289C51管脚图
综上所述的,从使用方的便与简的化电路以及的其性价比的等角度的来考虑的,89C51的比较合适的的。
本系统采用的CPU为89C51的的单片微机,的89C51本身带有的4K的内存储器,其管脚如图的3.2所示的。
下面介绍的89C51的主要管脚功能如下的:
的VCC(40):
电源的+5V;VSS的(20):
接地的;XTAL1的(19)和的XTAL2(18):
的外接石英晶体振荡器;的P0口(32-39):
的双向I/O口,的既可作低8位地址和8位数据总线使用,也可作普通的I/O口;P1口(1-8):
准双向通用I/O口;的P2口(21-28):
既可作高8位地址总线,也可作普通的I/O口;P3口(10-17):
多用途埠,既可作普通I/O口,也可按每位定义的第二功能操作;的RST(9):
复位信号输入端;的ALE/PROG:
地址锁存信号的输出端;PSEN:
的内部和外部程序的内存选择线的。
CPU的可包括运算部件的,控制器的,程序状态字的,的B寄存器的,累加器的Acc(或A)的,位处理器等。
运算部件由算术逻辑单元的、累加器的、暂存寄存器的、标志寄存器的、十进制调整单元组成的。
它的功能是的进行算术和逻辑运算的。
它不但对的8位变量进行逻辑的:
“与”、“或”的、“异或”、循环、取补的、清零等基本操作的,还可以进行算术的加的、减、乘的、除操作的。
功能很强的位操作是一般微型计算机标准的ALU所不具备的的,它可以对位变量进行置位的、清零、求补的、测试转移及逻辑“与”,“或”的等操作。
对半字节的(4位)和双字节的(16位)类型数据也可进行操作的。
ACC的为累加寄存器。
的但是,对累加器操的作指令中累加器的助记简写为的A。
MCS-51的指令系统中大部分的单操作指令的操作数取自累加器的A,双操作数指令的的一个操作数取自累加器的A。
B的寄存器用于除法和乘法操作的。
除法指令中的,被除数取自的A,除数取自的B,商数存放在的A中而余数存放在的B中。
乘法指令的两个的操作数分别取的A和B,其积则存放在的AB寄存器对中的。
对于其它指令的,B寄存器作为的缓存器使用的。
程序存贮器的用于存放编好的的程序表格和常数的。
程序状态字寄存器的PSW是一个的8位的寄存器的,它包含的了程序状态信息的。
的PSW用于指示指令寄存状态供的程序查询和判别之用的。
PSW的寄存器具有位元元组地址的和位地址的,即每一的个标志位都有一的个地址,的可方便地对其中某一的位进行操作的。
STC89C51RC的是采用的8051核的的ISP(的InSystemProgramming的)在系统可编程芯片的,最高工作的时钟频率是的80MHz,片内含的8KBytes的的可反复擦写的1000次的的Flash只读程序存储器的,器件兼容标准的MCS-51指令系统及的80C51引脚结构,芯片内集成了通用的8位中央处理器和的ISPFlash存储单元,的具有在系统可编程的(ISP)的特性,配合着电脑端的控制程序就能够将用户的程序代码下载到单片机里面去,这样的话,就不用购买通用编程器了,的而且速度会更加快。
的STC89C51RC的系列单片机是单时钟/机器周期的(1T)的的兼容的8051内核单片机,的是高速/低功耗的新一代的8051单片机,的全新的流水线/精简指令集结构,的内部集成的MAX810的专用复位电路[6]。
图3.3.STC89C51单片机内部机构框图
3.2.2复位电路
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 波形 发生器 设计