毕业设计(论文)-基于单片机的函数发生器硬件电路设计.doc_第1页
毕业设计(论文)-基于单片机的函数发生器硬件电路设计.doc_第2页
毕业设计(论文)-基于单片机的函数发生器硬件电路设计.doc_第3页
毕业设计(论文)-基于单片机的函数发生器硬件电路设计.doc_第4页
毕业设计(论文)-基于单片机的函数发生器硬件电路设计.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

函数发生器硬件电路设计 i 函数发生器硬件电路设计 摘 要 信号发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教 学实验等领域。该设计使用的是 89c51 单片机构成的发生器,可产生三角波、方波、 正弦波等多种波形,波形的频率可用程序控制改变。在单片机上加外围器件独立式 键盘,通过键盘控制波形频率的增减以及波形的选择,并用 led 显示频率大小。在 单片机的输出端口接 dac0832 进行 da 转换,再通过运放进行波形调整,最后输出 波形接在示波器上显示。本设计具有线路简单、结构紧凑、价格低廉、性能优越等 优点。 关键词 信号发生器 89c51 单片机 独立式键盘 dac0832 函数发生器硬件电路设计 ii design of hardware circuit of function generator abstract signal-generator is a kind of signal source in common use, broadly applied at the electronic circuit, auto control system and teaching experiment etc. the design is usage of the 89c51 singlechip constitute of wave-form generator, which can generate triangle wave, square wave, sine wave etc,variety wave-form, the frequency of wave can be controlled by procedure. at outer circle spare part of the singlechip , plus independent keyboard, which can control wave increase or decrease of wave-form frequency and the choice of wave- form, at the same time led display frequency size. the output of the singlechip connect dac0832 to carry on a da conversion,again through the operational amplifier to adjust the final output waveform then displayed on the oscilloscope. this design has advantage of simple circuit, tightly packed structure,cheap price, superior function etc. key words signal generator 89c51 single-chip independent keyboard dac0832 目 录 中文摘要i 英文摘要.ii 1 绪论.1 1.1 单片机的发展历程1 1.2 课题背景.3 1.3 主要研究内容.4 2 整体设计思路4 2.1 方案设计与论证.5 2.2 设计简介.6 3 主要芯片简介7 3.1 单片机 89c51.7 3.2 可编程 i/o 芯片 815510 3.3 d/a 转换芯片 dac083213 3.4 运算放大器 lm741.15 3.5 三端稳压管简介.15 4 硬件电路设计17 4.1 单片机控制电路.17 4.1.1 单片机的最小系统17 4.1.2 振荡电路18 4.1.3 复位电路18 4.1.4 89c51 与 8155 的接口电路19 4.1.5 89c51 与 dac0832 的接口电路.21 4.2 幅度控制部分电路22 4.3 显示部分电路.23 4.4 按键电路.24 4.5 电源电路.25 5 软件设计.27 5.1 软件流程图27 5.2 部分子程序27 5.2.1 延时子程序27 5.2.2 频率部分子程序.28 5.2.3 波形数据表29 6 结束语30 致 谢.31 参考文献.32 附 录 1.33 附 录 2.35 函数发生器硬件电路设计 1 1 绪论 1.1 单片机的发展历程 单片机的发展经历了探索完善mcu 化百花齐放四个阶段1。 (1)芯片化探索阶段 20 世纪 70 午代,美国的 fairchild(仙童)公司首先推出了第一款单片机 f8, 随后 intel 公司推出了影响面大、应用更广的 mcs-48 单片机系列。mcs-48 单片机 系列的推出标志着在工业控制领域,进入到智能化嵌入式应用的芯片形态计算机的 探索阶段。参与这一探索阶段的还有 motorola、zilog 和 ti 等大公司,它们都取得 了满意的探索效果,确立了在 scmc 的嵌入式应用中的地位。这就是 single chip microcomputer 的诞生年代,单片机一词即由此而来。这一时期的特点是: 嵌入式计算机系统的芯片集成设计; 少资源、无软件,只保证基本控制功能。 (2)结构体系的完善阶段 在 mcs-48 探索成功的基础上很快推出了完善的、典型的单片机系列 mcs- 5l。mcs-51 系列单片机的推出,标志 single chip microcomputer 体系结构的完善。 它在以下几个方面奠定了典型的通用总线型单片机的体系结构。 完善的总线结构: 并行总线:8 位数据总线、16 位地址总线及相应的控制总线,两个独立的地址 空间; 串行总线:通信总线,扩展总线。 完善的指令系统: 具有很强的位处理功能和逻辑控制功能,以满足工业控制等方面的需要; 功能单元的 sfr(特殊功能寄存器)集中管理。 完善的 mcs-51 成为 scmc 的经典体系结构。 日后,许多电气商在 mcs-51 的内核和体系结构的基础上,生产出各具特色的 单片机。 (3)从 scmc 向 mcu 化过渡阶段 intel 公司推出的 mcs-96 单片机,将一些用于测控系统的模数转换器(adc)、 程序运行监视器(wdt)、脉宽调制器(pwm)、高速 i/o 口纳入片中,体现了单片机 函数发生器硬件电路设计 2 的微控制器特征。mcs-51 单片机系列向各大电气商的广泛扩散,许多电气商竞相 使用 80c51 为核,将许多测控系统中使用的电路技术、接口技术、可靠性技术应用 到单片机中;随着单片机内外围功能电路的增强,强化了智能控制器特征。微控制 器(microcontrollers)成为单片机较为准确表达的名词。其特点是: 满足嵌入式应用要求的外围扩展,如 wdt、pwm、adc、dac、高速 i/0 口等。 众多计算机外围功能集成,如: 提供串行扩展总线:spi、i2c、bus、microwire; 配置现场总线接口:can bus。 cmos 化,提供功耗管理功能。 提供 otp 供应状态,利于大规模和批量生产。 (4)mcu 的百花齐放阶段 单片机发展到这一阶段,表明单片机已成为工业控制领域中普遍采用的智能化 控制工具,小到玩具、家电行业,大到车载、舰船电子系统,遍及计量测试、工业 过程控制、机械电子、金融电子、商用电子、办公自动化、工业机器人、军事和航 空航天等领域。为满足不同的要求,出现了高速、大寻址范围、强运算能力和多机 通信能力的 8 位、16 位、32 位通用型单片机,小型廉价型、外围系统集成的专用型 单片机,以及形形色色各具特色的现代单片机。可以说,单片机的发展进人了百花 齐放的时代,为用户的选择提供了空间。这一时期的特点为: 电气商、半导体商的普遍介入 mcs-48 的成功,刺激了许多半导体公司竞相研制和发展自己的单片机系列。 到目前为止,世界各地厂商已相继研制出大约 50 个系列 300 多个品种的单片机产品, 其中较有代表性的有 motorola 公司的 6801、6802,zilog 公司的 z-8 系列, microchip 公司的 pic 系列等。此外,开本的 nec 公司、日立公司也都推出了各自 具有特色的单片机品种。 大力发展专用单片机 通用型与专用型是按某一型号单片机适用范围区分的。例如,80c51 是通用型 单片机,它并不是为某一种专门用途设计的单片机;而专用型单片机是针对某一类 产品甚至某个产品需要而设计、生产的单片机。例如,来电显示电话中配有液晶驱 函数发生器硬件电路设计 3 动器接口的单片机和全自动洗衣机中的微控制器,都是专用单片机;特别是小家电、 玩具领 域的单片机,因为小封装、价格低廉、外围器件、外设接口集成度高,多数为专用 单片机。 提高综合品质 在体系结构(risc)、电磁兼容性能(emc)、开发环境(高级语言支持 isp、iap 等)、 功耗管理等诸方面得到了提高。根据控制单元设计的方式与采用的技术不同,目前 市场上的这些单片机可区分为两大类型:繁杂指令集结构(cisc 架构)和精简指令集 结构(risc 架构)。繁杂指令集结构(cisc)的特点是指夺数量多,寻址方式丰富,较 适合初学者系统学习,如 intel 的 80c51 或 80c196、mc68k;而精简指令集结构 (risc)具有较少的指令与寻址模式,结构简单,成本较低,执行程序的速度较快, 成为单片机的后起之秀,如 pic、em78xxx 和 z86hcxx。 isp(in system programming)和 iap(in application programming)方式是两种先进 的实时在线开发方式。它们无须传统的开发装置,借助计算机和单片机的高性能, 实现了真正的在线仿真。 c 语言的广泛支持 单片机普遍支持 c 语言编程,为后来者学习和应用单片机提供了方便; 高级语言减少了选型障碍,便于程序的优化、升级和交流。 多种选择下的选择原则 寻求最简化的单片机应用系统; 尽可能选择专用单片机; 综合考虑下进行合理的选择。 1.2 课题背景 信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。 能够产生多种波形, 并且各种波形曲线均可以用三角函数方程式来表示,如三角波、 锯齿波、矩形波(含方波) 、正弦波的电路被称为函数信号发生器。函数信号发生器 在电路实验和设备检测中具有十分广泛的用途。例如在通信、广播、电视系统中, 都需要射频(高频)发射,这里的射频波就是载波,把音频(低频) 、视频信号或脉 冲信号运载出去,就需要能够产生高频的振荡器。在工业、农业、生物医学等领域 函数发生器硬件电路设计 4 内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大 或小、频率或高或低的振荡器。函数信号发生器的实现方法通常有以下几种2: (1)用分立元件组成的函数发生器:通常是单函数发生器且频率不高,其工作不 很稳定,不易调试。 (2)可以由晶体管、运放 ic 等通用器件制作,更多的则是用专门的函数信号发生 器 ic 产生。早期的函数信号发生器 ic,如 l8038、ba205、xr2207/2209 等,它们的功 能较少,精度不高,频率上限只有 300khz,无法产生更高频率的信号,调节方式 也不够灵活,频率和占空比不能独立调节,二者互相影响。 (3)利用单片集成芯片的函数发生器:能产生多种波形,达到较高的频率,且易 于调试。鉴于此,美国马克西姆公司开发了新一代函数信号发生器 icmax038,它克 服了方案二中芯片的缺点,可以达到更高的技术指标,是上述芯片望尘莫及的。 max038 频率高、精度好,因此它被称为高频精密函数信号发生器 ic。在锁相环、压 控振荡器、频率合成器、脉宽调制器等电路的设计上,用的都是 max038 芯片。 (4)利用专用直接数字合成 dds 芯片的函数发生器:能产生任意波形并达到很高 的频率。但成本较高。 目前,长期使用的信号发生器绝大部分都是由模拟电路构成的,这类仪器作为 信号源,频率达百兆赫兹,在高频范围内其频率稳定性与可调性好。而用于低频信 号输出时,其需要 rc 值很大,参数准确度难以保证,而且体积大,损耗也大。目 前,有人研究制造了由数字电路构成的低频信号发生器,其低频性能好,但是体积 较大,价格较贵。本次设计就是利用基本的芯片,通过单片机的控制,实现不同波 形的产生和频率,幅度的调节,解决传统信号发生器体积大,功耗大,价格贵的缺 点。使函数发生器能方便的使用在各个领域。 1.3 主要研究内容 利用 89c51、8155、dac0832 对函数发生器进行设计,使之能产生正弦波、方 波、三角波。波形的类型,幅度,频率利用键盘可以进行选择和调节。其中幅度和 频率的大小能在数码管上进行显示。键盘采用矩阵式接法,接在 89c51 的 p1 口上。 数码管采用 8155 芯片进行驱动。波形的产生和频率,幅度大小均由软件进行控制。 同时还要掌握正弦波、方波、三角波三种波形发生的原理,画出程序流程框图,了 解汇编语言的应用编写相应部分程序。 函数发生器硬件电路设计 5 2 整体设计思路 2.1 方案设计与论证 根据设计需实现的要求,我一共提出了三种设计方案,主要芯片有 89c51,8155,dac0832。89c51 是控制芯片,8155 扩展数码管,dac0832 用来做 数模转换输出波形。 幅度部分的方案介绍如下3: 方案 1:幅度控制部分采用双 d/a 技术,由单片机控制对 dac0832 置数,改变 其输出电流,经电流/电压转换后通过电阻以电流源的形式作为高速乘法型 d/a 转换 器 addac08 的基准电流,由此即可由单片机控制输出波形的幅度。但此种方案不 能准确实现步进 0.1v 的要求,且当基准电平为零时,其输出不一定为零。 方案 2:幅度控制由数控电位器组成的电阻分压网络组成,所用数控电位器的 分档数(31 档) ,组合接法又比较复杂。 方案 3:幅度控制器由 dac0832 控制,利用其内部的电阻分压网络,将其作为 数控电位器使用。将 dac0832 的输出波形作为 dac0832 的基准电压源输入,其输 出波形将为: v=(n/256)vin (2-1) 其中 n 为单片机输入的幅度控制字。通过以简单的电阻分压网络调整运放输出 峰峰值为 0-5v,再送入 dac0832 的单片机控制其幅度实现步进 0.2v 峰-峰值调整。 因此采用此种方案。 频率部分方案介绍如下3: 方案 1:采用传统的频率合成器。这种方法能实现快速率变换,具有低相位噪 声以及所有方法中最高的工作频率。但由于采用大量的倍频、分频、混频和滤波环 节,导致直接频率合成器的结构复杂、体积庞大、成本高,而且容易产生过多的杂 散分量,难以达到较高的频谱纯度。更重要的是,这种方法只能实现正弦波,或者 进而进行积分、微分等方法实现方波、三角波等标准波形,而对于任意波形是无法 实现的。 方案 2:采用锁相环式频率合成器。利用锁相环,将压控振荡器(vco)的输 出频率锁定在所需的频率上。这种频率合成器具有很好的窄带跟踪特性,可以很好 函数发生器硬件电路设计 6 的选择所需频率信号,抑制杂散分量,并且避免了大量的滤波器,有利于集成化和 小型化。但由于锁相环本身是一个惰性环节,锁定时间较长,故频率转换时间较长。 而且,由模拟方法合成的正弦波的参数,如幅度、频率和相位都很难控制。除此之 外,同方案 1 类似,此方案也无法实现任意波形的输出。 方案 3:采用直接数字式频率合成器(direct digital frequency synthesis 简称 dds 或 ddfs) 。用 ram 存储所需波形的量化数据,按照不同频率要求以频率控制 字 k 为步进对相位增量进行累加,以累加相位值作为地址码读取存放在存储器内的 波形数据,经 d/a 转换和幅度控制,即可得所需波形。ddfs 具有相对带宽很宽, 频率转换时间极短(可小于 20ns) ,频率分辨率可以做到很高(典型值为 0.001hz) 等优点;另外,全数字化结构便于集成,输出相位连续,频率、相位和幅度均可实 现程控,而且理论上能够实现任意波形。因此采用此种方案。 波形的产生方式也有很多种,在这次设计中,主要用软件实现正弦波,方波, 三角波的输出。先把数据设置好放在一表中,采用查表的方式实现。 2.2 设计简介 设计的总体框架 5如图 2-1 所示,以单片机为核心,控制 8155 扩展数码管和 dac0832 的波形输出,最后直接输出到示波器。键盘接在单片机上。 扩展 i/o 接口 芯片 8155 6 位数码 管显示 单片机 89c51 键盘 dac0832 dac0832示波器 图 2-1 函数发生器原理框图 根据设计的要求和内容,经过仔细分析,充分考虑各种因素,制定了整体的设 计方案。采用 89c51 作为控制芯片,其中的 p0 口作为数据输出。p2.4,p2.5,p2.7 作为选通信号,分别选通两片 dac0832 和 8155。p2.6 接到两片 dac0832 的 xfer 端,用来控制芯片传送控制信号。显示数码管利用 8155 进行扩展。由于 89c51 的 双向口功能,键盘接在 89c51 的 p1 口上,扩展成 4*4 的键盘。8155 的 pb 口的 8 位用于数码管的段驱动, pc 口的 6 位用于数码管的位驱动。通过双列直插式 8 位 函数发生器硬件电路设计 7 d/a 转换器 dac0832 能完成数字量输入到模拟量(电流)输出的转换。改变输入 dac0832 的数字量可以改变输出的幅度,利用第一片 dac0832 给第二片 dac0832 提供参考电压,第二片主要用来输出产生的波形。电源电路主要是用来提供电路中 所需电压,将 220v 交流转换成电路所需的直流电压大小。软件用汇编语言实现, 波形的输出用查表方式实现。 3 主要芯片简介 根据设计任务书上指定的要求,设计中涉及到的主要芯片选用控制芯片 89c51,可编程 i/o 芯片 8155,8 位 d/a 转换器 dac0832。电源电路由于用到 +12v,-12v,+5v,所选用的三端稳压管为 lm7812,lm7912,lm7805。放大器 采用 lm741。 3.1 单片机 89c51 89c51 是一种带 4k 字节闪烁可编程可擦除只读存储器的低电压,高性能 cmos8 位微处理器,俗称单片机 4。89c51 是一种带 2k 字节闪烁可编程可擦 除只读存储器的单片机可以反复擦除100 次。该器件采用 atmel 高密度非易 失存储器制造技术制造,与工业标准的mcs-51 指令集和输出管脚相兼容。由 于将多功能 8 位 cpu 和闪烁存储器组合在单个芯片中, atmel 的 89c51 是一 种高效微控制器, 89c51 是它的一种精简版本。 89c51 单片机为很多嵌入式控 制系统提供了一种灵活性高且 廉价的方案。 它的内部结构如 图 3-1 所示: 时钟 计数 函数发生器硬件电路设计 8 振荡器 cpu 中断控 制 程序计 数器 pc 程序存 储器 rom 数据存 储器 ram 定时器/计数器 t0 t1 总线扩 展 特殊功能寄存 器 sfr可编程 i/o串行口 外部中断 控制端 p0 p1 p2 p3 串行通信 图 3-1 单片机内部结构框图 89c51 的主要特性: 与 mcs-51 兼容 ;4k 字节可编程闪烁存储器 ;寿 命:1000 写/擦循环;数据保留时间: 10 年;全静态工作: 0hz-24hz;三级程 序存储器锁定 ;128*8 位内部 ram;32 根可编程 i/o 线;两个 16 位定时器/计 数器;5 个中断源;可编程串行通道 ;低功耗的闲置和掉电模式 ;片内振荡器 和时钟电路。 89c51 的引脚图如图 3-2 所示: ea /vp 31 x1 19 x2 18 re set 9 int 0 12 int 1 13 t0 14 t1 15 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 rx d 10 tx d 11 pse n 29 al e/p 30 wr 16 rd 17 p2.0 21 p2.2 23 p2.3 24 p2.4 25 p2.5 26 p2.6 27 p2.7 28 p0.7 32 p0.6 33 p0.5 34 p0.4 35 p0.3 36 p0.2 37 p0.1 38 p0.0 39 p2.1 22 vc c 40 gn d 20 图 3-2 89c51 引脚图 (1)电源引脚 vcc +5v 电源 vss 接地端 (2)外接晶体引脚 xtal1 外接晶振输入端 xtal2 外接晶振输出 端 函数发生器硬件电路设计 9 (3)输入输出引脚 p0.0p0.7 p0 口为一个 8 位漏级开路双向 i/o 口,每脚可吸收 8 个 ttl 门电流。当 p1 口的管脚第一次写 1 时,被定义为高阻输入。 p0 能够用于外部 程序数据存储器,它可以被定义为数据 /地址的低八位。在 fiash 编程时,p0 口作为原码输入口,当 fiash 进行校验时, p0 输出原码,此时 p0 外部必须被 拉高。 p1.0p1.7 p1 口是一个内部提供上拉电阻的 8 位双向 i/o 口,p1 口缓冲 器能接收输出 4 个 ttl 门电流。p1 口管脚写入 1 后,被内部上拉为高,可用作 输入,p1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 在 flash 编程和校验时, p1 口作为低八位地址接收。 p2.0p2.7 p2 口为一个内部上拉电阻的 8 位双向 i/o 口,p2 口缓冲器可 接收,输出 4 个 ttl 门电流,当 p2 口被写“1”时,其管脚被内部上拉电阻拉高, 且作为输入。并因此作为输入时, p2 口的管脚被外部拉低,将输出电流。这是 由于内部上拉的缘故。 p2 口当用于外部程序存储器或 16 位地址外部数据存储 器进行存取时, p2 口输出地址的高八位。在给出地址 “1”时,它利用内部上拉 优势,当对外部八位地址数据存储器进行读写时 ,p2 口输出其特殊功能寄存器 的内容。 p2 口在 flash 编程和校验时接收高八位地址信号和控制信号 。 p3.0p3.7 p3 口管脚是 8 个带内部上拉电阻的双向 i/o 口,可接收输出 4 个 ttl 门电流。当 p3 口写入“1”后,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平, p3 口将输出电流( ill)这是由于上拉的 缘故。p3 口也可作为 89c51 的一些特殊功能口,如下 面所示: p3.0 rxd(串行输入口) p3.1 txd(串行输出口) p3.2 int0(外部中断 0) p3.3 int1(外部中断 1) p3.4 t0(计时器 0 外部输入) p3.5 t1(计时器 1 外部输入) p3.6 wr(外部数据存储器写选通) p3.7 rd(外部数据存储器读选通) 函数发生器硬件电路设计 10 p3 口同时为闪烁编程和编程校验接收一些控制信号。 (4)控制线 ale/prog ale 用于地址锁存信号输出端。 该端输出的脉冲频率为系统 时钟频率的 1/6,在访问片外存储器时,其下降沿用于控制锁存p0 口输出的低 8 位地址。prog 用于对片内 eprom 输入编程脉冲。 当访问外部存储器时,地 址锁存允许的输出电平用于锁存地址的 低位字节。在 flash 编程期间,此引 脚用于输入编程脉冲。在平时, ale 端以不变的频率周期输出正脉冲信号,此 频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然 而要注意的是:每当用作外部数据存储器时,将跳过一个ale 脉冲。如想禁止 ale 的输出可在 sfr8eh 地址上置 0。此时, ale 只有在执行 movx,movc 指令时 ale 才起作用。另外,该引脚被略微拉高。如果微处理 器在外部执行状态 ale 禁止,置位无效。 psen 片外程序存储器读选通信号输出端。 reset 复位端,当 reset 端出现持续两个及 两个周期以上高电平时, 即可实现复位操作。 ea/vp ea 为片外程序存储器选用端。该引脚接高电平时,选用片内程序 存储器,但当 pc 值超过片内程序存储器范围时,将自动转向片外程序存储器去 执行程序;该引脚接低电平时,单片机选用片外程序存储器。 3.2 可编程 i/o 芯片 8155 8155 芯片1内包含有 256b 的 ram,两个可编程的 8 位并行口 pa 和 pb,一个可编程的 6 位并行口 pc,以及一个 14 位减法定时器 /计数器。为 40 列直插式封装。 其引脚图如图 3-3 所示。 ad 0 12 ad 1 13 ad 2 14 ad 3 15 ad 4 16 ad 5 17 ad 6 18 ad 7 19 io/m 7 tin 3 to ut 6 re set 4 ce 8 wr 10 al e 11 rd 9 gn d 20 vc c 40 pa 0 21 pa 1 22 pa 2 23 pa 3 24 pa 4 25 pa 5 26 pa 6 27 pa 7 28 pb 0 29 pb 1 30 pb 2 31 pb 3 32 pb 4 33 pb 5 34 pb 6 35 pb 7 36 pc 0 37 pc 1 38 pc 2 39 pc 3 1 pc 4 2 pc 5 5 图 3-3 8155 引脚图 引脚说明: 函数发生器硬件电路设计 11 (1) rst 复位信号输入端,高电平有效。复位后, 3 个 i/o 口为输入方式。 (2) ad0ad7 三态的地址 /数据线。 (3) rd 读信号,低电平有效。 (4) wr 写信号,低电平有效。 (5) ce 片选信号线,低电平有效。由单片机ale 下降沿锁存到 8155 内 部锁存器。 (6) io/m 8155 的 ram 存储器与 i/o 口选择线。当 io/m=0 时, ad0ad7 为 8155 的 ram 单元地址;当 io/m=1 时,ad0ad7 为 8155 的 i/o 口地址。 (7) ale 地址锁存允许端。控制信号 ale 的下降沿可将地址以及 ce、io/m 的状态锁存到 8155 内部寄存器中。 (8) pa0pa7 a 口输入输出线。 pb0pb7 b 口输入输出线。 pc0pc7 由两个作用,既可以作为 c 口的输入输出线,也可作为 pa 口和 pb 口的控制信号线。 (9) timer in 定时器/计数器时钟输入端。 timer out 定时器/计数器时钟输出端。计数器工作方式。 (10) vcc +5v 电源 cpu 对 8155 的 ram 单元和 i/o 的寻址,当 io/m=0 时,cpu 对 8155 的 256b 的 ram 寻址。io/m=1 时,选中 8155 片内 3 个 i/o 接口及命令 /状态寄存 器和定时/计数器,当 a2,a1,a0 分别为 0,0,0 时,选中命令 /状态寄存器。 当 a2,a1,a0 分别为 0,0,1 时,选中的是 a 口。当 a2,a1,a0 分别为 0,1,0 时,选中的是 b 口。当 a2,a1,a0 分别为 0,1,1 时选中的是 c 口。 当 a2,a1,a0 分别为 1,0,0 时,选中的是定时器 /计数器低 8 位寄存器。当 a2,a1,a0 分别为 1,0,1 时,选中的是定时器高 6 位及 2 位方式寄存器。 对 a3a7 没有特殊要求。当不同的寄存器被选中时可以进行不同的工作。 命令字的格式如图 3-4 所示: 函数发生器硬件电路设计 12 tm2tm1iebpc2pc1 pb paiea 00=空操作 01=停止计数 10=若在计数,待计数长度 为 0 时,停止计数 11=启动,按新的长度和方式 计数 1=允许 a 口中断 0=禁止 a 口中断 0=b 口输入 1=b 口输出 1=允许 b 口中 断 0= 禁止 b 口中 断 00=a 口、b 口基本输入输出,c 口输入 01= a 口、b 口基本输入输出,c 口输出 10=a 口选通输入输出,b 口基本输入输出, pc0aintr、pc1abf、pc2 astb、pcpc输出 11a 口、b 口选通输入输出 口输入 口输出 图 3-4 8155 命令字格式 8155 的命令字和状态字以及 i/o 的工作方式。 8155 的命令寄存器和状态寄 存器使用同一个端口地址。命令寄存器只能写入不能读出,状态寄存器只能读出 不能写入。8155 的 i/o 口工作方式由 cpu 写入命令寄存器的控制命令寄存器的 控制命令字决定。 8155 的状态寄存器用于锁存 8155i/o 口和定时器 /计数器的当前状态,供 cpu 查询。状态寄存器只能读入,不能写入,而且和命令寄存器共用一个口地址。 cpu 对该地址写入的是命令字,读出的是状态。 8155 的定时器/计数器为 14 位的减法计数器,可用来定时或对输入脉冲进 行减法计数,定时器由两个字节组成。 其格式如表 3-1 所示: 表3-1:定时器/计数器定义 寄存器高字节 d7d6d5d4d3d2d1d0 m2m1t13t12t11t10t9t8 输出方式计数器初值高6位 寄存器低字节 函数发生器硬件电路设计 13 d7d6d5d4d3d2d1d0 t7t6t5t4t3t2t1t0 输出方式计数器初值低6位 定时器有四种输出方式,由 m1 和 m2 定义。编程时,首先把计数长度和 定时器方式装入定时器的两个相应的单元,长度为23fffh 之间的任意值。 任何时候都可以置定时器的长度和工作方式,但是必须将启动命令字写入命令寄 存器。如果定时器正在计数,那么只有在写入启动命令之后,定时器才接收新的 计数长度并按新的工作方式计数。当定时器溢出时,在timer out 端输出一 个矩形脉冲或方波。若写入定时器的初值为奇数,则输出的方波是不对称的。 8155 复位后并不预置定时器的方式和长度,但是会停止计数器计数。在计数过程 中,计数器若作为外部事件计数 ,由计数器的状态求输入脉冲的方法有:停止 计数器计数、分别读出计数器的两个字节、取低14 位的计数值以及若为偶数, 右移一位即得输入脉冲数;若为奇数,则右移一位加上计数值的二分之一的整数 部分后得到的是输入的脉冲数。 3.3 d/a 转换芯片 dac0832 dac08321是用 cmos/si-cr 工艺制成的 8 位数/模转换芯片 。数字输入端 具有双重缓冲功能,可以双缓冲、单缓冲或直通输入,特别适用于要求几个模拟 量同时输出的场合,与微处理器接口很方便,主要特性如下: (1) 分辨率8 位 (2) 建立时间1 s (3) 增益温度系数 2010-6/ (4) 输入ttl (5) 功耗20 mw dac0832 是双列直插式 8 位 d/a 转换器。能完成数字量输入到模拟量 (电 流)输出的转换。 其引脚图 3-5 如下: 函数发生器硬件电路设计 14 d1 0 7 d1 1 6 d1 2 5 d1 3 4 d1 4 16 d1 5 15 d1 6 14 d1 7 13 cs 1 wr 1 2 wr 2 18 xf er 17 vr ef 8 rfb 9 iou t1 11 iou t2 12 ile 19 dg nd 10 ag nd 3 vc c 20 图 3-5 dac0832 引脚图 其主要参数如下:分辨率为 8 位,转换时间为 1s,满量程误差为 1lsb,参考电压为 (+10-10)v,供电电源为 (+5+15)v,逻辑电平输入与 ttl 兼容。dac0832 中有两级锁存器,第一级锁存器称为输入寄存器,它的允 许锁存信号为 ile,第二级锁存器称为 dac 寄存器,它的锁存信号也称 为通道 控制信号 xfer。当 ile 为高电平,片选信号 cs 和写信号 wr1 为低电平时, 输入寄存器控制信号为 1,这种情况下,输入寄存器的输出随输入而变化。此后, 当 wr1 由低电平变高时,控制信号成为低电平,此时,数据被锁存到输入寄存 器中,这样输入寄存器的输出端不再随外部数据db 的变化而变化。 对第二级锁存来说,传送控制信号 xfer 和写信号 wr2 同时为低电平 时,二级锁存控制信号为高电平, 8 位的 dac 寄存器的输出随输入而变化,此 后,当 wr2 由低电平变高时,控制信号变为低电平,于是将输入寄存器的信息 锁存到 dac 寄存器中。 其余各引脚的功能定义如下: (1)di7di0 8 位的数据输入端, di7 为最高位。 (2)iout1 模拟电流输出端 1,当 dac 寄存器中数据全为 1 时,输出电流 最大,当 dac 寄存器中数据全为 0 时,输出电流为 0。 (3)iout2 模拟电流输出端 2,iout2 与 iout1 的和为一个常数,即 iout1iout2常数。 (4)rfb 反馈电阻引出端, dac0832 内部已经有反馈电阻,所以 rfb 端 可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放 大器的输出端和输入端之间。 函数发生器硬件电路设计 15 (5)vref 参考电压输入端,此端可接一个正电压,也可接一个负电压,它 决定 0 至 255 的数字量转化出来的模拟量电压值的幅度, vref 范围(+10-10) v。vref 端与 d/a 内部 t 形电阻网络相连。 (6)vcc 芯片供电电压,范围为 (+5 15)v。 (7)agnd 模拟量地,即模拟电路接地端。 (8)dgnd 数字量地。 dac0832 的数字接口由 8 条数字输入线 (di0di7)、两个写信号 (wr1 和 wr2)、一个片选信号 cs、一个允许输入锁存信号 ile 和一个传送控制信号 xfer 组成。由于数字输入为双重缓冲,给用户带来很大方便。le 为寄存器锁 存命令。当 le 为 1 时,寄存器的输出随输入变化,寄存器处于直通状态,当 le 为 0 时,输入数据被锁存在寄存器,输出不再随输入变化。当ile 为高电 平、cs 和 wr1 同时为低电平时,使 le1 为 1,输入寄存器的输出随数据总线 上的数据变化;当 wr1 变高时,输入数据被锁存在输入寄存器中,当xfer 和 wr2 同时为低电平时,使 le2 为 1,d/a 寄存器的输出随它的输入变化。当 wr2 变高时,将输入寄存器中的数据锁存在d/a 寄存器中。 dac0832 的输出也分为单极性输出和双极性输出。 单极性输出由一个运放 组成,双极性输出由两片运放组成。 3.4 运算放大器 lm741 lm741 放大器为运算放大器中最常被使用的一 种,拥有反相 与非反相两输 入端,由输入端输入欲被放大的电流或电压信号,经放大后由输出端输出。放大 器运用时最大的特点为需要一对同样大小的正负电源,其值由12v 至18v 不等,在这使用 12v。lm741 放大器的外型与引脚如 图 3-6,3-7 所示: 图 3-6 lm741 放大器的外型 函数发生器硬件电路设计 16 balance input input vdc nc vdc output balance 1 3 4 2 8 7 6 5 图 3-7 lm741 放大器的引脚 lm741 放大器使用时需 7、4 脚位供应一对同等大小的正负电源电压 vd 和vdc ,一旦 2、3 脚位即两输入端有电压存在,压差即会被放大从输出端输 出。 3.5 三端稳压管简介 lm7812 是美国国家半导体公司生产的三端稳压器 ,广泛应用于各种电器中 作+l2v 稳压电路。主要用途:适用于各种电源稳压电路。主要特点:输出稳定 性好、使用方便、输出过流、过热自动保护。封装形式:to-220。最大输出电 流为 1.5a,最大耗散功率为 20w,工作温度范围为: 0125。其引脚图如 图 3-8 所示: 123456 a b c d 654321 d c b a title numberrevisionsize b date:28-may-2009sheet of file:e:三三三三三三三三三三三1.ddbdrawn b y: vin 1 gnd 2 vout 3 u1 lm 7812 图 3-8 lm7812 引脚图 lm7812 有三个引脚分别为: vin:输入引脚,电压为 14.5v27v; vout:输出引脚,电压为 11.5 v12.5v; gnd:接地。 lm7912 是美国国家半导体公司生产的三端稳压器,广泛应用于各种电器中 作-l2v 稳压电路。在室温 25下,输出电流范围为 5ma1a。其引脚图如图 3-9 所示: 函数发生器硬件电路设计 17 123456 a b c d 654321 d c b a title numberrevisionsize b date:9-m ay-2009 sheet of file:e:三三三三三三1.ddbdrawn b y: vin 1 gnd 2 vout 3 7912 图 3-9 lm7912 引脚图 lm7912 有三个引脚分别为: vin:输入引脚,电压为 -14.5v-27v; vout:输出引脚,电压为 -11.5v-12.5v; gnd:接地。 lm7805 是美国国家半导体公司生产的三端固定稳压集成电路,用于将输入 的电压稳压为 5v 后提供给有关电路,其应用相当广泛,在视频、音频、计算机、 游戏机等各种电器上均有应用。 lm7805 是我们最常用到的稳压芯片了, 它使用方便,用很简单的电路即 可以输入一个直流稳压电源 ,他的输出电压恰好为 5v,刚好是 51 系列单片机运 行所需的电压,他有很多的系列如ka7805,ads7805,cw7805 等,性能有微 小的差别,用的最多的还是 lm7805。7805 系列为 3 端正稳压电路 ,to-220 封装, 能提供多种固定的输出电压,应用范围广。内含过流、过热和过载保护电路。带 散热片时,输出电流可达 1a。虽然是固定稳压电路,但使用外接元件,可获得 不同的电压和电流。主要特点 :输出电流可达 1a;输出电压有: 5v;过热保 护;短路保护;输出晶体管 soa 保护。其引脚图如图 3-11 所示: 123456 a b c d 654321 d c b a title numberrevisionsize b date:13-may-2008sheet of file:i:humydesign.ddbdrawn by: vin 1 gnd 2 vout 3 lm7805 图 3-11 lm7805 引脚图 lm7805 有三个引脚分别为: vin:输入引脚,电压为 7v20v。 vout:输出引脚,电压为 4.8 v 5.2v。 gnd:接地。 函数发生器硬件电路设计 18 4 硬件电路设计 硬件电路主要包括单片机主电路, da 转换及幅度控制电路,按键电路, 显示电路,电源电路。 4.1 单片机控制电路 4.1.1 单片机的最小系统 123456 a b c d 654321 d c b a title numberrevisionsize b date:16-may-2009sheet of file:e:三三三三三三三三三三三1.ddbdrawn b y: +5v30pf c1 30pf c2 12m hz x s1 r1 200 r2 1k c3 22u f +5v +5v ea /vp 31 x1 19 x2 18 re set 9 int 0 12 int 1 13 t0 14 t1 15 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 rx d 10 tx d 11 pse n 29 al e/p 30 wr 16 rd 17 p2.0 21 p2.2 23 p2.3 24 p2.4 25 p2.5 26 p2.6 27 p2.7 28 p0.7 32 p0.6 33 p0.5 34 p0.4 35 p0.3 36 p0.2 37 p0.1 38 p0.0 39 p2.1 22 vc c 40 gn d 20 u1 图 4-1 89c51 最小系统图 在本次设计中,采用 89c51 的最小系统接法。单片机的最小系统由单片机 和一些必须的外围电路如振荡电路,复位电路, +5v 的 vcc 电压和地组成。如 图 4-1 所示。 4.1.2 振荡电路 单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通 常用两种电路形式得到 :内部振荡和外部振荡。 89c51 单片机内部有一个用于 构成振荡器的高增益反向放大器,引脚xtall 和 xtal2 分别是此放大电器的 输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定, 实际使用中常采用这种方式,如图 4-3 所示在其外接晶体振荡器 (简称晶振)或 陶瓷谐振器就构成了内部振荡方式,片内高增益反向放大器与作为反馈元件的片 外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲 6。 图 4-2 中外接晶体以及电容 c2 和 c1 构成并联谐振电路,它们起稳定振荡 函数发生器硬件电路设计 19 频率、快速起振的作用。用晶振和电容构成谐振电路,c1,c2 没有严格要求, 但电容的大小影响振荡器振荡的稳定性和起振的快速性,通常选择范围为 1030pf。在本次设计中采用 30pf,晶体采用 12mhz。则 89c51 的机器周期 为(包括 12 个时钟周期): s hz 112 1012 1 6 (4-1) 123456 a b c d 654321 d c b a titl e nu mberrev isionsize b date:9-m ay-2 009 sheet o f file:e:三三三三三三1.ddbdrawn b y: vc c30pf c1 30pf c2 12m hz x 图 4-2 89c51 的振荡电路 4.1.3 复位电路 复位分为三种:上电自动复位,按键电平复位,外部脉冲复位。在本次设计 中我采用的是按键电平复位。由于按键电平复位有一个优点,可以根据用户需要 实现复位。当用户按下键输出了一个需要的信号时,此时需要对单片机进行复位, 清零。所以我选用按键电平复位 6。它是通过使复位端经电阻、开关与电容并联 再与 vcc 电源接通而实现的。 在正常运行情况下,只要 rst 引脚上出现两个机器周期时间以上的高电平, 即可引起系统复位,但如果 rst 引脚上持续为

温馨提示

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

评论

0/150

提交评论