您的当前位置:首页课程设计基于单片机之波形发生器的设计

课程设计基于单片机之波形发生器的设计

2022-08-19 来源:小侦探旅游网
 目 录

1 绪 论 .................................................... 1

1.1 课题背景 .......................................................... 1 1.2 波形发生器的发展现状 .............................................. 1 1.3 波形发生器的发展趋势 .............................................. 2 1.4 本文研究的主要内容 ................................................ 2

2 系统总体方案设计 .......................................... 3

2.1 概述 .............................................................. 3 2.2 系统硬件设计方案 .................................................. 4 2.3 系统软件设计方案 .................................................. 5 2.4单片机的选择 ...................................................... 6

3 功能模块电路设计 ..........................................10

3.1 波形产生电路的设计 ............................................... 10 3.3 键盘输入电路设计 ................................................. 11 3.4 显示电路的设计 ................................................... 12 3.5 显示驱动的设计 ................................................... 13 3.6 运算放大器的设计 ................................................. 14 3.7 系统总原理 ....................................................... 15

4 程序设计 ..................................................16

4.1 基于单片机的波形发生器的程序设计 ................................. 16

5 系统仿真与验证 ............................................20

5.1 系统仿真图与波形图 ............................................... 20

结 论 ......................................................22 致 谢 ......................................................23 参考文献 ....................................................24

1 绪 论

1.1 课题背景

波形发生器是一种广泛应用于电子电路、自动控制和科学试验等领域的信号源。比如电参量的测量、雷达、通信、电子对抗与电子系统、宇航和遥控遥测技术等等,从某种意义上说高质量信号源更是实现高性能指针的关键,很多现代电子设备和系统的功能都直接依赖于所用信号源的性能,因此高质量信号源被人们喻为众多电子系统的“心脏”。随着通信、雷达、的不断发展,对信号源的频率稳定度、频谱纯度、频率范围和输出频率的个数以及信号波形的形状提出越来越多的要求。为了提高信号源输出频率稳定度,可以采用晶体振荡器等方法来解决。为了满足频率个数多的要求,可以采用频率合成技术,即通过对频率进行加、减、乘、除的运算,可从一个高稳定度和高准确度的标准频率源,产生大量的具有同一稳定度和准确度的不同频率。

传统的波形发生器只能产生一些常规的信号如正弦波、方波、脉冲波、三角波等。随着科学实验研究的需求的不断发展,传统的波形发生器在一些特定的场合已经不能满足要求,因为在许多应用研究领域中,不但需要一些规则的信号,而且还需要一些不规则的信号用于系统特性的研究。如电镀电源对于镀层影响、电子设备的性能指针测试、及对系统中各种瞬变波形和电子设备中出现的各种干扰的模拟等研究中,就需要能提供一些非常规的测试信号以至于任意波形信号的信号源,即能产生现场所需要波形的任意波形发生器(Arbitrarry WaveformGenerator,AWG)。

对任意波形发生器的研制开发我国起步晚,技术大大落后于国外先进技术。因此,开发高性价比的任意波形发生器是迫在眉睫,对发展我国电子行业有着非常重大的意义,具有广泛的应用前景,与国外同类产品保持在性价比上的优势,可打破国外的技术垄断和封锁。

1.2 波形发生器的发展现状

任意波形发生器是在1975年开发成功的,从此,信号发生器产品增加了一个新品种。在任意波形发生器作为测量用信号激励源进入市场之前,为了产生非正弦波信号,已使用函数发生器提供三角波、斜波、方波等几种特殊波形。声音和振动分析需要复杂调制的信号源,以便仿真真实的信号,只有借助任意波形发

1

生器,例如医疗仪器测试往往需要心电波形,任意波形发生器很容易产生各种非标准的振动信号。

早期的任意波形发生器主要着重音频频段,现在的任意波形发生器已扩展到射频频段,它与数字示波器(DSO)密切配合,只要数字示波器捕获的信号,任意波形发生器就能复制出同样的波形。在电路构成上,数字示波器是模拟/数字转换,任意波形发生器是数字/模拟的逆转换,目前任意波形发生器的带宽达到2GHz,足够仿真许多移动通信、卫星电视的复杂信号。任意波形发生器在原理上可仿真任意波形,只要数字示波器或其它记录仪捕捉到的波形,任意波形发生器都可复制出,特别有用的是仿真单次偶发的信号,例如地震波形、汽车碰撞波形等等。

1.3 波形发生器的发展趋势

任意波形发生器的发展趋势是更高取样率,更高分辨率和更大存储量,目前实时带宽超过1GHz的产品比较少,而且分辨率只有8位,不能满足快速发展的移动通信和高速网络的测量要求。与数字存储示波器相比,任意波形发生器的全面指标存在明显差距,前者的取样率达到20GS/s和带宽6GHz,后者的取样率是4.8GS/s和带宽2GHz。任意波形发生器首先要赶上数字存储示波器,然后再往前发展,因为在电路构成方面,任意波形发生器的核心部件是高速数/模转换器,它的工艺潜力还很大,显然缺少的是市场需求。

1.4 本文研究的主要内容

波形发生器采用单片机技术,通过软件设计和硬件电路,产生数字式的正弦波、方波、三角波幅值可调的信号。信号频率,可通过键盘输入,并显示。要求产生的数字信号干扰小,输出稳定,可靠性高,设计要求:(1)能产生正弦波、方波、三角波3 种周期性波形。(2)用键盘输入可生成正弦波的基波及各次谐波单独的波形,也可生成基波和各次谐波线形组合的波形。(3)输出波形的频率可以通过键盘输入进行粗调。(4)输出波形幅度范围可通过可变电阻任意调整。(5)具有显示输出波形类型、及其粗调频率和幅度的功能。

2

2 系统总体方案设计

2.1 概述

波形发生器一般是指能自动产生正弦波、三角波、方波电压波形的电路或仪器。根据用途不同,有产生三种或多种波形的函数发生器,使用的器件可以是分立器件(如低频信号函数发生器S101全部采用晶体管),也可以采用集成电路(如单片函数发生器模块8038)。为进一步掌握电路的基本理论及实验调试技术,本课题采用由51单片机算与DAC0832共同组成的方波—三角波—正弦波函数发生器的设计方法。

本文介绍的是利用AT89C51单片机和数模转换器件DAC0832产生所需不同信号的低频信号源,其信号幅度和频率都是可以按要求控制的。文中简要介绍了DAC0832数模转换器的结构原理和使用方法,AT89C51的基础理论,以及与设计电路有关的各种芯片。根据对毕业设计的要求,文中着重介绍了如何利用单片机控制D/A转换器产生上述信号的硬件电路和软件编程。信号频率幅度也按要求可调。

产生正弦波、方波、三角波的方案有多种,如首先产生正弦波,然后通过整形电路将正弦波变换成方波,再由积分电路将方波变成三角波;也可以首先产生三角波—方波,再将三角波变成正弦波或将方波变成正弦波等等。本课题采用先产生方波—三角波,再将三角波变换成正弦波的电路设计方法。

由比较器和积分器组成方波—三角波产生电路,比较器输出的方波经积分器得到三角波,三角波到正弦波的变换电路主要由积分电路来完成。积分电路具有工作点稳定,输入阻抗高,抗干扰能力较强等优点。特别是当采用直流放大器时,可以有效地抑制零点漂移,因此可将频率很低的三角波变换成正弦波。波形变换的原理是利用差分放大器传输特性曲线的非线性。

通过键盘可以进行频率的调节,对频率能够进行增大和减小的设置。本设计以方波为核心积分出不同的波形,波形采用同步输出的方式,用示波器有选择的分别进行显示。

3

2.2 系统硬件设计方案

复位电路 单 片 机 74HC595 LED 键盘 DAC0832 LM741 积分电路 图2.1 系统结构框图

图2.1所示为系统的硬件结构框图,主要分为几个部分:单片机、波形产生电路、键盘电路、LED显示电路、积分电路。

1. 电压放大电路

DAC0832的输出电压比较小。因此,要将该电压信号在示波器中显示出来,需要有一个放大器将此电信号放大到所需范围之内。由于放大电路的增益是可调的,故运用运算放大电路能将电压信号放大到所要求的范围。

2. 数模转换电路

由于模拟量更容易通过仪器进行观察,所以通过数模转换电路可以将数字量转化为模拟量。本设计采用DAC0832数模转换器,更精确的进行数模转换。

3. 单片机

单片机作为一个接收、处理、输出信号的仪器装置,将单片机与LED显示连接成一个有机的整体。其主要是完成数据处理,并通过与之有关的软件来实现软件的编程使显示值与称重值对应。因此,此部分是整个设计最重要的组成部分。

4. LED显示电路

根据本次设计的要求,需要使波形的频率通过LED进行显示。如果波形频率在设定范围内,则通过4位LED来进行显示。

5. 复位电路

89C51的复位输入引脚RST(即RESET)为89C51提供了初始化的手段。有了它可以使程序从指定处开始执行,即从程序存储器中的0000H地址单元开始执行程序。在89C51工作后,只要在RST引脚上出现两个机器周期以上的高电平时,单片机内部则初始复位。只要RST保持高电平,则89C51循环复位。

4

只有当RST由高电平变成低电平以后,89C51才从0000H地址开始执行程序。

2.3 系统软件设计方案

如果硬件是整个设计的基础,那软件就是整个设计的灵魂所在,它可以使仪器的主要功能得以实现。而在软件设计方法中,结构化设计是使用最广泛的,用模块化设计的思想进行程序设计。根据这一原则和毕业设计任务书的要求,本课题的软件主要包括:波形产生子程序,键盘处理子程序,LED显示子程序几大部分。各程序以模块形式,独立成章,运行过程中可以调用执行,整个波形发生器的软件流程图如图2.3所示。

开始 初始化 波形产生子程序 键盘处理子程序 LED显示子程序 结束 图2.2 软件原理流程框图

1. 键盘处理子程序

键盘处理子程序主要是采用中断系统的方式进行按键的扫描,判断按键是否按下。通过延时子程序对按键的抖动进行消除。

2. 波形产生子程序

主要是通过调用单片机内的方波子程序,同时通过程序对DAC0832芯片的地址进行设定,从而进行数模转换产生波形。

3. LED显示子程序

显示子程序的任务是将测量结果送显示器显示,通过对LED显示子程序的编译、链接、调试等操作实现对所测得的物体质量进行显示,它是人—机对话的

5

组成部分之一。

2.4单片机的选择

现在市场上的单片机种类繁多,功能各异。我们通过比较和分析,采用51系列单片机中的AT89C51单片机,该单片机功能强大,满足设计者的需求。

2.4.1 单片机及其外围电路的设计

作为本系统的核心组件,选择哪一型号的MCS-51系列单片机是关键的问题。8031单片机片内不带程序内存ROM,使用时需外接程序内存和一片逻辑电路74LS373,外接的程序内存多为EPROM的2764系列。用户若想对写入到EPROM中的程序进行修改,必须先用一种特殊的紫外线灯将其照射擦除,之后再可写入。写入到外接程序内存的程序代码没什么保密性可言。

8051单片机片内有4KROM,无须外接内存和74LS373,更能体现“单片”的简练。但是编的程序无法烧写到其ROM中,只有将程序交芯片厂代为改写,并是一次性的,今后都不能改写其内容。

8751单片机与8051单片机基本一样,但8751单片机片内有4K的EPROM,用户可以将自己编写的程序写入单片机的EPROM中进行现场实验与应用,EPROM的改写同样需要用紫外线照射一定时间擦除后再捎写。

89C51单片机为EPROM型,在实际电路中可以直接互换8051单片机或8751单片机,不但和8051单片机指令,管脚完全兼容,而且其片内的4K程序内存是FLASH工艺的。

89C51是由北京集成电路中心(BIDC)设计,由美国公司生产八位单片机 。它是一种低功耗高性能的具有8K字节可电气烧录及可擦除的程序ROM的八位CMOS单片机。该器件是用高密度、非易丢失存储技术制造并且与国际工业标准80C51单片机指令系统和引脚完全兼容。

综上所述,从使用方便与简化电路以及其性价比等角度来考虑,89C51比较合适的。本系统采用CPU为89C51的单片微机,89C51本身带有4K的内存储器,其管脚如图2.3所示。下面介绍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口,

6

也可按每位定义的第二功能操作;RST(9):复位信号输入端;ALE/PROG:地址锁存信号输出端;PSEN:内部和外部程序内存选择线。

图2.3 89C51管脚图

CPU可包括运算部件,控制器,程序状态字,B寄存器,累加器Acc(或A),位处理器等。

运算部件由算术逻辑单元、累加器、暂存寄存器、标志寄存器、十进制调整单元组成。它的功能是进行算术和逻辑运算。它不但对8位变量进行逻辑:“与”、“或”、“异或”、循环、取补、清零等基本操作,还可以进行算术的加、减、乘、除操作。功能很强的位操作是一般微型计算机标准ALU所不具备的,它可以对位变量进行置位、清零、求补、测试转移及逻辑“与”,“或”等操作。对半字节(4位)和双字节(16位)类型数据也可进行操作。

AT89C51是一种低功耗,高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的8位COMS微控制器,使用高密度,非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。芯片上的FPEROM允许在线编程或采用通用的非易失存储编程器对内存重复编程。 将具有多种功能的8位CPU与FPEROM结合在一个芯片上,为很多嵌入式控制应用提供了非常灵活而又便宜的方案,其性能价格比远高于8751。由于片内带EPROM的87C51价格偏高,而片内带FPEROM的89C51价格低且与INTEL80C51兼容,这就显示出了89C51的优越性。 AT89C51是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失内存制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁内存组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51是它的一种精简版本。AT89C51机为很多嵌入式控制系统提供了一种灵活性高

7

且价廉的方案。其内部结构如图2.4所示。

图2.4. MCS-51单片机内部机构框图

2.4.2 复位电路

复位是单片机的初始化操作,只要给RESET引脚加上2个机器周期以上的高电平信号,就可以使MCS-51单片机复位。复位的主要功能是把PC初始化为0000H使MCS-51单片机从0000H单元开始执行程序。除了进入系统的正常初始化以外,当由程序运行出错或操作错误使系统处于死锁状态,为摆脱死锁状态,也需按复位键重新启动。此外,复位操作对寄存器也有影响。

MCS-51片内复位结构见图2.5。复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位电路采用上电自动复位和按钮复位两种,本次设计采用按钮电平复位方式。其电路如图2.6所示。

复位后,P0到P3并行I/O口全为高电平,其它寄存器全部清零,只有SBUF寄存器状态不确定。

RST 片内 复位 电阻 斯密特 触发器 复位电路 +5V +5V 200Ω C RST

MCS-51 单片机 1kΩ

图 2.5 MCS-51的片内复位结构

图2.6 按键电平复位电路 8

2. 4. 3 时钟电路

MCS-51单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,MCS-51单片机应在唯一的时钟信号控制下,严格的按时序执行指令进行工作,而时序所研究的是指令执行中各个信号的关系。时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊地一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。其电路如图2.7和2.8所示。

MCS-51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为芯片引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。外部时钟电路是使用外部振荡脉冲信号,常用于MCS-51单片机同时工作,以便于同步。当使用内振荡器时,XTAL1和XTAL2引脚还能为应用系统中的其它芯片提供时钟,但需要加驱动能力,因此本次设计采用内部时钟电路。

30PF 30PF MCS-51单片机 Vcc MCS-51 单片机 XTAL1 晶振 12 MHZ 外部时钟信号 至内部时钟电路 TTL XTAL2

XTAL1 Vss XTAL2 图2.7 MCS-51内部时钟方式的电路 图2.8 MCS-51外部时钟方式的电路 9

3 功能模块电路设计

3.1 波形产生电路的设计

本设计主要是通过AT89C51和DAC0832组成的D/A转换器输出方波,经积分电路后产生波形。并通过键盘进行频率的调节,用4位LED进行频率的显示。

3.1.1 D/A转换器

D/A转换器输入的是数字量,经转换器输出的是模拟量。转换过程是先将MCS-51送到D/A转换器的各位二进制数,按其权的大小转换为相应的模拟分量,然后再以叠法把各模拟分量相加,其和就是D/A转换的结果。

D/A转换器有两种输出形式,一种是电压输出形式,即给D/A转换器输入的是数字量,而输出为电压。另一种是电流输出形式,即输出为电流。在实际应用中,对于电流输出的D/A转换器,如需要模拟电压输出,可在其输出端加一个由运算放大器构成的I-V转换电路,将电流输出转换为电压输出。

3.1.2 DAC0832转换器

DAC0832由8位输入寄存器、8位DAC寄存器、8位D/A转换器及逻辑控制单元等功能部件所组成。其中,8位D/A转换器是核心部件,它的内部采用了256级的倒R—2R电阻译码网络,由电流开关电路控制基准电压VREF,提供电阻网络的电流来进行D/A转换,因此转换速度较快。两级寄存器可以进一步提高D/A转换器的速度,这是因为在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最

10

大,全为0时Iout1最小。12脚为电流输出端2,Iout2等于常数减去Iout1,即Iout1+Iout2=常数。此常数对应于一固定基准电压的满量程电流。8脚为基准电源输入端。Vref一般在-10~10V范围内,由外电路提供。20脚为逻辑电源输入端,取值范围为+5~+15V,+15V最佳。3脚为模拟地,为芯片模拟电路接地点。10脚为数字地,为芯片数字电路接地点。Rfb为回馈电阻,制作在芯片内部,用作DAC提供输出电压的运放的回馈电阻。在使用时,如环境电磁干扰不严重的情况下模拟地可与数字地相连。否则应分别走线,在保护地点汇合,一点接地。

图3.1 DAC0832内部结构

(1)数字输入端具有双重缓冲功能,可以双缓冲、单缓冲或直通数字输入。 (2)与所有通用微处理器可直接接口。 (3)满足TTL电平规范的逻辑输入。

(4)分辨率为8位,满刻度误差±1LSB,建立时间为1μs,功耗20mW。 (5)电压输出型D/A转换器。

3.3 键盘输入电路设计

键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人工干预单片机的主要手段。在键闭合测试,检查是否有键闭合去抖动。当测试到有键闭合后,需进行去抖动处理。由于按键闭合时的机械弹性作用,按键闭合时不会马上稳定接通,按键断开时也不会马上断开,由此在按键闭合与断开的瞬间,会出现电压抖动。键盘抖动的时间一般为5~10ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误,因而必须设法消除抖动的不良后果。通过去抖动处理,可以得到按键闭合与断开的稳定状态。去抖动的方法有硬件与软件两种:硬件方法是加去抖动电路,如可通过RS触发器实现硬件去抖动;软

11

件方法是在第一次检测到键盘按下后,执行一段10ms的延迟子程序后再确认该键是否确实按下,躲过抖动,待信号稳定之后,再进行键扫描。通常多采用软件方法。

按照键盘与单片机的连接方式可分为独立式键盘与矩阵式键盘。独立式键盘相互独立,每个按键占用一根I/O口线,每根I/O口在线的按键工作状态不会影响其它按键的工作状态。这种按键软件程序简单,但占用I/O口线较多(一根口线只能接一个键),适用于键盘应用数量较少的系统中,由于本系统设置的按键较少,因此采用的是独立式键盘。其键盘接口如图3.2所示。

单 片 机 P2.0 P2.1 图3.2 键盘接口电路

K1 K2 K3 3.4 显示电路的设计

LED即发光二极管,它是由某些特殊的半导体材料制作成的PN结,由于参杂浓度很高,当流成正比,故电路须串联适当的限流电阻。LED很适于脉冲工作状态,在平均电流相同的情况下,脉冲工作比直流工作状态产生的亮度增强20%左右。LED显示器有单个、七段和点阵式等几种类型,本次设计采用七段式LED数码管。图3.3为LED数码管的结构图。

图3.3 LED数码管结构图

LED显示器的发光管分别为a、b、c、d、e、f、g、dp,通过八个发光段的不同组合。控制不同组合的二极管导通,就能显示出各种字符。LED显示器有共

12

阳极和共阴极两种。本次设中采用共阴极,共阴极LED显示器的发光二极管的阴极连接在一起,通常此公共阴极接地,当某个发光二极管的阳极接正电压时,发光二极管被点亮,相应的段被显示。正向偏置时,会产生大量的电子—空穴,把多余的能释放变为光能。LED显示器具有工作电压低、体积小、寿命长(约十万小时)、响应速度快(小于1μS),颜色丰富等特点,是智能仪器最常用的显示器。LED的正向工作压降一般在1.2V-2.6V,发光工作电流在5mA -20mA,发光强度基本上与正向电流成正比,故电路须串联适当的限流电阻。共阳极结构如图3.4所示:

图3.4 共阳极结构图

静态显示和动态显示各有利弊。静态显示虽然数据显示稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的电路硬件较多,如果显示的位数比较多,硬件的开销、电源的功耗等问题将变得更加突出;动态显示需要分时显示,需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感。占用的CPU时间较多,但使用的硬件少,可以大幅度地降低硬件成本和电源的功耗,还可以节省线路板空间。但考虑到开销的问题,我们选择静态显示。

3.5 显示驱动的设计

本设计采用74HC595芯片作为显示部分的驱动,其结构如图3.11所示。该芯片为16引脚,芯片内部由数据移位元触发器和j态输出锁存器组成,其中:SER为串行输入数据,SRCUK为移位元时钟脉冲,RCLK为锁存时钟脉冲,SRCLR为复位清零信号(低电平有效),QA~QH为数据输出,Q1为向下一芯片(位)的串行数据输出,0E为数据输出控制信号(低电平有效),74HC595芯片输出电流最大值为35mA,可以直接驱动数码管,其移位元及锁存信号频率高,最大值为25MHz,这2个脉冲信号都采用上升沿触发。为解决串传输中列数据准备和列数据显示之间的矛盾我们采用了74HC595 作为列驱动,因为74HC595具有一个8bit的串入并出的移位寄存器和一个8bit输出锁存器的结构而且为寄存器和输出锁存器的控制

13

各自独立这使得行数据准备和列数据显示可以同时进行。74HC595的外形如图3.5所示

图3.5 74HC595芯片引脚接内部结构

3.6 运算放大器的设计

集成运算放大器是一种高放大倍数、高输入阻抗、低输出阻抗的直接耦合多级放大电路,具有两个输入端和一个输出端,可对直流信号和交流信号进行放大。外接负反馈电路后,输出电压Uo与输入电压Vi的运算关系仅取决于外接反馈网络与输入的外接阻抗,而与运算放大器本身无关。本设计采用的是LM741运算放大器。图3.6为741运算放大器的引脚图。 8 7 6 5 LM741 1 2 3 4 图3.6 LM741引脚图 2 LM741 7 3 1 5 4 6 LM741放大器引脚功能说明: 1、5为调零端 2为反相输入端 3为同相输入端 7为电源电压正端 4为电源电压负端 6为输出端

LM741放大器是透过外部的电阻搭配来调整放大的增益比,然而外部电阻值并非只要增益比相同即可任意给定。如果电阻太小,放大器与电源的负载变太

14

大,这时可能会产生非线性操作,甚至出现更奇怪的状况;反之,若使用过大的电阻,电阻的热噪声增加,这时偏压电流造成的直流补偿也会影响输出。一般而言,741放大器外部电阻值合理使用范围在1~100之间,大部分的应用则是在10~100,本测试项目主要就是要了解相同增益的情形下,各种不同的电阻搭配组合对讯号放大有不同影响,希望能找出最佳的电阻使用范围,以提供实际应用时。

3.7系统总原理

图3.7 系统总电路原理图

15

4 程序设计

4.1 基于单片机的波形发生器的程序设计

开始 N Y Key1按下 输出三角波 N Key2按下 Y 输出方波 N Key1按下 Y 输出正弦波

图4.1 程序设计流程图 参考程序:

ORG 0000H AJMP START ORG 0030H START: CLR P3.6 JNB P3.2,MAIN JNB P3.3,MAIN1 JNB P3.4,MAIN2 JNB P3.5,MAIN3

SJMP START

16

KEYCHECK: JNB P3.2,MAIN JNB P3.3,MAIN1 JNB P3.4,MAIN2 JNB P3.5,MAIN3

RET

MAIN1: MOV DPTR,#7FFFH MOV A,#00H LOOP1:MOVX @DPTR,A INC A NOP

CJNE A,#0FFH,LOOP1 LOOP2:DEC A MOVX @DPTR,A CJNE A,#00H,LOOP2 INC A

LCALL KEYCHECK NOP

AJMP LOOP1 LCALL KEYCHECK LCALL DELAY

LJMP START

MAIN2: MOV DPTR,#7FFFH LOOP4:MOV A,#00H MOVX @DPTR,A LCALL DELAY LCALL KEYCHECK MOV A,#0FEH MOVX @DPTR,A LCALL DELAY

LCALL KEYCHECK

;产生三角波

;产生方波17

LJMP LOOP4

MAIN3:

;产生正弦波

LOOP5:

MOV A,R1

MOV DPTR,#SETTAB MOVC A,@A+DPTR MOV DPTR,#07FFFH MOVX @DPTR,A

LCALL KEYCHECK

INC R1 SJMP LOOP5

SETTAB: DB 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02H DB 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09H DB 0AH, 0BH, 0DH, 0EH, 10H, 11H, 13H, 15H DB 16H, 18H, 1AH, 1CH, 1EH, 20H, 22H, 25H DB 27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 38H DB 3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EH DB 51H, 55H, 57H, 5AH, 5DH, 60H, 63H, 66H DB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80H DB 80H,83H,86H,89H,8DH,90H,93H,96H DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H DB 0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8H DB 0DAH,0DDH,0DFH,0E1H,0E3H, 0E5H,0E7H,0E9H DB 0EAH,0ECH,0EEH,0EFH,0F1H, 0F2H,0F4H,0F5H DB 0F6H,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDH DB 0FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FEH,0FDH DB 0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6H DB 0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAH DB 0E9H,0E7H,0E5H,0E3H,0E1H, 0DEH,0DDH,0DAH

18

DB 0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH,0C7H DB 0C5H,0C2H,0BFH,0BCH,0BAH, 0B7H,0B4H,0B1H DB 0AEH,0ABH,0A8H,0A5H,0A2H, 9FH, 9CH, 99H DB 96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80H DB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69H DB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51H DB 4EH, 4CH, 48H, 45H, 43H, 40H, 3DH, 3AH DB 38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27H DB 25H, 22H, 20H, 1EH, 1CH, 1AH, 18H, 16H DB 15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AH DB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02H DB 02H, 01H, 00H, 00H, 00H, 00H, 00H, 00H DELAY: MOV R5,#1 D1: MOV R6,#1 D2: MOV R7,#5 DJNZ R7,$ DJZZ R6,D2 DJNZ R3,D1 RET END

19

5 系统仿真与验证

5.1 系统仿真图与波形图

图5.1 方波仿真图

图5.2 三角波仿真图

图5.3 正弦波仿真图

20

先对汇编程序进行编译,生成目标代码文件',然后将目标文件加载到单片机中.单击\"运行\"就是\"全速运行\"软件中是\"Play\"运行按钮,通过模拟示波器可以看到以下波形图。

图5.4 方波波形图

图5.5 三角波波形

图5.6 正弦波波形

21

结 论

信号发生器作为一种常见的应用电子仪器设备,传统的一般可以完全由硬件电路搭接而成,我们采用的积分电路发生正弦波、三角波和方波的波形便是可取的路径之一,仅仅依靠单片机。但是这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点。在科学研究和生产实践中,如工业程控,生物医学,地震模拟机械振动等领域常常要用到低频信号源。而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的RC要很大。大电阻,大电容在制作上有困难,参数的精度亦难以保证。体积大,漏电,损耗显著更是其致命的弱点。一旦工作需求功能有增加,则电路复杂程度会大大增加。但利用单片机采用程序设计方法来产生低频信号,其频率底线很低。具有线路相对简单,结构紧凑,价格低廉,频率稳定度高,抗干扰能力强,用途广泛等优点,并且能够对波形进行细微调整,改良波形,使其满足系统的要求。只要对电路稍加修改,调整程序,即可完成功能升级。可以方便的通过K1和K2键来改变波形的频率。但由于波形采用的是同步输出的方式,所以波形的输出无法通过程序进行选择,只能通过示波器机械的选择波形进行输出

22

致 谢

在课程设计期间,经老师的悉心指导和耐心启发,使我得以顺利地完成毕业课题设计。老师渊博的学识,严谨的治学态度,和蔼的为人,忘我工作的奉献精神,使我深受感染。因此,我首先要诚挚的感谢我的指导老师──李剑老师。在此我还要特别感谢我的搭档张文姣同学,在我遇到难点的时候提点我让我茅塞顿开。并且对课程设计提出了宝贵的意见和许多帮助。最后,感谢我的家人在生活上对我的关心和照顾以及对我的学业的莫大支持。感谢所有关心和帮助过我的人。

23

参考文献

[1] 邹虹.单片机波形发生器的设计.重庆邮电学院学报,1996,9(2):23-26 [2] 窦振中.单片机外围器件实用手册[M].北京:北京航空航天大学出版社,2002 [3] 赵晶.Protel 99高级应用[M].北京:人民邮电出版社,2002

[4] 马忠梅,籍顺心,张凯,马岩.单片机的C语言应用程序设计[M].北京:航空航

天大学出版社,2003

[5] 谭浩强.C程序设计[M].北京:清华大学出版社.1999

[6] 王建校,杨建国,宁改娣,危建国.51系列单片机及C51程序设计[M].北京:

北京科学出版社,1997

[7] 雷兆明, 陈曦, 梁淑芬. 基于DDE的FIX与VB数据通讯的实现. 天津:天

津理工学院学报, 2002,7(4):14-18

[8] 陈明英.8051单片机课程设计实训教材[M].北京:清华大学出版社,2002 [9] 路勇.电子电路实验及仿真[M].北京:清华大学出版社,2003 [10] 周跃庆.模拟电子技术基础教程[M].天津:天津大学出版社,2001 [11] 房小翠.单片机使用系统设计技术.[M]北京:国防工业出版社,1999 [12]王宝库.基于单片机、EDA技术的波形发生器的设计.微计算机信

息,2005,21(10):78-82

[13] 何立民.从Cygnal 80C51F看8位单片机发展之路.单片机与嵌入式系统

应用,2002,5(3):42-56

[14] 肖洪兵. 跟我学用单片机[M].北京:北京航空航天大学出版社,2002.8 [15] 夏继强. 单片机实验与实践教程[M].北京:北京航空航天大学出版社, 2006 [16] 林 欣,潘向峰.基于单片机链式网络的抢答计分器.解放军信息工程大学理

学院学报,2006,8(3):114-116

24

因篇幅问题不能全部显示,请点此查看更多更全内容