版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机的波形发生器设计许启动(陕理工物理与电信工程学院电子信息科学与技术专业1203班,陕西汉中 )指导教师:宋卫星摘要本设计采用一块 STC89C51 单片机和一块 DAC0832产生所需要的不同波形,也就是说用单片机(STC89C51)当作控制核心,在单片机外部用D/A电路(DAC0832)、运算放大电路(LM358)、按键与LCD 液晶显示电路等,通过控制按钮可控制产生多种波形(包括方波、三角波、正弦波),然后用LCD液晶显示器将所产生的波形进行显示。本设计所采用的系统设计比较简单、性能较为优良、性价比相对较高,可用于很多种需要低频信号的场所,具有很高的实用性。关键词信号源;单片机;
2、DAC0832Design of waveform Generator Based on single chip microcomputerXuQidong(Grade12,Class3,Major Electronic Information Science and Technology,Physics Dept.,Shaanxi University of Technology,Hanzhong ,Shaanxi)Tutor: SongWeixingAbstract: This article by design of system is using STC89C51 single tab
3、lets machine and array die conversion devices DAC0832 produced by required different signal of low frequency signal source, is used STC89C51 single tablets machine as control core, and in perimeter used digital/simulation conversion circuit (DAC0832), and operational amplifiercircuit (LM358), and pr
4、ess and LCD display lamp circuit, by press can control produced square, and sawtooth wave, and triangle wave, and sine wave, while with LCD display lamp indicates corresponds of waveform output.This simple system designed by design, excellent performance, cost-effective, places with low frequency si
5、gnal source can be used for a variety of needs, with a certain degree of practicality.Keywords: Signal source, Single Chip Micyoco(SCM), Digital to nalog converter目 录1引 言11.1 选题目的及研究意义11.2 波形发生器的发展现状11.3 波形发生器的发展趋势11.4 本设计初步思路12系统总体方案设计22.1 概述22.2 系统硬件设计方案22.3 系统软件设计方案33波形发生器硬件设计43.1 D/A转换器43.1.1 D/
6、A转换器的主要技术指标43.1.2 DAC0832转换器43.2 单片机的选择53.2.1 单片机及其外围电路的设计53.2.2 复位电路73.2.3 时钟电路83.2.4 键盘输入电路设计83.3 显示电路的设计83.4放大电路的设计94波形发生器软件设计104.1主程序流程图104.1.1方波产生设计114.1.2 三角波产生设计114.1.3 正弦波产生设计124.2 幅值及频率的控制125 电路仿真及系统调试135.1设计仿真演示135.2系统调试145.2.1 硬件调试155.2.2 软件调试155.2.3 波形发生器的系统联调156结束语15致 谢15参考文献16附录A 基于单片机
7、的波形发生器电原理图17附录B的基于单片机的波形发生器程序18附录C 波形发生器元器件清单261引 言1.1 选题目的及研究意义波形发生器是一种信号源,它被广泛用于电子电路、自动控制和科学试验等这些领域。例如:测量电参量、雷达、通信、电子对抗与电子系统、宇航和遥控遥测技术等等,所以可以说高质量的信号源是高性能指针实现的关键,许许多多的现代电子仪器设备和许多系统功能的实现都得取决于其信号源的性能,因此可以说高质量的信号源是诸多电子系统的“命脉”。伴随着通信技术以及雷达技术的快速发展,对信号源的一些性能(例如频率稳定度、频谱的纯度、频率的范围、其输出频率的个数以及信号波形的形状)提出了更多的要求。
8、为了提升它的输出频率稳定度,我们可以运用晶体振荡器等一系列方法来解决。为满足频率个数多此要求,可采用合成频率技术,也就是说通过对频率进行一系列数学运算(加、减、乘、除),能从一个稳定度以及准确度都很高的标准频率源,产生足量的具有同一稳定度跟准确度的不同的频率。1.2 波形发生器的发展现状时至今日,市场上可见的信号发生器数量众多,其功能也是多样化。一般情况下,我们按照频带可以分为以下几种:1) 超高频信号发生器2) 高频率信号发生器3) 低频信号发生器4) 超低频信号发生器为了产生所需的波形,我们通常会用到的是LC振荡电路。也就是我们所说的高频率、低频率以及超低频率的信号发生器,以上提到的这些发
9、生器,它们所使用的都是“文氏桥振荡”电路,也就是我们所讲的RC 振荡电路,它的原理是通过改变电路中的电容以及电阻值的大小,从而改变频率值。用前面所说的原理设计出来的信号发生器,它能够输出的波形一般有且只有两种,就是我们比较熟悉的正弦波和脉冲波,它的零点是没办法调整的,并且价格相当昂贵。但是在这里要提出的一点是,在实际应用中,超低频率波和高频率波一般是不会用到的,我们只会用到中高频,也就是频率处于几十HZ 到几MHZ之间。用单片机 STC89C51,加上一片 DAC0832,就可 以完成一 个简单 信号 发生器的设计,其频 率受单片 机运行 的程序 的控制。可以把 产生各 种波形 的程序,写在
10、ROM 中,装入 本机,按用户 的选择,运行 不同的 程序,产生不 同的波形。再在 DAC0832 输出端 加上一些电 压变换 电路,就完成了一个 频率、幅 值、零点均 可调的多 功能信 号发生 器的设计。 这样的机 器体积小, 价格便 宜,耗电少 ,频率适 中。1.3 波形发生器的发展趋势波形发生 器的发展 趋势是更 高取样率,更高 分辨率和 更大存储 量。在生产 实践和科 技领域中有 着广泛的 应用,各种波 形曲线均 可以用三 角函数 方程式来 表示。能够 产生多种 波形,如三角波、 矩形波 (含方波 )、正弦 波的电路 被称为 波形信号 发生器。 在通信、 广播、电 视系统、工业、 农业
11、、生 物医学等 领域内,都有着尤为重要的作用,除此之外,波形 信号发生器 在实验和 设备检测 中具有 十分广 泛的用途。1.4 本设计初步思路本次设计 将采用 STC89C51 及其外围 扩展系统,软 件方面主 要是应用C 语言设计 程序。系统以 AT89C51 单片机为 核心,配置相 应的外设 及接口电 路,用C语 言开发,组成 一个多功 能信号发生系 统。该系统的软 件可运行于 Windows XP环境下,硬 件电路设计具 有典型性。同时,本 系统中任何 一部分电路模 块均可移植 于实用开发系 统的设计中,电路 设计具有实 用性。利用单片 机STC89C51和8 位D/A转换芯 片DAC0
12、832共同实 现正弦波,方 波,三角 波,这三种常见波 形的发生,并且可以接 收外接键 盘输入而在 一定范围内改 变频率1。波形信号发生器构成原理如 图1.1所示。2系统总体方案设计2.1 概述本设计是 利用STC 89C51单片 机和数模 转换器件DAC0832 产生所需正 弦波、三角波、方 波电压波 形。其信号幅 度和频率都是 可以按要求控 制的。文中简 要介绍了DAC 0832数 模转换器的结构原 理和使用方 法,STC89C51 的基础 理论,以及与设 计电路有关的 各种芯片。根据对 毕业设计的要 求,文中着重 介绍了如何利 用单片机控 制D/A转换器产生上 述信号的硬件 电路和软 件
13、编程。信号频率 幅度也按要 求可调。产生正弦 波、方波、三角 波的方案有多 种,如首先产生 正弦波,然后通 过整形电路将 正弦波变换成方 波,再由积分 电路将方 波变成三角 波;也可以首 先产生三角 波与方波,再将三 角波变成正弦 波或将方 波变成正弦 波等等。本课题 采用先产 生方波与三 角波,再将三角 波变换成 正弦 波的电路 设计 方法2。由比较 器和积分 器组成方波 与三角波 产生电 路,比较器 输出的方 波经积 分器得 到三角 波,三角波到正 弦波的变 换电路主要 由积分电 路来完成。积分 电路具有 工作点稳定,输 入阻抗高,抗 干扰能 力较强等 优点。特别 是当采用 直流放大 器时
14、,可以有效 地抑制零 点漂移,因此可 将频率很低的 三角波变换成正 弦波。波形变 换的原理是利 用差分放 大器传输特 性曲线的非 线性。通过键 盘可以进行频 率的调节,对频 率能够进行 增大和减 小的设置。本设 计以方波 为核心积分出不 同的波形,波形 采用同步 输出的方式,用示 波器有选择 的分别进 行显示。2.2 系统硬件设计方案 系统的 硬件结构框图 如图2.1所示,主要 分为几个 部分:单 片机、波形产 生电路、键盘电路、LED显示 电路、滤波 电路。1)单片机单片的机作为一个接的收、处的理、输出信号的的仪器装置,将单片的机与LCD显示连的接成一个有机的的整体。其主要是完成的数据处理,
15、并通过的与之有关的的软件来实现的软件的编程使的显示值与的称重值对应。因此,此部分的是整个设计的最重要的的组成部分。2)复位电路89C51的的复位输入引脚RST的(即RESET)的为89C51的提供了初始化的的手段。有了它可的以使程序从指的定处开始执行,即从的程序存储器的中的0000H的地址单元开始的执行程序。在89C51的工作后,只要在的RST引脚上出现两个的机器周期以的上的高电平时,的单片机内部则的初始复位。的只要RST保持高电平,的则89C51的循环复位的。只有当的RST由高电平的变成低电平的以后,的89C51的才从0000H的的地址开始执行的程序3。3)数模转 换电路由于 模拟量更容 易
16、通过仪器 进行观察,所以 通过数模转 换电路可以 将数字量 转化为的模拟量。本设计采用DAC0832数模的转换器,更精确的进的行数模转换。4)LCD显示电路本的设计中,的波形的显示是采用简的单的液晶LCD1602显示屏。5)电压放 大电路DAC0832的输 出电压比较 小。因此,要将该 电压信号在示波 器中显示出 来,需要 有一个放大器将 此电信 号放大到 所需范 围之内。由于放大 电路的增益是 可调的,故运 用运算放 大电 路能将电压 信号放大到所 要求的 范围。2.3 系统软件设计方案如果硬件是整个的设计的基础,那软的件就是整个的设计的灵魂的所在,它可以的使仪器的的主要功能得以实现。的而在
17、软件设计方法中,的结构化设计的是使用最广泛的,的用模块化设计的的思想进行程序设计。的根据这一的原则和毕业设计任务书的要求,的本设计的软件主要包括:的波形产生子程序,的键盘处理子程序,的LCD显示子程序几大部分。的各程序以模块形式,的独立成章,的运行过程中可以调用执行,的整个波形发生器的的软件流程图的如图2.2的所示。 1)键盘处理子程序的键盘处理子程序的主要是采用中断系统的方式的进行按键的扫描,的判断按键是否按下。的通过延时子程序对按键的的抖动进行消除。的2)波形产生子程序的主要是通过调用单片机内的方波子程序,同时通过程序对DAC0832芯片的地址进行设定,从而进行数模转换产生波形的。3)LC
18、D显示子程序的显示子程序的任务的是将测量结果送显示的器显示,的通过对LCD显示的子程序的编译、的链接、调试等操作实现对的所测得的的物体质量进行显示,的它是人的机对话的组成部分之的一。3波形发生器硬件设计3.1 D/A转换器D/A转换器输入的的是数字量,的经转换器输出的是模拟量。的转换过程是先将MCS-51的送到D/A转换器的的二进制数的每一位,的按它的权的大小量转换的为与之对应的模拟分量,之后再用叠法将各个模拟分量进行相加,所相加的和就可以称之为D/A转换的结果的。D/A的的转换器的输出形式有两种的,的的一种是电压输出形式的,的的即给D/A转换器输入的是数字量的,的而输出为电压的。的另一种是的
19、电流输出形式的的,即输出为电流的的。在实际应用中的,的对于电流输出的D/A转换器的,的如需要模拟电压输出的的,可在其输出端加一的个由运算放大器构成的的的IV的的转换电路的,的将电流输出转换的为电压输出的的。由于的D/A的转换时需要一定时间的的,在这段时间内的D/A的转换器输入端的数字的量应保持稳定的,为此应当在的D/A的转换器的的数字输入端前面设置锁存器的,以提供数据锁存功能的。根据转换器芯片内是否带的有锁存器的,可以把DAC的分为内部无锁存器的的和内部有锁存器的的两类4。3.1.1 D/A转换器的主要技术指标1)的分辨率当输入的数字信的号发生单位数码变化的,即最低位产生的一次变化的,所对应的
20、输出的模拟量的变化量即为分辨率的。在实际应用中的,更常用的方法是用输入的的数字量的位数来表示分的辨率的。如8位二进制的的D/A的转换器的,的常简称为分辨率为8位。2)的精度如果不考虑的D/A的的转换误差,的D/A转换的精度为的其分辨率的大小的。因此,的要获得一定的精度的的D/A的转换结果,的首要的条件是选择有足够分辨率的的D/A的转换器。当然的D/A的转换的精度不仅与D/A的转换器的本身有的关,也于外的电路以及电源的有关。的影响转换精度的主要误差因素有失调误差、的增益误差、的非线性误差和微分非线性误差等的。3)的建立时间建立时间是描述的D/A的转换器转换快慢的的一个参数,的用于表明转换速度,的
21、其值为从输入数字量到输出达到终值误差的(1/2)的LSB的(最低有效位)的时所需的时间的。输出形式为电流的转换时间较短的,而输出形式为电压的转换器的,由于要加上的IV的转换的运算放大器的延迟时间的,因此建立时间要长一些的。快速的D/A转换器的建立时间可达的1的秒以下的。3.1.2 DAC0832转换器DAC0832的由8的位输入寄存器的、8位的DAC的寄存器、的8位的D/A转换器及逻辑控制单元等的功能部件所组成的。其中的,的8位的D/A的转换器是核的心部件,它的的内部采用了的256的级的倒R的2R电阻译码网络技术的,由电流开的关电路控的制基的准电压的VREF,数模转换由提供电阻网络的电流来进行
22、的,所以说转换的速度是比较快的的。这里的2级寄存器是可以用来提高数模转换器工作的速度的,之所以这样说,是因为8位的DAC的寄存器工作在输出状态的时候的,8位的输入寄存器可的接收新的的数据。的DAC0832的采用的R-2RT的型电阻译码网络的,是由锁存器的和D/A的转换电路和控制转换电路组成的。图3.1为的DAC0832的内部结构。的1脚的作用是给输入寄存器挑选合适的信号的,在低电平下有效的。2的脚的作用是给输入寄存器写选通信号的,在低电平下有效。的17脚为数据传送控制信号的,在低电平下有效的。18的脚为DAC的寄存器的写选通信号,在低电平下有效。19脚为输入锁存允许信号,在高电平下有效。的DI
23、0DI7的为8的位数字输入端,DI0的为最低端,DI7的是最高端。11的脚为DAC的电流输出端1,它所输出的是当数字输入端的逻辑电平为1时,各位输出电流的和的,的DAC的寄存器的内容是随着输入端代码的线性变化而变化,DAC的寄存器所展示的内容都是的1时的Iout1最大,全为的0时Iout1的最小的。12脚是电流输出端的2,Iout2的数值取决于常数减去的Iout1的结果,即的Iout1+Iout2=常数。这个常数所对应的是一个固定的基准电压的满的量程下的电流的。8的脚是基准电源输的入端的。Vref的一般在的-1010V范围内的,由外电路的提供。20的脚是逻辑电源输入端的,取值范围为的+5+15
24、V,的+15V最佳的。3的脚是模拟地的,为芯片的模拟电路接地点的。10的脚是数字地,是这个芯片数字电路的接地点的。Rfb的为回馈电阻,制作在的芯片内部,给的DAC提供输出电压,以及运放的回馈电阻的。在使用时的,假设环境电磁干扰不是很严重的时候,模拟地就可以跟数字地进行连接的。不然的话就应当分别再走线,在保护地点汇合的,一点接地的。图3.1 DAC0832内部结构 (1)数字输入端具有双重缓冲功能的,可以双缓冲、单缓冲或直通数字输入。(2)与所有通用微理器可直接接口的。(3)满足TTL电平规范的逻辑输入的。(4)分辨率为8位,满刻度误差的1LSB,建立时间为1s,功耗的20mW。(5)电压输出型
25、的D/A转换器。3.2 单片机的选择现在市场上单片机种类非常多的,功能也多种多样的。通过比较和分析的,采用的51系列单片机的中的STC89C51的单片机的,这种单片机的功能强大的,可以满足设计者的的需求。3.2.1 单片机及其外围电路的设计作为本系统的核心组件的,选择哪一型号的的MCS-51的系列单片机是关键的的问题。的8031单片机片内不带程序内存的ROM,使用时需要外部接入程序内存以及一片逻辑电路芯片的74LS373,外接的程序内存大多数是EPROM中的2764的系列。用户如果想修改已经写入到的EPROM的中的程序,就必须得先将内存照射擦除,通常用的方法是用一种比较特殊的紫外线灯的,之后再
26、的可写入。这样一来,已经写进的外接程序内存里的的程序以及代码的保密性就非常低的。8051的单片机片内有的4KROM的,无须外接内存和的74LS373的,更加能够体现“的单片”这一词的简练的。但是编的程序无法烧写到其的ROM的中,只有将的程序交芯片厂代的为改写,的并是一次性的的,的今后都不能改写其内容的。8751的单片机与8051的单片机基本一样,但的8751单片机片内有的4K的的EPROM,用户能够将自己所编写的的程序写进单片机的的EPROM中,从而进行现场的实验与应用,当然,EPROM的改写同样也需要用类似于8051的擦除方法进行擦除,然后再捎写的。89C51的单片机为的EPROM型的,在实
27、际电路中的可以直接互换的8051单片机或的8751单片机,的不但和8051的单片机指令的,管脚完全兼容的,而且其片内的的4K程序内存是的FLASH工艺的的。 89C51的是由北京集成电路中心的(BIDC)的设计,由美国公的司生产八位的单片机的。它是一种低功耗高性能的具有的8K字节可电气烧录及可擦除的程序的ROM的八位的CMOS单片机。该器件是用高密度的、非易丢失的存储技术制造的并且与国际的工业标准的80C51单片的机指令系统和的引脚完全兼容5。图3.2 89C51管脚图综上所述的,从使用方的便与简的化电路以及的其性价比的等角度的来考虑的,89C51的比较合适的的。本系统采用的CPU为89C51
28、的的单片微机,的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:地址锁存信号的输
29、出端;PSEN:的内部和外部程序的内存选择线的。CPU的可包括运算部件的,控制器的,程序状态字的,的B寄存器的,累加器的Acc(或A)的,位处理器等。运算部件由算术逻辑单元的、累加器的、暂存寄存器的、标志寄存器的、十进制调整单元组成的。它的功能是的进行算术和逻辑运算的。它不但对的8位变量进行逻辑的:“与”、“或”的、“异或”、循环、取补的、清零等基本操作的,还可以进行算术的加的、减、乘的、除操作的。功能很强的位操作是一般微型计算机标准的ALU所不具备的的,它可以对位变量进行置位的、清零、求补的、测试转移及逻辑“与”,“或”的等操作。对半字节的(4位)和双字节的(16位)类型数据也可进行操作的。
30、ACC的为累加寄存器。的但是,对累加器操的作指令中累加器的助记简写为的A。MCS-51的指令系统中大部分的单操作指令的操作数取自累加器的A,双操作数指令的的一个操作数取自累加器的A。B的寄存器用于除法和乘法操作的。除法指令中的,被除数取自的A,除数取自的B,商数存放在的A中而余数存放在的B中。乘法指令的两个的操作数分别取的A和B,其积则存放在的AB寄存器对中的。对于其它指令的,B寄存器作为的缓存器使用的。程序存贮器的用于存放编好的的程序表格和常数的。程序状态字寄存器的PSW是一个的8位的寄存器的,它包含的了程序状态信息的。的PSW用于指示指令寄存状态供的程序查询和判别之用的。PSW的寄存器具有
31、位元元组地址的和位地址的,即每一的个标志位都有一的个地址,的可方便地对其中某一的位进行操作的。STC89C51RC的是采用的8051核的的ISP(的In System Programming的)在系统可编程芯片的,最高工作的时钟频率是的80MHz,片内含的8K Bytes的的可反复擦写的1000次的的Flash只读程序存储器的,器件兼容标准的MCS-51指令系统及的80C51引脚结构,芯片内集成了通用的8位中央处理器和的ISP Flash存储单元,的具有在系统可编程的(ISP)的特性,配合着电脑端的控制程序就能够将用户的程序代码下载到单片机里面去,这样的话,就不用购买通用编程器了,的而且速度会
32、更加快。的STC89C51RC的系列单片机是单时钟/机器周期的(1T)的的兼容的8051 内核单片机,的是高速/ 低功耗的新一代的8051 单片机,的全新的流水线/精简指令集结构,的内部集成的MAX810的专用复位电路6。图3.3. STC89C51单片机内部机构框图 3.2.2 复位电路复位是单片的机的初始化操作的,只要给的RESET的引脚加上的2个机器周期以上的高电平信号的,就可以使得单片机复位的。复位的主要功能是把的PC初始化为的0000H使得单片机从的0000H单元开始执行程序的。除了进入系的统的正王常初始化以外的,当由程序运行的出错或操作错误使的系统处于死的锁状态,为摆脱死的锁状态,
33、的也需按复位键重的新启动。的此外,复位操作对寄的存器也有影响。本次设计的采用按钮电平复的位方式。其电路如的图的3.4所示。复位后,的P0到P3并行的I/O口全为高电平,的其它寄存器全部清零,的只有的SBUF寄存器状态不确定的。图3.4上电按钮复位电路89C51(RST)复位电路的工作原理在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2uS就可以实现,那这个过程是如何实现的呢?在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。开机的时候为什么会复位:在电路图中,电容的的大
34、小是10uF,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10k*10uF=0.1S。也就是说在单片机启动的0.1S内,电容两端的电压时在03.5V增加。这个时候10k电阻两端的电压为从51.5V减少(串联电路各处电压之和为总电压)。所以在0.1S内,RST引脚所接收到的电压是5V1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。按键按下的时候为什么
35、会复位:在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10k电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位7。3.2.3 时钟电路MCS-51的单片机本身就是一的个复杂的同步时序电路的,为了保证同步工作方式的的实现,的MCS-51单片机应
36、在唯的一的时钟信号控制下的,严格的按时序执行指令的进行工作,而时序所的研究的是指令执行中各个信的号的关系。时钟的是单片机的心的脏,单片机中每个功能部的件正常运行的基准都是时钟频的率,在这个基准下,单片机很有规律且有规则地工作着。因此,时钟频的率的大小直接决定着单片机工作速度的快慢,时钟电路质量的好坏也就直接决定了单片机系统稳定性的强弱。常用的内部时钟的电路如的图的3.5所示。图3.5内部时钟方式MCS-51的单片机的内部有的一个高的增益反相放大器,它的作用是用来构成振荡器的,其输入端为的芯片引脚的XTAL1,输出端为的芯片引脚的XTAL2。这两个引的脚跨接石英晶体振荡的器和微调电容,的就构成一
37、的个稳定的自激振荡器的。外部时钟电路是的使用外部振荡脉冲的信号,常用于的MCS-51单片机同时工作的,以便于同步的。当使用内振荡器的时,的XTAL1和的XTAL2引脚还能为的应用系统中的其它芯片的提供时钟,但的需要加驱动能力,因的此本次设计采用内部时钟的电路。3.2.4 键盘输入电路设计键盘在的单片机应用系统中能实现向的单片机输入数据的、传送命令等功能的,是人工干预单片机的主要手段的。在键闭合测试的,检查是否有键闭的合去抖动。当测试到有键闭的合后,需进行的去抖动处理的。由于按键闭合时的的机械弹性作用的,按键闭合时不会的马上稳定接通,按键断的开时也不会马上断开的,由此在按键闭合与断的开的瞬间,的
38、会出现电压抖动。的键盘抖动的时间一般为的510mS,的抖动现象会引起的CPU对一的次键操作进行多次处理,的从而可能产生错误,的因而必须设法消除抖动的不良后果。的通过去抖动处理,的可以得到按键闭合与断开的稳定状态。的去抖动的方法有硬件与软件两种:的硬件方法是加去抖动电路,的如可通过RS触发器实现硬件去抖动;的软件方法是在第一次检测到键盘按下后,的执行一段10mS的延迟子程序后再确认该键是否确实按下,的躲过抖动,的待信号稳定之后,的再进行键扫描。的通常多采用软件方法。按照键盘与单片机的的连接方式可分为独立式的键盘与矩阵式键盘的。独立式键盘相互独立,的每个按键占用一根的I/O口线,的每根的I/O口在
39、线的按键工的作状态不会影响其它按的键的工作状态。这种按键软件程序简单的,的但占用的I/O口线较多的(一根口线只能接的一个键),适用于键盘应用数量较少的系统中的,由于本系统设置的的按键较少,的因此采用的是独立式键盘8。的其键盘接口如图3.6所示,开关作为分别为:K1:控制输出波形形状。K2:增加信号频率K3:减少信号频率K4:调节频率步进值3.3 显示电路的设计因为液晶显示的器功耗较小的、体积较小的、显示内容丰富的、轻巧超薄等许多优点的,所以其在在袖珍式仪表和功的耗较微的应用系统中受到了许多人的青睐的。在本设计采用的字符型的液晶模块是一种通过的5x7的点阵图形来显示数字和图像的液晶显示器的,根据
40、显示的不同容量可以将其分为的1行的16个字、的2行的16个字、的2行20个字等等,的这里以常用的的2行16个字的的1602液晶模块来介绍它的编程方法。的1602采用的是标准16脚接口,的其中:第3脚:的VEE是液晶显示器的对比度调整端;第4脚:的RS是寄存器选择,的高电平时选择数据寄存器、的低电平时选择指令的寄存器;第5脚:的RW是读写信号线,的高电平时候进行读操作,的低电平时候进行写操作。当的RS和的RW共同处于低电平时候,就可以写的入指令或显示地址的,当的RS是低电平而RW是高电平时可以读忙信号的,当的RS是高电平而的RW是低电平时可以写入数据的;第的6脚:的E端为使能端,当的E端从高电平
41、跳变成为低电平之时的,液晶模块执行的命令;第的714脚:的D0D7为8位双向数据线; 第的1516脚:的空脚。液晶显示模块是的一个慢显示器件,的因此执行每条指令的前期工作就是的一定得确认模块的忙标志显示低电平,的表示不忙,的否则这条指令失效。如若要显示字符,就必需得要先输入显示字符的地址,的也就是说告诉模块要在哪里显示字符,的表3.1是的DM-162的的内部显示地址。表3.1 1602的内部显示地址12345678910111213141516序号000102030405060708090A0B0C0D0E0F第一行404142434445464748494A4B4C4D4E4F第二行1602
42、的液晶的模块内的部的字的符发的生存储的器的(CGROM)已经存的储了的160个的不同的的点的阵的字符的图形,这些字符有:的阿的拉伯的数字、的英文的字母的的大小的写、的常用的的的符号、的和日文的假的名等,的每一个的字符都有的一个固的定的的代码。的在软件中设置温度的代码是:的30.0(B,的B,的B,的B,的B);的37.0(B,的B,的B,的B,的B);60(B,的B,的B)。在液显电路连接上,的LCD1602的显示模块可以直接和单片机的STC的STC89C51直接接口,的液晶显示的的D0D7的八个双向端口接的STC89C51单片机的P0口的的P0.0P0.7,单片机的的P0口可以作为通用的输入
43、,的输出端口使用,的此时,的若要驱动的NMOS或其他拉电的流负载时,的需外接上拉电阻,才能使该位高的电平有效,的所以中间接的10k的排阻,的来决定显示的器高低点位,的是否要显示。由于的VEE端接电源时接的正电源时对比度最弱,的接地电源时对比度最高,的对比度过高时会产生的“鬼影”,的对比度过低会使屏幕模糊的不清,所以使用时可以通过的一个的10k的电位器来调整它的对比度。的LCD1602的的RS的寄存器选择端口接单片机的的P2.5口,通过软件程序中的对此端口的设置来的决定选择的的寄存器。的液显的RW端口直的接接单片机的的P2.6口,的高电平时进行对的输入的数字信号进行的读数。使能的E端接单片机的的
44、P2.7口,使能端由高电平的到低电平时开执行命令,把读数显示出来的。图3.7 LCD显示电路原理图3.4放大电路的设计LM358的是双运放集成电路,的它采用8脚双列直插塑料封袋,的外形如上图所示。的它的内部包含两组形式完的全相同的运算放大器,除电源共的用外,两组运放相的互独立。每一组运算的放大器可用图中所示的的符号来表示,它有的5个引出脚,其中的“+”、的“-”为两个信的号输入端,“V+”、“V-”为正、的负电源端,的“OUT”为输出端。的两个信号输入端中,的“-”为反相输入端,的表示运放输出端的OUT的信号与该输入端的为相反的;“+”的为同相输入端,的表示运放输出端的OUT的信号与输入端的相
45、位相同。的由于的LM358双运放电的路具有电源电压范围的宽,静态功的耗小,可单电源的使用,价格低廉等的优点,因此被广泛应用的在各种电路中。DAC0832(VREF)输出波形放大电路如图3.9所示。图3.9的放大电路图3.11 第二级放大电路在放大电路的设计中,运用LM358芯片,利用其功能将DAC0832所输出的电压进行两级放大。VREFUi+图3.10 第一级放大电路波形输出UiLM358芯片中的两级放大电路分别如图3.10和图3.11所示,根据设计要求,设计第一级放大器放大倍数为2,第二级放大倍数为39。基于单片机的波形发生器电原理图见附录A。4波形发生器软件设计4.1主程序流程图图4.1
46、为波形产生的主程序流程图。通过对四个按键状态的判断,从而执行相对应的指令,进而完成每个部分程序所对应的功能。4.1.1方波产生设计方波产生流程图如图4.2所示,是当的A中的内容为的0时,输出对应模拟量,的然后延时,当的A中的内容为的0FFH时,同样输出对应模拟量,的再延时,的从而得到方波。方波产生的子程序如下: uchar 的code juxing64=的255,255,255,255,255,255,255,255,255,255,255,255,的255,255,255,255,的255,255,255,255,255,255,的255,255,255,255,的255,255,255,2
47、55,255,的255,0,0,0,0,0,0,0,0,的0,0,0,0,0,0,0,0,0,0,0,0,的0,0,0,0,0,0,0,0,0,0,0,0;4.1.2 三角波产生设计三角波的产生流程图如图4.3所示,在方波发生的电路中,的当滞回比较器的阈值的电压数值较小时,的可将电容两端的电压看成为近似三角波。的但是,的一方面这个的三角波的线性度较差,另的一方面带负载后将使电路的的性能产生变化。的实际上,的只要将方波电压作为积分运算的电路的输入,的在积分运算电路的输出的就得到三角波电压。三角波产生通过的A中数值的加一递升,当的A中的内容加到为的0时,的A中的内容减一递减,的从而循环产生三角波。
48、的三角波产生子程序如下:uchar code的sanjiao64=0,8,16,24,32,40,48,56,64,72,80,88,96,104,112,120,128,136,144,152,160,168,176,184,192,200,208,216,224,232,240,248,248,240,232,224,216,208,200,192,184,176,168,160,152,144,136,128,120,112,104,96,88,80,72,64,56,48,40,32,24,16,8,0;4.1.3 正弦波产生设计同理,的只要将三角波电压作为积的分运算电路的欢输入,的在
49、积分运算电路的输出就的得到正弦波电压,的如图4.4所示。正弦波波形设计的通过查表指令得出。的其产生子程序如下:的uchar code sin64=的135,145,158,167,176,188,199,209,218,226,234,240,245,249,252,254,254,253,251,247,243,237,230,222,213,204,193,182,170,158,146,133,121,108,96,84,72,61,50,41,32,24,17,11,7,3,1,0,0,2,5,9,14,20,28,36,45,55,66,78,90,102,114,12;4.2 幅值
50、及频率的控制波形的幅值的通过改变电阻的的阻值来改变幅值,的本设计采用的3296电位器做可的变电阻,的即把中间的管脚和任何的一端的管脚短路连接就的可以接成两个的管脚的可变电阻的。的从而通过改变的3296的阻值进行幅值的的调节。通过按键对的频率进行控制,的系统通过中的断程序判断是否的有键被按下。的如图4.5所示,当系统发现K1键被按下时,的方波的频率增加1HZ,的积分后的波形随之增加的;的当系统发现K2键被按下时,的方波的频率降低1HZ,的积分后的波形随之减小。的如果连续的按键,的则波形的频率发生的连续的变化。5 电路仿真及系统调试5.1设计仿真演示在确定的编程思路并将各部的分的程序及各的子程序编
51、好,就可以对的本文所设计的硬的件电路和系统软件进行的总体测试了。的本文调试软件采用的是的Keil51,的它是众多单片机应的用开发软件中的优秀软件之一,的界面友好,的易写易操作。的程序在的Keil51软件中调试完毕后,的会自动生成.hex文件,再通过编程器下载到的STC89C51中,然后直接加载到的protues软件电路中进行仿真,的即可得到测试结果10。当按键的1拨下时,波形为锯齿波,的同时指示灯的1发光。仿真图如图的5.1所示。图5.1 锯齿波的产生仿真图当按键的2拨下时,波形为的三角波,同时指示灯的2发光。仿真图如图的5.2所示。图5.2 三角波的产生仿真图当按键的3拨下时,波形为正弦波,
52、的同时指示灯的3发光。仿真图如图的5.3所示。图5.3正弦波的产生仿真图当按键的4拨下时,波行为方波,的同时指示灯的4发光。仿真图如图的5.4所示。图5.4 矩形波的产生仿真图5.2系统调试本节就波形发生器的设计中遇到的故障和调试方面出现的问题作一概要的叙述。本毕业设计的调试分硬件调试和软件调试两大部分,并且还要进行具体的联调过程。本毕业设计的调试过程经过以下几个步骤:1)先将各个模块单独运行,便于调试,这也正是模块化程序设计的优点之一。2)合各个模块成一个完整的程序并运行调试。3)硬件调试。4)系统联调。5.2.1 硬件调试硬件调试过程中容易出现的故障主要有两个:1)线路错误在实际焊硬件电路
53、的过程中遇到了这样的情况。譬如,在焊完放大电路的那一部分后,进行调试时出现输入电压可调而输出电压不变的情况,按照硬件电路图拿万用表检查后发现电路板中电阻外面的线接错了,是由于焊接时一个电阻的两端焊在一条线上造成的;再如,由于芯片的管脚繁多,数错了管脚的位置,同时错误还包括逻辑出错、开路、短路、多线粘连等等。2)元器件失效在调试D/A转换时,没注意将DAC0832芯片安装方向颠倒,开电源后,芯片特别热,有一股烧焦的味道,之后DAC0832不工作,即已失效。其他芯片倒无大碍。5.2.2 软件调试软件的设计利用汇编语言完成。单片机的使用有利于提高仪器仪表的精度和准确度,简化结构,减小体积而易于携带和
54、使用,加速仪器仪表向数字化,智能化,多功能化方向发展。其中指令常以英文名或缩写形式作为助记符,以助记符形式表示的指令是汇编语言。指令的分类有:数据传送类、算术操作类、逻辑运算、控制转移类和位操作类等。编程设计中的主要类型有:中断系统、定时计数器、D/A和A/D的转换、键盘、显示器等。软件程序在编制时采用的是模块式编程,所以可以拿单个子程序,对电路板进行小部分的联调。先是数模转换电路的调试,利用以上所示程序,protues仿真软件,显示数据比较准确,显示的数据与计算的理想数据相差不大,误差较小。5.2.3 波形发生器的系统联调波形发生器的联调过程是复杂而且易出现错误的。单片机系统一个突出特点就是
55、硬件软件联系很紧密,整体化很强,因此联调一般都要采用微机开发装置。在联调中还必须对设计所要求的全部功能进行测试和评价,以确定系统是否符合预定的性能指标,若发现某一功能或指标达不到要求,则应变动硬件或修改软件,重新调试直至满意为止。经验表明,研制系统的周期同总体设计是否合理,硬件芯片选择是否得当,程序结构的好坏以及开发工具是否完善等因素密切相关。在单片机开发的整个过程中,软件的编制以及调试往往占系统开发周期的50%以上,因此,程序应该采用结构化和模块化方法编程,这对查错误与否十分方便。当电路、程序分别调试合格后,就要对它们进行联合调试。调试中可能会遇到各种问题,若属于硬件故障,应修改硬件电路的设计;若属于软件问题,应修改相应程序;若属系统问题,则应对软件、硬件同时给予修改,如此往返,直至其结果和显示都基本正常。6结束语经过了几个月来,老师的耐心指导和自己的努力,终于完成了波形发生器的设计,总结几个月以来的工作,主要有以下几个方面:1)通过查阅大量资料使得自己对波形发生器的研究现状、原理、工作方式等的基本概念和技术发展有了更好的理解2)针对本次设计的任务和要求,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度云南省高校教师资格证之高等教育心理学综合练习试卷A卷附答案
- 2024年度云南省高校教师资格证之高等教育心理学高分通关题库A4可打印版
- 低空经济公司运营管理方案
- 赣南师范大学《工作室个性化课程》2021-2022学年第一学期期末试卷
- 阜阳师范大学《证券投资学》2022-2023学年第一学期期末试卷
- 阜阳师范大学《幼儿园》2022-2023学年第一学期期末试卷
- 阜阳师范大学《图形创意》2022-2023学年第一学期期末试卷
- 阜阳师范大学《合唱指挥二》2021-2022学年第一学期期末试卷
- 苏教版小学科学二年级下册全册教案教学设计(新教材)
- 人教版九年级体育教案全集
- 微机原理与单片机接口技术课后题答案详解余发山杨凌霄主编资料
- 浅谈压减三金的施工企业中的重要性
- 浅谈俄罗斯美术之发展
- 建筑电气部分常用电线管规格及穿线管径选择表
- SolidWorks蜗杆参数方程式驱动建模
- 河北省建设工程材料设备推广、限制使用和淘汰产品目录(2010年版)
- 完美版用友U8数据字典(包含列定义)
- 护理文书质控 ppt课件
- 机械制图基础知识完整版
- (医学PPT课件)ERCP中的操作技巧
- 处方管理办法试题及答案
评论
0/150
提交评论