基于单片机的波形发生器设计说明.doc

上传人:知****量 文档编号:43075499 上传时间:2022-09-16 格式:DOC 页数:30 大小:1.38MB
返回 下载 相关 举报
基于单片机的波形发生器设计说明.doc_第1页
第1页 / 共30页
基于单片机的波形发生器设计说明.doc_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《基于单片机的波形发生器设计说明.doc》由会员分享,可在线阅读,更多相关《基于单片机的波形发生器设计说明.doc(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 . . . . 基于单片机的波形发生器设计许启动(陕理工物理与电信工程学院电子信息科学与技术专业1203班, 723001)指导教师:宋卫星摘要本设计采用一块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 723000,Shaanxi)Tutor: SongWeixingAbstract:This article by design of system is using STC89C

3、51 single tablets 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 (L

4、M358), and press 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

5、 frequency signal 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 converter26 / 30目 录1引 言11.1 选题目的与研究意义11.2 波形发生器的发展现状11.3 波形发生器的发展趋势11.4 本设计初步思路12系统总体方案设计22.1 概述22.2 系统硬件设计方案22.3 系统软件设计方案33波形发生器硬件设计

6、43.1 D/A转换器43.1.1 D/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

7、致 15参考文献16附录A 基于单片机的波形发生器电原理图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转换芯片DAC0832共同实现正弦波,方波,三角波,这三种常见波形的发生,并且可以接收外接键盘输入而在一定围改变频率1。波形信号发生器构成原理如图1.1所示。2系统总体方案设计2.1 概述本设

12、计是利用STC 89C51单片机和数模转换器件DAC0832产生所需正弦波、三角波、方波电压波形。其信号幅度和频率都是可以按要求控制的。文中简要介绍了DAC 0832数模转换器的结构原理和使用方法,STC89C51的基础理论,以与与设计电路有关的各种芯片。根据对毕业设计的要求,文中着重介绍了如何利用单片机控制D/A转换器产生上述信号的硬件电路和软件编程。信号频率幅度也按要求可调。产生正弦波、方波、三角波的方案有多种,如首先产生正弦波,然后通过整形电路将正弦波变换成方波,再由积分电路将方波变成三角波;也可以首先产生三角波与方波,再将三角波变成正弦波或将方波变成正弦波等等。本课题采用先产生方波与三

13、角波,再将三角波变换成正弦波的电路设计方法2。由比较器和积分器组成方波与三角波产生电路,比较器输出的方波经积分器得到三角波,三角波到正弦波的变换电路主要由积分电路来完成。积分电路具有工作点稳定,输入阻抗高,抗干扰能力较强等优点。特别是当采用直流放大器时,可以有效地抑制零点漂移,因此可将频率很低的三角波变换成正弦波。波形变换的原理是利用差分放大器传输特性曲线的非线性。通过键盘可以进行频率的调节,对频率能够进行增大和减小的设置。本设计以方波为核心积分出不同的波形,波形采用同步输出的方式,用示波器有选择的分别进行显示。2.2 系统硬件设计方案 系统的硬件结构框图如图2.1所示,主要分为几个部分:单片

14、机、波形产生电路、键盘电路、LED显示电路、滤波电路。1)单片机单片机作为一个接收、处理、输出信号的仪器装置,将单片机与LCD显示连接成一个有机的整体。其主要是完成数据处理,并通过与之有关的软件来实现软件的编程使显示值与称重值对应。因此,此部分是整个设计最重要的组成部分。2)复位电路89C51的复位输入引脚RST(即RESET)为89C51提供了初始化的手段。有了它可以使程序从指定处开始执行,即从程序存储器中的0000H地址单元开始执行程序。在89C51工作后,只要在RST引脚上出现两个机器周期以上的高电平时,单片机部则初始复位。只要RST保持高电平,则89C51循环复位。只有当RST由高电平

15、变成低电平以后,89C51才从0000H地址开始执行程序3。3)数模转换电路由于模拟量更容易通过仪器进行观察,所以通过数模转换电路可以将数字量转化为模拟量。本设计采用DAC0832数模转换器,更精确的进行数模转换。4)LCD显示电路本设计中,波形的显示是采用简单的液晶LCD1602显示屏。5)电压放大电路DAC0832的输出电压比较小。因此,要将该电压信号在示波器中显示出来,需要有一个放大器将此电信号放大到所需围之。由于放大电路的增益是可调的,故运用运算放大电路能将电压信号放大到所要求的围。2.3 系统软件设计方案如果硬件是整个设计的基础,那软件就是整个设计的灵魂所在,它可以使仪器的主要功能得

16、以实现。而在软件设计方法中,结构化设计是使用最广泛的,用模块化设计的思想进行程序设计。根据这一原则和毕业设计任务书的要求,本设计的软件主要包括:波形产生子程序,键盘处理子程序,LCD显示子程序几大部分。各程序以模块形式,独立成章,运行过程中可以调用执行,整个波形发生器的软件流程图如图2.2所示。 1)键盘处理子程序键盘处理子程序主要是采用中断系统的方式进行按键的扫描,判断按键是否按下。通过延时子程序对按键的抖动进行消除。2)波形产生子程序主要是通过调用单片机的方波子程序,同时通过程序对DAC0832芯片的地址进行设定,从而进行数模转换产生波形。3)LCD显示子程序显示子程序的任务是将测量结果送

17、显示器显示,通过对LCD显示子程序的编译、调试等操作实现对所测得的物体质量进行显示,它是人机对话的组成部分之一。3波形发生器硬件设计3.1 D/A转换器D/A转换器输入的是数字量,经转换器输出的是模拟量。转换过程是先将MCS-51送到D/A转换器的二进制数的每一位,按它的权的大小量转换为与之对应的模拟分量,之后再用叠法将各个模拟分量进行相加,所相加的和就可以称之为D/A转换的结果。D/A转换器的输出形式有两种,一种是电压输出形式,即给D/A转换器输入的是数字量,而输出为电压。另一种是电流输出形式,即输出为电流。在实际应用中,对于电流输出的D/A转换器,如需要模拟电压输出,可在其输出端加一个由运

18、算放大器构成的IV转换电路,将电流输出转换为电压输出。由于D/A转换时需要一定时间的,在这段时间D/A转换器输入端的数字量应保持稳定,为此应当在D/A转换器的数字输入端前面设置锁存器,以提供数据锁存功能。根据转换器芯片是否带有锁存器,可以把DAC分为部无锁存器的和部有锁存器的两类4。3.1.1 D/A转换器的主要技术指标1)分辨率当输入的数字信号发生单位数码变化,即最低位产生一次变化,所对应的输出模拟量的变化量即为分辨率。在实际应用中,更常用的方法是用输入的数字量的位数来表示分辨率。如8位二进制的D/A转换器,常简称为分辨率为8位。2)精度如果不考虑D/A的转换误差,D/A转换的精度为其分辨率

19、的大小。因此,要获得一定的精度的D/A转换结果,首要的条件是选择有足够分辨率的D/A转换器。当然D/A转换的精度不仅与D/A转换器的本身有关,也于外电路以与电源有关。影响转换精度的主要误差因素有失调误差、增益误差、非线性误差和微分非线性误差等。3)建立时间建立时间是描述D/A转换器转换快慢的一个参数,用于说明转换速度,其值为从输入数字量到输出达到终值误差(1/2)LSB(最低有效位)时所需的时间。输出形式为电流的转换时间较短,而输出形式为电压的转换器,由于要加上IV转换的运算放大器的延迟时间,因此建立时间要长一些。快速的D/A转换器的建立时间可达1秒以下。3.1.2 DAC0832转换器DAC

20、0832由8位输入寄存器、8位DAC寄存器、8位D/A转换器与逻辑控制单元等功能部件所组成。其中,8位D/A转换器是核心部件,它的部采用了256级的倒R2R电阻译码网络技术,由电流开关电路控制基准电压VREF,数模转换由提供电阻网络的电流来进行,所以说转换的速度是比较快的。这里的2级寄存器是可以用来提高数模转换器工作的速度,之所以这样说,是因为8位DAC寄存器工作在输出状态的时候,8位输入寄存器可接收新的数据。DAC0832采用R-2RT型电阻译码网络,是由锁存器和D/A转换电路和控制转换电路组成。图3.1为DAC0832部结构。1脚的作用是给输入寄存器挑选适宜的信号,在低电平下有效。2脚的作

21、用是给输入寄存器写选通信号,在低电平下有效。17脚为数据传送控制信号,在低电平下有效。18脚为DAC寄存器的写选通信号,在低电平下有效。19脚为输入锁存允许信号,在高电平下有效。DI0DI7为8位数字输入端,DI0为最低端,DI7是最高端。11脚为DAC电流输出端1,它所输出的是当数字输入端的逻辑电平为1时,各位输出电流的和,DAC寄存器的容是随着输入端代码的线性变化而变化,DAC寄存器所展示的容都是1时Iout1最大,全为0时Iout1最小。12脚是电流输出端2,Iout2的数值取决于常数减去Iout1的结果,即Iout1+Iout2=常数。这个常数所对应的是一个固定的基准电压的满量程下的电

22、流。8脚是基准电源输入端。Vref一般在-1010V围,由外电路提供。20脚是逻辑电源输入端,取值围为+5+15V,+15V最正确。3脚是模拟地,为芯片模拟电路接地点。10脚是数字地,是这个芯片数字电路的接地点。Rfb为回馈电阻,制作在芯片部,给DAC提供输出电压,以与运放的回馈电阻。在使用时,假设环境电磁干扰不是很严重的时候,模拟地就可以跟数字地进行连接。不然的话就应当分别再走线,在保护地点汇合,一点接地。图3.1 DAC0832内部结构(1)数字输入端具有双重缓冲功能,可以双缓冲、单缓冲或直通数字输入。(2)与所有通用微理器可直接接口。(3)满足TTL电平规的逻辑输入。(4)分辨率为8位,

23、满刻度误差1LSB,建立时间为1s,功耗20mW。(5)电压输出型D/A转换器。3.2 单片机的选择现在市场上单片机种类非常多,功能也多种多样。通过比较和分析,采用51系列单片机中的STC89C51单片机,这种单片机功能强大,可以满足设计者的需求。3.2.1 单片机与其外围电路的设计作为本系统的核心组件,选择哪一型号的MCS-51系列单片机是关键的问题。8031单片机片不带程序存ROM,使用时需要外部接入程序存以与一片逻辑电路芯片74LS373,外接的程序存大多数是EPROM中的2764系列。用户如果想修改已经写入到EPROM中的程序,就必须得先将存照射擦除,通常用的方法是用一种比较特殊的紫外

24、线灯,之后再可写入。这样一来,已经写进外接程序存里的程序以与代码的性就非常低。8051单片机片有4KROM,无须外接存和74LS373,更加能够表达“单片”这一词的简练。但是编的程序无法烧写到其ROM中,只有将程序交芯片厂代为改写,并是一次性的,今后都不能改写其容。8751单片机与8051单片机基本一样,但8751单片机片有4K的EPROM,用户能够将自己所编写的程序写进单片机的EPROM中,从而进行现场的实验与应用,当然,EPROM的改写同样也需要用类似于8051的擦除方法进行擦除,然后再捎写。89C51单片机为EPROM型,在实际电路中可以直接互换8051单片机或8751单片机,不但和80

25、51单片机指令,管脚完全兼容,而且其片的4K程序存是FLASH工艺的。 89C51是由集成电路中心(BIDC)设计,由美国公司生产八位单片机。它是一种低功耗高性能的具有8K字节可电气烧录与可擦除的程序ROM的八位CMOS单片机。该器件是用高密度、非易丢失存储技术制造并且与国际工业标准80C51单片机指令系统和引脚完全兼容5。图3.2 89C51管脚图综上所述,从使用方便与简化电路以与其性价比等角度来考虑,89C51比较适宜的。本系统采用CPU为89C51的单片微机,89C51本身带有4K的存储器,其管脚如图3.2所示。下面介绍89C51的主要管脚功能如下:VCC(40):电源+5V;VSS(2

26、0):接地;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),位处理器等。运算部件由算术逻辑单元、累加器、暂存寄存器、标志寄存器、十进制调整

27、单元组成。它的功能是进行算术和逻辑运算。它不但对8位变量进行逻辑:“与”、“或”、“异或”、循环、取补、清零等基本操作,还可以进行算术的加、减、乘、除操作。功能很强的位操作是一般微型计算机标准ALU所不具备的,它可以对位变量进行置位、清零、求补、测试转移与逻辑“与”,“或”等操作。对半字节(4位)和双字节(16位)类型数据也可进行操作。ACC为累加寄存器。但是,对累加器操作指令中累加器的助记简写为A。MCS-51指令系统部分单操作指令的操作数取自累加器A,双操作数指令的一个操作数取自累加器A。B寄存器用于除法和乘法操作。除法指令中,被除数取自A,除数取自B,商数存放在A中而余数存放在B中。乘法

28、指令的两个操作数分别取A和B,其积则存放在AB寄存器对中。对于其它指令,B寄存器作为缓存器使用。程序存贮器用于存放编好的程序表格和常数。程序状态字寄存器PSW是一个8位的寄存器,它包含了程序状态信息。PSW用于指示指令寄存状态供程序查询和判别之用。PSW寄存器具有位元元组地址和位地址,即每一个标志位都有一个地址,可方便地对其中某一位进行操作。STC89C51RC是采用8051核的ISP(In System Programming)在系统可编程芯片,最高工作的时钟频率是80MHz,片含8K Bytes的可反复擦写1000次的Flash只读程序存储器,器件兼容标准MCS-51指令系统与80C51引

29、脚结构,芯片集成了通用8位中央处理器和ISP Flash存储单元,具有在系统可编程(ISP)特性,配合着电脑端的控制程序就能够将用户的程序代码下载到单片机里面去,这样的话,就不用购买通用编程器了,而且速度会更加快。STC89C51RC系列单片机是单时钟/机器周期(1T)的兼容8051 核单片机,是高速/ 低功耗的新一代8051 单片机,全新的流水线/精简指令集结构,部集成MAX810专用复位电路6。图3.3. STC89C51单片机内部机构框图3.2.2 复位电路复位是单片机的初始化操作,只要给RESET引脚加上2个机器周期以上的高电平信号,就可以使得单片机复位。复位的主要功能是把PC初始化为

30、0000H使得单片机从0000H单元开始执行程序。除了进入系统的正常初始化以外,当由程序运行出错或操作错误使系统处于死锁状态,为摆脱死锁状态,也需按复位键重新启动。此外,复位操作对寄存器也有影响。本次设计采用按钮电平复位方式。其电路如图3.4所示。复位后,P0到P3并行I/O口全为高电平,其它寄存器全部清零,只有SBUF寄存器状态不确定。图3.4上电按钮复位电路89C51(RST)复位电路的工作原理在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2uS就可以实现,那这个过程是如何实现的呢?在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,

31、系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。开机的时候为什么会复位:在电路图中,电容的的大小是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的电压信号为高电平信号。所

32、以在开机0.1S,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。按键按下的时候为什么会复位:在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10k电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位7。3.2.3 时钟电路M

33、CS-51单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,MCS-51单片机应在唯一的时钟信号控制下,严格的按时序执行指令进行工作,而时序所研究的是指令执行中各个信号的关系。时钟是单片机的心脏,单片机中每个功能部件正常运行的基准都是时钟频率,在这个基准下,单片机很有规律且有规则地工作着。因此,时钟频率的大小直接决定着单片机工作速度的快慢,时钟电路质量的好坏也就直接决定了单片机系统稳定性的强弱。常用的部时钟电路如图3.5所示。图3.5内部时钟方式MCS-51单片机的部有一个高增益反相放大器,它的作用是用来构成振荡器,其输入端为芯片引脚XTAL1,输出端为芯片引脚XTAL2。这两

34、个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。外部时钟电路是使用外部振荡脉冲信号,常用于MCS-51单片机同时工作,以便于同步。当使用振荡器时,XTAL1和XTAL2引脚还能为应用系统中的其它芯片提供时钟,但需要加驱动能力,因此本次设计采用部时钟电路。3.2.4 键盘输入电路设计键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人工干预单片机的主要手段。在键闭合测试,检查是否有键闭合去抖动。当测试到有键闭合后,需进行去抖动处理。由于按键闭合时的机械弹性作用,按键闭合时不会马上稳定接通,按键断开时也不会马上断开,由此在按键闭合与断开的瞬间,会出现电压抖动。键盘抖动

35、的时间一般为510mS,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误,因而必须设法消除抖动的不良后果。通过去抖动处理,可以得到按键闭合与断开的稳定状态。去抖动的方法有硬件与软件两种:硬件方法是加去抖动电路,如可通过RS触发器实现硬件去抖动;软件方法是在第一次检测到键盘按下后,执行一段10mS的延迟子程序后再确认该键是否确实按下,躲过抖动,待信号稳定之后,再进行键扫描。通常多采用软件方法。按照键盘与单片机的连接方式可分为独立式键盘与矩阵式键盘。独立式键盘相互独立,每个按键占用一根I/O口线,每根I/O口在线的按键工作状态不会影响其它按键的工作状态。这种按键软件程序简单,但占用I

36、/O口线较多(一根口线只能接一个键),适用于键盘应用数量较少的系统中,由于本系统设置的按键较少,因此采用的是独立式键盘8。其键盘接口如图3.6所示,开关作为分别为:K1:控制输出波形形状。K2:增加信号频率K3:减少信号频率K4:调节频率步进值3.3 显示电路的设计因为液晶显示器功耗较小、体积较小、显示容丰富、轻巧超薄等许多优点,所以其在在袖珍式仪表和功耗较微的应用系统中受到了许多人的青睐。在本设计采用的字符型液晶模块是一种通过5x7点阵图形来显示数字和图像的液晶显示器,根据显示的不同容量可以将其分为1行16个字、2行16个字、2行20个字等等,这里以常用的2行16个字的1602液晶模块来介绍

37、它的编程方法。1602采用的是标准16脚接口,其中:第3脚:VEE是液晶显示器的对比度调整端;第4脚:RS是寄存器选择,高电平时选择数据寄存器、低电平时选择指令的寄存器;第5脚:RW是读写信号线,高电平时候进行读操作,低电平时候进行写操作。当RS和RW共同处于低电平时候,就可以写入指令或显示地址,当RS是低电平而RW是高电平时可以读忙信号,当RS是高电平而RW是低电平时可以写入数据;第6脚:E端为使能端,当E端从高电平跳变成为低电平之时,液晶模块执行命令;第714脚:D0D7为8位双向数据线; 第1516脚:空脚。液晶显示模块是一个慢显示器件,因此执行每条指令的前期工作就是一定得确认模块的忙标

38、志显示低电平,表示不忙,否则这条指令失效。如若要显示字符,就必需得要先输入显示字符的地址,也就是说告诉模块要在哪里显示字符,表3.1是DM-162的部显示地址。表3.1 1602的部显示地址12345678910111213141516序号000102030405060708090A0B0C0D0E0F第一行404142434445464748494A4B4C4D4E4F第二行1602液晶模块部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。在软件中设置温度的代码是:30.0(

39、00110011B,00110000B,00101110B,00110000B,01000011B);37.0(00110011B,00110111B,00101110B,00110000B,01000011B);60(00110110B,00110000B,01000011B)。在液显电路连接上,LCD1602显示模块可以直接和单片机STC89C51直接接口,液晶显示的D0D7八个双向端口接STC89C51单片机的P0口的P0.0P0.7,单片机的P0口可以作为通用的输入,输出端口使用,此时,若要驱动NMOS或其他拉电流负载时,需外接上拉电阻,才能使该位高电平有效,所以中间接10k的排阻,来

40、决定显示器高低点位,是否要显示。由于VEE端接电源时接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,对比度过低会使屏幕模糊不清,所以使用时可以通过一个10k的电位器来调整它的对比度。LCD1602的RS寄存器选择端口接单片机的P2.5口,通过软件程序中对此端口的设置来决定选择的寄存器。液显的RW端口直接接单片机的P2.6口,高电平时进行对输入的数字信号进行读数。使能E端接单片机的P2.7口,使能端由高电平到低电平时开执行命令,把读数显示出来的。图3.7 LCD显示电路原理图3.4放大电路的设计LM358是双运放集成电路,它采用8脚双列直插塑料封袋,外形如上图所示。它的部

41、包含两组形式完全相同的运算放大器,除电源共用外,两组运放相互独立。每一组运算放大器可用图中所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“OUT”为输出端。两个信号输入端中,“-”为反相输入端,表示运放输出端OUT的信号与该输入端的为相反;“+”为同相输入端,表示运放输出端OUT的信号与输入端的相位相同。由于LM358双运放电路具有电源电压围宽,静态功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路中。DAC0832(VREF)输出波形放大电路如图3.9所示。图3.9的放大电路图3.11 第二级放大电路在放大电路的设计中,运

42、用LM358芯片,利用其功能将DAC0832所输出的电压进行两级放大。VREFUi+图3.10 第一级放大电路波形输出UiLM358芯片中的两级放大电路分别如图3.10和图3.11所示,根据设计要求,设计第一级放大器放大倍数为2,第二级放大倍数为39。基于单片机的波形发生器电原理图见附录A。4波形发生器软件设计4.1主程序流程图图4.1为波形产生的主程序流程图。通过对四个按键状态的判断,从而执行相对应的指令,进而完成每个部分程序所对应的功能。4.1.1方波产生设计方波产生流程图如图4.2所示,是当A中的容为0时,输出对应模拟量,然后延时,当A中的容为0FFH时,同样输出对应模拟量,再延时,从而

43、得到方波。方波产生子程序如下: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,255,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所示,在方波发生电路中,当滞回比较器的阈值电压数值较小时,可将电容两端的电压看成为近似三角波

44、。但是,一方面这个三角波的线性度较差,另一方面带负载后将使电路的性能产生变化。实际上,只要将方波电压作为积分运算电路的输入,在积分运算电路的输出就得到三角波电压。三角波产生通过A中数值的加一递升,当A中的容加到为0时,A中的容减一递减,从而循环产生三角波。三角波产生子程序如下:uchar codesanjiao64=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,

45、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 正弦波产生设计同理,只要将三角波电压作为积分运算电路的输入,在积分运算电路的输出就得到正弦波电压,如图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,18

46、2,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 幅值与频率的控制波形的幅值通过改变电阻的阻值来改变幅值,本设计采用3296电位器做可变电阻,即把中间的管脚和任何一端的管脚短路连接就可以接成两个管脚的可变电阻。从而通过改变3296的阻值进行幅值的调节。通过按键对频率进行控制,系统通过中断程序判断是否有键被按下。如图4.5所示,当系统发现K1键被按下时,方波的频率增加1HZ,积分后的波形随之增加;当系统发现K2键被按下时,方波的频率降低1HZ,积分后的波形随之减小。如果连续的按键,则波形的频率发生连续的变化。5 电路仿真与系统调试5.1设计仿真演示在确定编程思路并将各部分的程序与各子程序编好,就可以对本文所设计的硬件电路和系统软件进行总体测试了。本文调试软件采用的是Keil51,它是众多单片机应用开发软件中优秀软件之一,界面友好,易写易操作。程序在Keil51软件中调试完毕后,会自动生成.hex文件,再通过编程器下载到STC89C5

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁