课程设计基于单片机之波形发生器的设计.doc_第1页
课程设计基于单片机之波形发生器的设计.doc_第2页
课程设计基于单片机之波形发生器的设计.doc_第3页
课程设计基于单片机之波形发生器的设计.doc_第4页
课程设计基于单片机之波形发生器的设计.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录 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.1 课题背景 波形发生器是一种广泛应用于电子电路、自动控制和科学试验等领域的信 号源。比如电参量的测量、雷达、通信、电子对抗与电子系统、宇航和遥控遥 测技术等等,从某种意义上说高质量信号源更是实现高性能指针的关键,很多 现代电子设备和系统的功能都直接依赖于所用信号源的性能,因此高质量信号 源被人们喻为众多电子系统的“心脏”。随着通信、雷达、的不断发展,对信号 源的频率稳定度、频谱纯度、频率范围和输出频率的个数以及信号波形的形状 提出越来越多的要求。为了提高信号源输出频率稳定度,可以采用晶体振荡器 等方法来解决。为了满足频率个数多的要求,可以采用频率合成技术,即通过 对频率进行加、减、乘、除的运算,可从一个高稳定度和高准确度的标准频率 源,产生大量的具有同一稳定度和准确度的不同频率。 传统的波形发生器只能产生一些常规的信号如正弦波、方波、脉冲波、三 角波等。随着科学实验研究的需求的不断发展,传统的波形发生器在一些特定 的场合已经不能满足要求,因为在许多应用研究领域中,不但需要一些规则的信 号,而且还需要一些不规则的信号用于系统特性的研究。如电镀电源对于镀层影 响、电子设备的性能指针测试、及对系统中各种瞬变波形和电子设备中出现的 各种干扰的模拟等研究中,就需要能提供一些非常规的测试信号以至于任意波 形信号的信号源,即能产生现场所需要波形的任意波形发生器(Arbitrarry WaveformGenerator,AWG)。 对任意波形发生器的研制开发我国起步晚,技术大大落后于国外先进技术。 因此,开发高性价比的任意波形发生器是迫在眉睫,对发展我国电子行业有着 非常重大的意义,具有广泛的应用前景,与国外同类产品保持在性价比上的优 势,可打破国外的技术垄断和封锁。 1.2 波形发生器的发展现状 任意波形发生器是在 1975 年开发成功的,从此,信号发生器产品增加了一 个新品种。在任意波形发生器作为测量用信号激励源进入市场之前,为了产生 非正弦波信号,已使用函数发生器提供三角波、斜波、方波等几种特殊波形。 声音和振动分析需要复杂调制的信号源,以便仿真真实的信号,只有借助任意 2 波形发生器,例如医疗仪器测试往往需要心电波形,任意波形发生器很容易产 生各种非标准的振动信号。 早期的任意波形发生器主要着重音频频段,现在的任意波形发生器已扩展 到射频频段,它与数字示波器(DSO)密切配合,只要数字示波器捕获的信号, 任意波形发生器就能复制出同样的波形。在电路构成上,数字示波器是模拟/数 字转换,任意波形发生器是数字/模拟的逆转换,目前任意波形发生器的带宽达 到 2GHz,足够仿真许多移动通信、卫星电视的复杂信号。任意波形发生器在 原理上可仿真任意波形,只要数字示波器或其它记录仪捕捉到的波形,任意波 形发生器都可复制出,特别有用的是仿真单次偶发的信号,例如地震波形、汽 车碰撞波形等等。 1.3 波形发生器的发展趋势 任意波形发生器的发展趋势是更高取样率,更高分辨率和更大存储量,目 前实时带宽超过 1GHz 的产品比较少,而且分辨率只有 8 位,不能满足快速发 展的移动通信和高速网络的测量要求。与数字存储示波器相比,任意波形发生 器的全面指标存在明显差距,前者的取样率达到 20GS/s 和带宽 6GHz,后者的 取样率是 4.8GS/s 和带宽 2GHz。任意波形发生器首先要赶上数字存储示波器, 然后再往前发展,因为在电路构成方面,任意波形发生器的核心部件是高速数/ 模转换器,它的工艺潜力还很大,显然缺少的是市场需求。 1.4 本文研究的主要内容 波形发生器采用单片机技术,通过软件设计和硬件电路,产生数字式的正 弦波、方波、三角波幅值可调的信号。信号频率,可通过键盘输入,并显示。 要求产生的数字信号干扰小,输出稳定,可靠性高,设计要求:(1)能产生正 弦波、方波、三角波 3 种周期性波形。(2)用键盘输入可生成正弦波的基波 及各次谐波单独的波形,也可生成基波和各次谐波线形组合的波形。(3)输出 波形的频率可以通过键盘输入进行粗调。(4)输出波形幅度范围可通过可变电 阻任意调整。(5)具有显示输出波形类型、及其粗调频率和幅度的功能。 3 2 系统总体方案设计 2.1 概述 波形发生器一般是指能自动产生正弦波、三角波、方波电压波形的电路或 仪器。根据用途不同,有产生三种或多种波形的函数发生器,使用的器件可以 是分立器件(如低频信号函数发生器 S101 全部采用晶体管),也可以采用集成电 路(如单片函数发生器模块 8038)。为进一步掌握电路的基本理论及实验调试技 术,本课题采用由 51 单片机算与 DAC0832 共同组成的方波三角波正弦波 函数发生器的设计方法。 本文介绍的是利用 AT89C51 单片机和数模转换器件 DAC0832 产生所需不 同信号的低频信号源,其信号幅度和频率都是可以按要求控制的。文中简要介 绍了 DAC0832 数模转换器的结构原理和使用方法,AT89C51 的基础理论,以 及与设计电路有关的各种芯片。根据对毕业设计的要求,文中着重介绍了如何 利用单片机控制 D/A 转换器产生上述信号的硬件电路和软件编程。信号频率幅 度也按要求可调。 产生正弦波、方波、三角波的方案有多种,如首先产生正弦波,然后通过 整形电路将正弦波变换成方波,再由积分电路将方波变成三角波;也可以首先 产生三角波方波,再将三角波变成正弦波或将方波变成正弦波等等。本课题 采用先产生方波三角波,再将三角波变换成正弦波的电路设计方法。 由比较器和积分器组成方波三角波产生电路,比较器输出的方波经积分 器得到三角波,三角波到正弦波的变换电路主要由积分电路来完成。积分电路 具有工作点稳定,输入阻抗高,抗干扰能力较强等优点。特别是当采用直流放 大器时,可以有效地抑制零点漂移,因此可将频率很低的三角波变换成正弦波。 波形变换的原理是利用差分放大器传输特性曲线的非线性。 通过键盘可以进行频率的调节,对频率能够进行增大和减小的设置。本设 计以方波为核心积分出不同的波形,波形采用同步输出的方式,用示波器有选 择的分别进行显示。 4 2.2 系统硬件设计方案 图 2.1 系统结构框图 图 2.1 所示为系统的硬件结构框图,主要分为几个部分:单片机、波形产 生电路、键盘电路、LED 显示电路、积分电路。 1. 电压放大电路 DAC0832 的输出电压比较小。因此,要将该电压信号在示波器中显示出来, 需要有一个放大器将此电信号放大到所需范围之内。由于放大电路的增益是可 调的,故运用运算放大电路能将电压信号放大到所要求的范围。 2. 数模转换电路 由于模拟量更容易通过仪器进行观察,所以通过数模转换电路可以将数字 量转化为模拟量。本设计采用 DAC0832 数模转换器,更精确的进行数模转换。 3. 单片机 单片机作为一个接收、处理、输出信号的仪器装置,将单片机与 LED 显示 连接成一个有机的整体。其主要是完成数据处理,并通过与之有关的软件来实 现软件的编程使显示值与称重值对应。因此,此部分是整个设计最重要的组成 部分。 4. LED 显示电路 根据本次设计的要求,需要使波形的频率通过 LED 进行显示。如果波形频 率在设定范围内,则通过 4 位 LED 来进行显示。 5. 复位电路 89C51 的复位输入引脚 RST(即 RESET)为 89C51 提供了初始化的手段。 有了它可以使程序从指定处开始执行,即从程序存储器中的 0000H 地址单元开 单 片 机 74HC595LED DAC0832LM741 复位电路 键盘积分电路 5 始执行程序。在 89C51 工作后,只要在 RST 引脚上出现两个机器周期以上的高 电平时,单片机内部则初始复位。只要 RST 保持高电平,则 89C51 循环复位。 只有当 RST 由高电平变成低电平以后,89C51 才从 0000H 地址开始执行程序。 2.3 系统软件设计方案 如果硬件是整个设计的基础,那软件就是整个设计的灵魂所在,它可以使 仪器的主要功能得以实现。而在软件设计方法中,结构化设计是使用最广泛的, 用模块化设计的思想进行程序设计。根据这一原则和毕业设计任务书的要求, 本课题的软件主要包括:波形产生子程序,键盘处理子程序,LED 显示子程序 几大部分。各程序以模块形式,独立成章,运行过程中可以调用执行,整个波 形发生器的软件流程图如图 2.3 所示。 开始 初始化 波形产生子程序 键盘处理子程序 LED 显示子程序 结束 图 2.2 软件原理流程框图 1. 键盘处理子程序 键盘处理子程序主要是采用中断系统的方式进行按键的扫描,判断按键是 否按下。通过延时子程序对按键的抖动进行消除。 2. 波形产生子程序 主要是通过调用单片机内的方波子程序,同时通过程序对 DAC0832 芯片 的地址进行设定,从而进行数模转换产生波形。 3. LED 显示子程序 6 显示子程序的任务是将测量结果送显示器显示,通过对 LED 显示子程序的 编译、链接、调试等操作实现对所测得的物体质量进行显示,它是人机对话 的组成部分之一。 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 位 7 数据总线使用,也可作普通 I/O 口;P1 口(1-8):准双向通用 I/O 口;P2 口 (21-28):既可作高 8 位地址总线,也可作普通 I/O 口;P3 口(10-17):多 用途埠,既可作普通 I/O 口,也可按每位定义的第二功能操作;RST(9):复 位信号输入端;ALE/PROG:地址锁存信号输出端;PSEN:内部和外部程序内 存选择线。 图 2.3 89C51 管脚图 CPU 可包括运算部件,控制器,程序状态字,B 寄存器,累加器 Acc(或 A) ,位处理器等。 运算部件由算术逻辑单元、累加器、暂存寄存器、标志寄存器、十进制调 整单元组成。它的功能是进行算术和逻辑运算。它不但对 8 位变量进行逻辑: “与”、 “或”、 “异或”、循环、取补、清零等基本操作,还可以进行算术的加、减、 乘、除操作。功能很强的位操作是一般微型计算机标准 ALU 所不具备的,它可 以对位变量进行置位、清零、求补、测试转移及逻辑“与”, “或”等操作。对半字 节(4 位)和双字节(16 位)类型数据也可进行操作。 AT89C51 是一种低功耗,高性能的片内含有 4KB 快闪可编程/擦除只读存 储器(FPEROMFlash Programmable and Erasable Read Only Memory)的 8 位 COMS 微控制器,使用高密度,非易失存储技术制造,并且与 80C51 引脚和指 令系统完全兼容。芯片上的 FPEROM 允许在线编程或采用通用的非易失存储编 程器对内存重复编程。 将具有多种功能的 8 位 CPU 与 FPEROM 结合在一个芯 片上,为很多嵌入式控制应用提供了非常灵活而又便宜的方案,其性能价格比 远高于 8751。由于片内带 EPROM 的 87C51 价格偏高,而片内带 FPEROM 的 89C51 价格低且与 INTEL80C51 兼容,这就显示出了 89C51 的优越性。 AT89C51 是一种带 2K 字节闪烁可编程可擦除只读存储器的单片机。单片机的 可擦除只读存储器可以反复擦除 100 次。该器件采用 ATMEL 高密度非易失内 8 存制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多 功能 8 位 CPU 和闪烁内存组合在单个芯片中,ATMEL 的 AT89C51 是一种高 效微控制器,AT89C51 是它的一种精简版本。AT89C51 机为很多嵌入式控制系 统提供了一种灵活性高且价廉的方案。其内部结构如图 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 C RST MCS-51 单片机 1k +5V 200 图 2.6 按键电平复位电路 9 图 2.5 MCS-51 的片内复位结构 2. 4. 3 时钟电路 MCS-51 单片机本身就是一个复杂的同步时序电路,为了保证同步工作方 式的实现,MCS-51 单片机应在唯一的时钟信号控制下,严格的按时序执行指 令进行工作,而时序所研究的是指令执行中各个信号的关系。时钟是单片机的 心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊地一拍一拍 地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响 单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另 一种是外部时钟方式。其电路如图 2.7 和 2.8 所示。 MCS-51 单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益 反相放大器的输入端为芯片引脚 XTAL1,输出端为芯片引脚 XTAL2。这两个 引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。外部时 钟电路是使用外部振荡脉冲信号,常用于 MCS-51 单片机同时工作,以便于同 步。当使用内振荡器时,XTAL1 和 XTAL2 引脚还能为应用系统中的其它芯片 提供时钟,但需要加驱动能力,因此本次设计采用内部时钟电路。 图 2.8 MCS-51 外部时钟方式的电路 Vss XTAL1 XTAL2 外部 时钟 信号 TTL Vcc MCS-51 单片机 图 2.7 MCS-51 内部时钟方式的电路 XTAL2 XTAL1 至内部时钟电路 晶振 12 MHZ MCS-51 单片机 30PF 30PF 10 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 级的倒 R2R 电阻译码网络,由电流开关电路控制基准电压 VREF, 提供电阻网络的电流来进行 D/A 转换,因此转换速度较快。两级寄存器可以进 一步提高 D/A 转换器的速度,这是因为在 8 位 DAC 寄存器输出的同时,8 位输 入寄存器可以接收新的数据。DAC0832 采用 R-2RT 型电阻译码网络,由二级 缓冲寄存器(实为锁存器)和 D/A 转换电路及转换控制电路组成。 图 3.1 为 DAC0832 内部结构。1 脚为输入寄存器选择信号,低电平有效。 2 脚为输入寄存器写选通信号,低电平有效。17 脚为数据传送控制信号,低电 平有效。18 脚为 DAC 寄存器的写选通信号,低电平有效。19 脚为输入锁存允 许信号,高电平有效。DI0DI7 为 8 位数字输入端,DI0 为最低端,DI7 为最 高端。11 脚为 DAC 电流输出端 1,为数字输入端逻辑电平为 1 的各位输出电 流之和,DAC 寄存器内容随输入端代码线性变化,DAC 寄存器的内容为全 1 11 时 Iout1 最大,全为 0 时 Iout1 最小。12 脚为电流输出端 2,Iout2 等于常数减去 Iout1,即 Iout1+Iout2=常数。此常数对应于一固定基准电压的满量程电流。8 脚 为基准电源输入端。Vref 一般在-1010V 范围内,由外电路提供。20 脚为逻 辑电源输入端,取值范围为+5+15V,+15V 最佳。3 脚为模拟地,为芯片模 拟电路接地点。10 脚为数字地,为芯片数字电路接地点。Rfb 为回馈电阻,制 作在芯片内部,用作 DAC 提供输出电压的运放的回馈电阻。在使用时,如环 境电磁干扰不严重的情况下模拟地可与数字地相连。否则应分别走线,在保护 地点汇合,一点接地。 图 3.1 DAC0832 内部结构 (1)数字输入端具有双重缓冲功能,可以双缓冲、单缓冲或直通数字输入。 (2)与所有通用微处理器可直接接口。 (3)满足 TTL 电平规范的逻辑输入。 (4)分辨率为 8 位,满刻度误差1LSB,建立时间为 1s,功耗 20mW。 (5)电压输出型 D/A 转换器。 3.3 键盘输入电路设计 键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是 人工干预单片机的主要手段。在键闭合测试,检查是否有键闭合去抖动。当测 试到有键闭合后,需进行去抖动处理。由于按键闭合时的机械弹性作用,按键 闭合时不会马上稳定接通,按键断开时也不会马上断开,由此在按键闭合与断 开的瞬间,会出现电压抖动。键盘抖动的时间一般为 510ms,抖动现象会引 起 CPU 对一次键操作进行多次处理,从而可能产生错误,因而必须设法消除抖 12 K1 K2 K3 单 片 机 P2.0 P2.1 P2.2 动的不良后果。通过去抖动处理,可以得到按键闭合与断开的稳定状态。去抖 动的方法有硬件与软件两种:硬件方法是加去抖动电路,如可通过 RS 触发器 实现硬件去抖动;软件方法是在第一次检测到键盘按下后,执行一段 10ms 的 延迟子程序后再确认该键是否确实按下,躲过抖动,待信号稳定之后,再进行 键扫描。通常多采用软件方法。 按照键盘与单片机的连接方式可分为独立式键盘与矩阵式键盘。独立式键 盘相互独立,每个按键占用一根 I/O 口线,每根 I/O 口在线的按键工作状态不 会影响其它按键的工作状态。这种按键软件程序简单,但占用 I/O 口线较多 (一根口线只能接一个键) ,适用于键盘应用数量较少的系统中,由于本系统设 置的按键较少,因此采用的是独立式键盘。其键盘接口如图 3.2 所示。 图 3.2 键盘接口电路 3.4 显示电路的设计 LED 即发光二极管,它是由某些特殊的半导体材料制作成的 PN 结,由于 参杂浓度很高,当流成正比,故电路须串联适当的限流电阻。LED 很适于脉冲 工作状态,在平均电流相同的情况下,脉冲工作比直流工作状态产生的亮度增 强 20%左右。LED 显示器有单个、七段和点阵式等几种类型,本次设计采用七 段式 LED 数码管。图 3.3 为 LED 数码管的结构图。 图 3.3 LED 数码管结构图 13 LED 显示器的发光管分别为 a、b、c、d、e、f、g、dp,通过八个发光段的 不同组合。控制不同组合的二极管导通,就能显示出各种字符。LED 显示器有 共阳极和共阴极两种。本次设中采用共阴极,共阴极 LED 显示器的发光二极管 的阴极连接在一起,通常此公共阴极接地,当某个发光二极管的阳极接正电压 时,发光二极管被点亮,相应的段被显示。正向偏置时,会产生大量的电子 空穴,把多余的能释放变为光能。LED 显示器具有工作电压低、体积小、寿命 长(约十万小时) 、响应速度快(小于 1S) ,颜色丰富等特点,是智能仪器最 常用的显示器。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为复位清零信号(低电平有效),QAQH为数据输出,Q1为向下一芯片 (位)的串行数据输出,0E为数据输出控制信号(低电平有效),74HC595芯片输出 电流最大值为35mA,可以直接驱动数码管,其移位元及锁存信号频率高,最大 14 值为25MHz,这2个脉冲信号都采用上升沿触发。为解决串传输中列数据准备和 列数据显示之间的矛盾我们采用了74HC595 作为列驱动,因为74HC595具有一 个8bit的串入并出的移位寄存器和一个8bit输出锁存器的结构而且为寄存器和输 出锁存器的控制各自独立这使得行数据准备和列数据显示可以同时进行。 74HC595的外形如图3.5所示 图 3.5 74HC595 芯片引脚接内部结构 3.6 运算放大器的设计 集成运算放大器是一种高放大倍数、高输入阻抗、低输出阻抗的直接耦合 多级放大电路,具有两个输入端和一个输出端,可对直流信号和交流信号进行 放大。外接负反馈电路后,输出电压与输入电压的运算关系仅取决于外接UoVi 反馈网络与输入的外接阻抗,而与运算放大器本身无关。本设计采用的是 LM741 运算放大器。图 3.6 为 741 运算放大器的引脚图。 图 3.6 LM741 引脚图 LM741 放大器引脚功能说明: 1、5 为调零端 2 为反相输入端 3 为同相输入端 7 为电源电压正端 4 为电源电压负端 8765 12 34 LM741 LM741 1 2 3 4 5 6 7 15 6 为输出端 LM741 放大器是透过外部的电阻搭配来调整放大的增益比,然而外部电阻 值并非只要增益比相同即可任意给定。如果电阻太小,放大器与电源的负载变 太大,这时可能会产生非线性操作,甚至出现更奇怪的状况;反之,若使用过 大的电阻,电阻的热噪声增加,这时偏压电流造成的直流补偿也会影响输出。 一般而言,741 放大器外部电阻值合理使用范围在 1100之间,大部 分的应用则是在 10100,本测试项目主要就是要了解相同增益的情形 下,各种不同的电阻搭配组合对讯号放大有不同影响,希望能找出最佳的电阻 使用范围,以提供实际应用时。 3.7 系统总原理 图 3.7 系统总电路原理图 16 4 程序设计 4.1 基于单片机的波形发生器的程序设计 图 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 Y Y Y 开始 Key1 按下 Key1 按下 输出三角波 输出方波 输出正弦波 Key2 按下 N N N 17 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 18 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 19 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 20 5 系统仿真与验证 5.1 系统仿真图与波形图 图 5.1 方波仿真图 图 5.2 三角波仿真图 图 5.3 正弦波仿真图 21 先对汇编程序进行编译,生成目标代码文件,然后将目标文件加载到单片机 中.单击运行就是全速运行软件中是Play运行按钮,通过模拟示波

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论