基于单片机控制的具有语音播报功能的水温控制系统设计.doc_第1页
基于单片机控制的具有语音播报功能的水温控制系统设计.doc_第2页
基于单片机控制的具有语音播报功能的水温控制系统设计.doc_第3页
基于单片机控制的具有语音播报功能的水温控制系统设计.doc_第4页
基于单片机控制的具有语音播报功能的水温控制系统设计.doc_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

摘 要本文从硬件和软件两方面介绍了具有语音播报功能的水温控制系统的设计思路,采用AT89C51单片机为检测控制中心,此芯片功能强大,能满足设计要求。采用DS18B20为数据采集芯片,不需要AD转换,与单片机接口简单,编程容易。本设计与一般的水温控制系统不同的是具有语音播报功能,此功能模块的实现主要靠ISD4004语音芯片,ISD芯片采用了“直接模拟量存储”专利技术,信号无需经过模数、数模转换,数字压缩和语音合成等复杂的数字信号处理过程,减少了失真,使其声音存贮效果较以前产品有大幅提高。由于单片机直接输出电流小,所以输出电流经过MOC光耦器件由继电器控制电机工作,从而控制水泵进行水温调节。此系统可以实现设定、播报、控制水温及越限报警等多方面功能。关键字:水温控制 单片机 语音播报 电机ABSTRACTThis arcticle introduces the design of the water temperature control system with speech function from both hardware and software. SCM AT89C51is used to detect control center. This powerful chip can meet the design requirements. DS18B20 is used for data acquisition chip, which does not require AD conversion, and also has simple interface with SCM and easy programming. The difference between the design and the general temperature control system is the voice broadcast feature with the ability to rely mainly on the realization of modules ISD4004 voice chip. ISD chip applies direct analog storage (DAST) patented technology. It processes signal without going through A / D, D / A converters, digital compression and voice synthesis, and other complex digital signal processing, at the same time decreases distortion to sound effects than before storage products are substantially increased. As a direct output current SCM small, so output current through the device by the MOC Optocoupler relay driven motor, so as to control water pumps for water temperature adjustment. The system can be set, broadcast, temperature control and alarm, and so the more limited function.Keyword: Water temperature control;SCM;Voice broadcast;Motor目 录摘 要IABSTRACTII1 绪 论1 1.1 系统概述1 1.2设计任务和主要内容21.2.1 基本要求21.2.2 主要性能指标21.2.3 扩展功能22 系统框图和方案论证3 2.1总体方案论证3 2.2系统框图3 2.3 各部分电路方案论证42.3.1 数据采集部分42.3.2 键盘显示部分63 AT89C51单片机8 3.1 单片机的基本组成83.1.1 中央处理器83.1.2 存储器93.1.3 外围接口电路103.1.4 时钟震荡电路10 3.2 引脚排列及功能103.2.1 I/O口线113.2.2 控制信号线123.2.3 电源线133.2.4 外部晶振引线134 单片机外围电路14 4.1 数据采集电路144.1.1 DS18B20特性144.1.2 引脚排列及功能144.1.3 内部结构154.1.4 测温原理18 4.2 键盘显示电路194.2.1 键盘电路设计194.2.2 显示电路设计20 4.3 语音播报电路的设计214.3.1 ISD4004外部引脚214.3.2 ISD4004内部功能结构框图234.3.3 极限参数244.3.4 串行外围接口SPI244.3.5 录放音工作原理26 4.4 电机制执行电路设计275 系统的软件设计29 5.1 主程序30 5.2 数据采集电路程序设计31 5.3 控制电路程序设计39 5.4 ISD4004语音电路程序设计396 总结与展望46致 谢47参考文献48附录:系统总电路图50511 绪 论1.1 系统概述随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么可编程控制器的出现则是给现代工业控制测控领域带来了一次新的革命。在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面。而水温控制在工业生产过程和日常生活中也起着非常重要的作用,过低的温度或过高的温度都会使水资源失去应有的作用,从而造成水资源的巨大浪费。随着人们生活质量的提高,酒店厂房及家庭生活中都会见到温度控制的影子,温度控制将更好的服务于社会目前,单片机控制器在从生活工具到工业应用的各个领域,例如生活工具的电梯、工业生产中的现场控制仪表、数控机床等。尤其是用单片机控制器改造落后的设备具有性价比高、提高设备的使用寿命、提高设备的自动化程度的特点。 现代工业设计、工程建设及日常生活中常常需要用到温度控制,早期温度控制主要应用于工厂中,例如钢铁的水溶温度,不同等级的钢铁要通过不同温度的铁水来实现,这样就可能有效的利用温度控制来掌握所需要的产品了。 随着社会的发展、娱乐设施的普及,越来越多的学校开始构建游泳池,供学生学习和训练之用。而如何监测并控制游泳池的水温,则是建游泳池主要关心的技术之一,本文设计的具有语音播报功能的水温控制系统就是为了达到这样的温度控制要求而进行设计的。本设计采用以AT89C51单片机为检测控制中心,此芯片功能强大,能满足设计要求。采用DS18B20为数据采集芯片,不需要AD转换,与单片机接口简单,编程容易。此外,采用ISD4004语音芯片实现语音播报功能。该设计结构简单,控制方便,有较强的通用性。该设计的控制系统有以下功能:温度设定范围:2040,最小区分度为。 实现控制可以升温也可以降温; 语音播报水的温度 实时显示当前温度值: 按键控制:功能转换键、加一键、减一键: 越限报警。1.2设计任务和主要内容1.2.1 基本要求一般大学里的游泳池长50m,宽25m,平均水深1.8m,其总水容量为2250m3。控制池水的温度,要求水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动调整,以保持设定的温度基本不变。1.2.2 主要性能指标(1) 温度设定范围:2040,最小区分度为。(2) 控制精度:温度控制的静态误差。(3)用十进制数码显示实际水温及设定水温。(4)语音播报温度功能。1.2.3 扩展功能(1)具有通信能力,可接收其他数据设备发来的命令,或将结果传送到其他数据设备。(2)采用适当的控制方法实现当设定温度或环境温度突变时,减小系统的调节时间和超调量。(3)温度控制的静态误差。2 系统框图和方案论证2.1总体方案论证本题目是设计制作一个具有语音播报功能的水温控制系统。 要求能在20-40范围内设定控制水温,并具有较好的快速性和较小的超调,以及十进制数码管显示等功能。根据题目要求,我们提出以下两种方案:方案1:采用凌阳十六位单片机SPCE061A实现温度控制,温度信号由PT1000和电压放大电路提供。通过PID算法实现对电炉功率和水温控制。同时,具有温度数字语音播报和显示。方案2:采用单片机AT89C51为核心。采用DS18B20进行数据采集,芯片ISD4004实现语音播报功能。使用单片机具有编程灵活,控制简单的优点,使系统能简单的实现温度的控制及显示,并且通过软件编程能实现各种控制算法使系统还具有控制精度高的特点。比较上述两种方案,虽然方案1SPCE061A单片机内置8路ADC,2路DAC,且集成开发环境中,配有很多语音播放函数,用SPCE061A实现语音播放极为方便,但是由于凌阳单片机与我们之前所学的MCS-5系列单片机在结构、性能及指令系统方面相差较大,另PID算法也不熟悉,学习使用起来较费力。方案2中使用的单片机及各芯已熟悉其结构功能,并具有控制简单、控制温度精度高的特点,因此本设计电路采用方案2。2.2系统框图AT89C51键盘设定数据采集DS18B20游泳池水显示电路LED语音播报ISD4004报警电路控制电路水泵图2.1系统框图从功能模块上来看,此系统电路可分为:主机电路、数据采集电路、键盘显示电路、语音播报电路、控制执行电路以及报警电路。系统框图如图2.1所示。2.3 各部分电路方案论证 现将各部分主要元件及电路做以下的论证:2.3.1 数据采集部分方案1:采用温度传感器AD590和ADC0809芯片。ADC0809是一种8路模拟输入的8路逐次渐逼式A/D转换器件,是28引脚DIP封装的芯片,其引脚排列图如图2.2所示。其内部有8位A/D转换电路和8路模拟开关,其作用可根据地址译码信号来选择8路模拟输入,使8路模拟输入共用一个A/D转换器进行转换,可以直接与系统数据总线相连。图2.2 ADC 0809引脚排列图 AD590具有体积小、质量轻、线形度好、性能稳定等优点。其测量范围在-50- +150,满刻度范围误差为0.3,当电源电压在510V之间,稳定度为1时,误差只有0.01,其各方面特性都满足此系统的设计要求。此外AD590是温度-电流传感器,对于提高系统抗干扰能力有很大的帮助。方案2:采用温度传感器AD590和ADC0832芯片。ADC0832是NS(National Semiconductor)公司生产的具有Microwire/Plus串行接口的8位A/D转换器,通过三线接口与单片机连接,功耗低,性能价格比较高,适宜在袖珍式智能仪器中使用。图2.3为AT89C51与ADC0832的SPI串行接口方式,将DO和DI分别接于P1.0和P1.1引脚。 P1.0 P1.1 P1.2 P1.3DODI CH0CLKCSAT89C51ADC0832图2.3 AT89C51与ADC0832接口方案3:采用DS18B20芯片。DSB1820能够直接读出被测温度,不需要任何外围器件,并且可根据实际要求通过简单的编程实现9 12 位的数字值读数方式。可以分别在93175 m s 和750 m s 内完成9 位和12 位的数字量, 并且从DS18B20 读出的信息或写入DS18B20 的信息仅需要一根口线(单线接口) 读写, 温度变换功率来源于数据总线, 总线本身也可以向所挂接的DS18B20 供电, 而无需额外电源。比较这3种方案,方案1采用并行接口,转换快,但考虑到此设计中所用外围芯片较多,I/O接口不足,虽然 ADC0832与单片机只有三线接口,但方案1、2都需要外接器件AD590进行数据采集。使用DS18B20比AD590精度低(其固有测温分辨率为0.5 ,测量游泳池水温已够用),但比较图2.4和图2.5可知DS18B20线路简单,不需要辅助电路,编程容易。图2.4 AD590、ADC0832与单片机组成的数据采集电路接口示意图图2.5 DS18B20与单片机的接口示意图2.3.2 键盘显示部分 控制与显示电路是反映电路性能、外观的最直观部分,所以此部分电路设计的好坏直接影响到电路的好坏。 方案1:采用可编程控制器8279与数码管及地址译码器74LS138组成,可编程/显示器件8279实现对按键的扫描、消除抖动、提供LED的显示信号,并对LED显示控制。用8279和键盘组成的人机控制平台,能够方便的进行控制单片机的输出。方案2:采用单片机AT89C51的I/O口直接和按键连接,用软件查询和外部中断相结合的方法设计,低电平有效。显示采用2位共阳LED动态显示方式,显示内容有温度值的十位、个位。2个数码管共用同一个段码输出口,通过片选端口分时轮流通电。 对比两种方案可知,方案1虽然也能很好的实现电路的要求,但考虑到电路设计的成本和电路整体的性能,我们采用方案2。方案2接线简单,程序编写也容易。 3 AT89C51单片机 AT89C51是美国ATMWEL公司生产的低电压、高性能CMOS 8位单片机,片内含4K byes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMWEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可提供许多高性价比的应用场合,可灵活应用与各种控制领域。其主要工作特性是:内含4KB的Flash存储器,擦写次数1000次; 内含128字节的RAM; 具有32根可编程I/O线; 具有2个16位可编程定时器; 具有6个中断源、5个中断矢量、2级优先权的中断结构; 具有1个全双工的可编程串行通信接口; 两种低功耗工作模式,即空闲模式和掉电模式; 具有可编程的3级程序锁定位; AT89C51的工作电源电压为5(10.2)V且典型值为5V,AT89C51的工作电源为2.76V,是低电压单片机; AT89C51最高工作频率为24MHz。3.1 单片机的基本组成单片机的基本组成如图3.1所示。3.1.1 中央处理器单片机的中央处理器(CPU)是单片机的核心,完成运算和控制操作。中央处理器包括运算器和控制器两部分。单片机CPU和通用微处理器基本相同,只是增加了“面向控制”的处理功能,如位处理器、查表、多种跳转等。(1)运算器运算器主要用来实现算术、逻辑运算和位操作。其中包括算术和逻辑运算单元ALU、累加器ACC、B寄存器、程序控制字PSW和两个暂存器等。图3.1 AT89C51的基本组成(2)控制器控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件。控制器主要包括程序计数器PC、PC增量其、指令寄存器、指令译码器、定时及控制逻辑电路等。其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。3.1.2 存储器单片机内部的存储器分为程序存储器和数据存储器。程序存储器主要用来存储指令代码和一些常数及表格。标准型AT89单片机的程序存储器采用4 KB的快速擦写存储器Flash Memory,编程和擦除完全是电气实现。编程和擦除速度快,可以使用通用的编程器脱机编程,也可在线编程。在单片机中,用随机存储器RAM来存储程序运行期间的工作变量和数据,所以又称为数据存储器。标准型AT89单片机含有1288位RAM,采用单字节地址。实际上片内的字节地址空间是26个(00HFFH),其中高128字节地址(80HFFH)被特殊功能寄存器SFR占用,用户只能使用低128字节单元(00H7FH)来存放可读/写的数据。3.1.3 外围接口电路CPU与外部设备的信息交换都要通过接口电路进行。这主要是为了解决CPU的高速处理能力和外部设备低速运行之间的速度匹配问题,并可以有效的提高CPU的工作效率;同时也提高了CPU的对外驱动能力。输出接口电路具有锁存器和驱动器,输入接口电路具有三态门控制,成为接口电路的基本特征。AT89C51单片机的外围接口电路主要包括:4个可编程并行I/O口,1个可编程串行口,2个16位的可编程定时器以及中断系统等。3.1.4 时钟震荡电路时钟振荡电路是CPU所需要的各种定时控制信号的必备单元。CPU只有在时序信号和控制信号的协调工作下,才能执行各种指令。单片机芯片内部有时钟电路,但石英晶体和微调电容需要外接。AT89C51的晶振频率最高为24MHz。3.2 引脚排列及功能AT89C51单片机的封装形式有PDIP,TQFP和PLCC等。图3.2为PDIP封装的引脚排列图。图3.2 AT89C51引脚排列(PDIP)3.2.1 I/O口线P0口-8位,漏极开路的双向I/O口。当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。在编程时,P0口可用于接收指令代码字节;在程序校验是,P0口可输出指令字节(这时需要加外部上拉电阻)。P0口也可做通用I/O口使用,但需加上拉电阻,变为准双向口。当作为普通输入时,应将输出锁存器置1.P0口可驱动8个TTL负载。P1口-8位、准双向I/O口,具有内部上拉电阻。P1口是为用户准备的I/O双向口。在编程和校验时,可用做输入低8位地址。用做输入时,应先将输出锁存器置1。P1口可驱动4个TTL负载。P2口-8位、准双向I/O口,具有内部上拉电阻。当使用片外存储器或外扩I/O口时,P2口输出高8位地址。在编程/校验时,P2口可接收高字节地址和某些控制信号。P2口也可做普通I/O口使用。用做输入时,应先将输出锁存器置1。P2口也可驱动4个TTL负载。P3口-8位、准双向I/O口,具有内部上拉电阻。P3口可做普通I/O口使用。用做输入时,应先将输出锁存器置1。在编程/校验时,P3口接收某些控制信号。它可驱动4个TTL负载。P3口还提供各种替代功能,如表3.1所列。表3-1 P3口替代功能引脚替代功能说明 P3.0RXD串行数据接收 P3.1 TXD串行数据发送P3.2 外部中断0申请P3.3 外部中断1申请 P3.4T0定时器0外部事件计数输入 P3.5T1定时器1外部事件计数输入 P3.6外部RAM写选通 P3.7外部RAM读选通3.2.2 控制信号线RST-复位输入信号,高电平有效。在振荡器稳定工作室,在RST脚施加两个机器周期(即24个晶振周期)以上的高电平,将器件复位。/VPP-外部程序存储器访问允许信号EA(External Access Enable)。当信号接地时,对ROM的读操作限定在外部程序存储器,地址为0000HFFFFH;当EA接VCC时,对ROM的读操作从内部程序存储器开始,并可延续至外部程序存储器。在编程时,该引脚可接编程电压(AT89C51的VPP为5V或12V)。在编程校验时,该引脚可接VCC。-片外程序存储器读选通信号PSEN(Program Store Enable),低电平有效。在片外程序存储器取指令期间,当有效时,程序存储器的内容别送至P0口(数据总线);在访问外部RAM时,无效。ALE/-低字节地址锁存信号ALE(Address Latch Enable).在系统扩展时,ALE的下降沿将P0口输出的低8位地址锁存在外接的地址锁存器中,以实现低字节地址和数据的分时传送。此外,ALE端连续输出正脉冲,频率为晶振频率的1/6,可用作外部定是脉冲使用。但是注意,每次访问外RAM是要丢失一个ALE脉冲。3.2.3 电源线VCC-电源电压输入引脚。GND-电源地。3.2.4 外部晶振引线XTAL1-片内振荡器反相放大器和时钟发生线路的输入端。使用片内振荡器时,连接外部石英晶体和微调电容。XTAL2-片内振荡器反相放大器的输出端。当使用片内振荡器时,外接石英晶体和微调电路。当使用外部振荡器时,引脚XTAL1接收外振荡器信号,XTAL2悬空。4 单片机外围电路4.1 数据采集电路本设计采用DS18B20数字温度计,它以9位数字量的形式反应器件的温度值。DS18B20通过一个单线接口发送或接收信息,因此在中央微处理器和DS18B20之间仅需一条连接线(加上地线)。用于读写和温度转的电源可以从数据线本身获得,无需外部电源。因为每个DS18B20都要一个独特的片序列号,所以多只DS18B20可以同时连在一根单线总线上,这样就可以把温度传感器放在许多不同的地方。这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程检测和控制等方面非常有用。4.1.1 DS18B20特性独特的单线接口,只需1个几口引脚即可通信多点(multidrop)能力使分布式温度检测应用得以简化不需要外部原件可用数据线供电不需要备份电源测量范围从-55至+125,增量值0.5.等效的华氏温度范围是-67至257,增量值为0.9以9位数字值方式读出温度在1秒(典型值)内把温度变换为数字用户可定义的,非易失性的温度告警设置告警搜索命令识别和寻址温度在编定的极限之外的器件(温度告警情况)应用范围包括恒温控制,工业系统,消费类产品,温度计或任何热敏系统4.1.2 引脚排列及功能图4.1 DS18B20引脚排列及封装如图4-1所示,各引脚说明如下GND 地DQ 数字输入输出VDD 可选的VDDNC 空引脚DNC 不连接 表4-1 详细的引脚说明引脚8脚SOIC引脚PR35符号说明51GND地42DQ单线应用的数据输入/输出引脚;33VDD外接供电电源输入端(在寄生电源接线方式时接地)4.1.3 内部结构 DS18B20 采用3 脚PR-35封装或8脚SOIC封装, 其内部结构框图如图4.2 所示。 图4.2 DS18B20的内部结构图(1)64 b 闪速ROM 的结构如下:8 b检验CRC 48 b 序列号 8 b 工厂代码(10H)MSB LSB MSB LSB MSB LSB开始8位是产品类型的编号, 接着是每个器件的惟一的序号, 共有48位, 最后8 位是前56位的CRC校验码, 这也是多个DS18B20 可以采用一线进行通信的原因。(2)非易市失性温度报警触发器TH 和TL , 可通过软件写入用户报警上下限。(3) 高速暂存存储器DS18B20 温度传感器的内部存储器包括一个高速暂存RAM 和一个非易失性的可电擦除的ERAM。后者用于存储TH, TL值。数据先写入RAM , 经校验后再传给ERAM。而配置寄存器为高速暂存器中的第5个字节, 他的内容用于确定温度值的数字转换分辨率,DS18B20 工作时按此寄存器中的分辨率将温度转换为相应精度的数值。该字节各位的定义如下:TMR1R011111低5位一直都是1, TM 是测试模式位, 用于设置DS18B20 在工作模式还是在测试模式。在DS18B20 出厂时该位被设置为0, 用户不要去改动, R 1 和R0 决定温度转换的精度位数, 即是来设置分辨率, 如表4-2所示(DS18B20 出厂时被设置为12 位) 表4-2 R1和R0模式表R1R0分辨率温度最大转换时间/mm009位93.750110位187.51011位275.001112位750.00 由表4.2可见, 设定的分辨率越高, 所需要的温度数据转换时间就越长。因此, 在实际应用中要在分辨率和转换时间权衡考虑。高速暂存存储器除了配置寄存器外, 还有其他8个字节组成, 其分配如下所示。其中温度信息(第1,2 字节)、T H 和T L 值第3, 4 字节、第6 8 字节未用,表现为全逻辑1; 第9 字节读出的是前面所有8 个字节的CRC 码, 可用来保证通信正确。当DS18B20 接收到温度转换命令后, 开始启动转换。转换完成后的温度值就以16 位带符号扩展的二进制补码形式存储在高速暂存存储器的第1, 2 字节。单片机可通过单线接口读到该数据, 读取时低位在前, 高位在后, 数据格式以0.0625 /LSB 形式表示。温度值格式如下: 表4-3 部分温度值温度/ 二进制表示十六进制表示+125000001111101000007D0H+25.062500000001100100010191H+0.500000000000010000008H000000000000000000000H-0.51111111111111000FFFFH-25.06251111111001101111FE6FH-551111110010010000FC90H对应的温度计算: 当符号位S=0 时, 直接将二进制位转换为十进制; 当S=1 时, 先将补码变换为原码,再计算十进制值。表4-3是对应的一部分温度值。DS18B20 完成温度转换后, 就把测得的温度值与TH , TL 作比较, 若T TH 或T TL , 则将该器件内的告警标志置位, 并对主机发出的告警搜索命令作出响应。因此, 可用多只DS18B20 同时测量温度并进行告警搜索。(4) CRC 的产生在64 b ROM 的最高有效字节中存储有循环冗余校验码(CRC)。主机根据ROM 的前56 位来计算CRC值, 并和存入DS18B20 中的CRC 值做比较, 以判断主机收到的ROM 数据是否正确。4.1.4 测温原理DS18B20 的测温原理如图4.3所示, 图中低温度系数晶振的振荡频率受温度的影响很小 , 用于产生固定频率的脉冲信号送给减法计数器1, 高温度系数晶振随温度变化其震荡频率明显改变, 所产生的信号作为减法计数器2 的脉冲输入, 图中还隐含着计数门, 当计数门打开时, DS18B20 就对低温度系数振荡器产生的时钟脉冲后进行计数, 进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定, 每次测量前,首先将- 55 所对应的基数分别置入减法计数器1和温度寄存器中, 减法计数器1 和温度寄存器被预置在- 55 所对应的一个基数值。减法计数器1 对低温度系数晶振产生的脉冲信号进行减法计数, 当减法计数器1 的预置值减到0 时温度寄存器的值将加1, 减法计数器1 的预置将重新被装入, 减法计数器1 重新开始对低温度系数晶振产生的脉冲信号进行计数, 如此循环直到减法计数器2 计数到0 时, 停止温度寄存器值的累加, 此时温度寄存器中的数值即为所测温度。图4.3中的斜率累加器用于补偿和修正测温过程中的非线性, 其输出用于修正减法计数器的预置值, 只要计数门仍未关闭就重复上述过程, 直至温度寄存器值达到被测温度值, 这就是DS18B20 的测温原理。斜率累加器计数比较器低温度系数振荡器减法计数器1预置减到0温度寄存器预置减到0减法计数器2高温度系数振荡器增加 停止图4.3 DS18B20内部测温电路原理框图另外, 由于DS18B20 单线通信功能是分时完成的, 他有严格的时隙概念, 因此读写时序很重要。系统对DS18B20 的各种操作必须按协议进行。操作协议为: 初始化DS18B20 (发复位脉冲) 发ROM 功能命令发存储器操作命令处理数据。4.2 键盘显示电路4.2.1 键盘电路设计键盘采用软件查询和外部中断相结合的方法来设计,低电平有效。按键AN1,AN2,AN3的功能定义如表4-4所示。按键AN1与P3.3相连,采用外部中断方式,并且优先级定为最高;AN2和AN3分别与P0.4和P0.5相连,采用软件查询的方式。表4-4 按键功能按键键名功能AN1功能转换键按键按下(L1亮)时,显示温度设定值;按键升起(L1不亮)时,显示当前温度值AN2加1键设定温度逐次加1AN3减1键设定温度逐次减14.2.2 显示电路设计 图4.5 数码管显示电路该显示模块采用两个LED数码管并连与单片机连接,动态显示温度的十位与个位数字,如图4.5所示, P0口是送字符的,P3.0和P3.1口是用来位选数码管的,分别控制十位、个位数码管。当P3.0或 P3.1端清零时数码管被选中,其对应所连接的发光二极管发亮。 单片机一上电,这两个数码管等待DS18B20发送程序命令,决定显示与否,显示实际温度或设定温度。这种动态LED显示接口由于所有数码管公用同一个段码输出口,分时轮流通电,从而大大简化了硬件线路,降低了成本。4.3 语音播报电路的设计单片机AT89C51通过与语音芯片ISD4004和扬声器连接实现语音播报功能。ISD系列语音芯片是美国ISD公司推出的产品。该系列语音芯片采用多电平直接接模拟存储(ChipCorder)专利技术,声音不需要A/D转换和压缩,每个采样值直接存储在片内的闪烁存储器中,没有A/D转换误差,因此能够真实、自然地再现语音、音乐及效果声。避免了一般固体录音电路量化和压缩造成的量化噪声和金属声。ISD4004语音芯片采用CMOS技术,内含晶体振荡器、防混叠滤波器、平滑滤波器、自动静噪、音频功率放大器及高密度多电平闪烁存储阵列等,因此只需很少的外围器件就可构成一个完整的声音录放系统。芯片设计是基于所有操作由微控制器控制,操作命令通过串行通信接口(SPI或Microwire)送入。采样频率可为4.0Hz、5.3Hz、6.4Hz、8.0kHz,频率越低,录放时间越长,而音质则有所下降。片内信息存于内烁存储器中,可在断电情况下保存100年(典型值)反复录音10万次。器件工作电压3V,工作电流2530mA,维持电流1A?单片录放语音时间816min,音质好,适用于移动电话机及其它便携式电子产品中。4.3.1 ISD4004外部引脚语音芯片ISD4004的外部引脚图如图4.6所示。图4.6 ISD4004外部引脚图 引脚说明: (1)同相模拟输入(ANAIN+)-这是录音信号的同相输入端,输入放大器可用单端或差分驱动。单端输入时,信号由耦合电容输入,最大幅度为峰峰值32mV,耦合电容和本端的3k输入阻抗决定了芯片频率的低端截止频率。在差分驱动时,信号最大幅度为峰峰值16mV。 (2)反相模拟输入(ANAIN-)-差分驱动时,这是录音信号的反相输入端。信号通过耦合电容输入,最大幅度为峰峰值16mV,本端的标称输入阻抗为56k,单端驱动时,本端通过电容接地。两种方式下,ANAIN+和ANAIN-端的耦合电容值应用相同。 (3)音频输出(AUDOUT)-提供音频输出,可驱动5k的负载。 (4)片选()-此端为低,即选中ISD4004系列。 (5)串行输入(MOSI)-此为单行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD输入。 (6)串行输出(MISO)ISD-串行输出端,ISD未选中时,本端呈高阻态。 (7)串行时钟(SCLK)-ISD的时钟输入端,由于控制器产生,用于同步MOSI和MISO的数据传输。数据在SCLK上升沿锁存到ISD,在下降沿移出ISD。 (8)中断()-本端为漏极开路输出,ISD在任何操作(包括快进)中检测到EOM或OVF时,本端变低并保持,中断状态在下一个SPI周期开始清除,中断状态也可用RITN指令读取。 (9)行地址时钟(RAC)-漏极开始输出。生个RAC周期表示ISD存储器的操作进行了一行(ISD4004系列中的存储器有2400行)。8kHz采样频率的器件,RAC周期为200ms,其中175ms保持高电平,低电平为25ms。快进模式下,RAC为218.75s高电平,31.25s为低电平,该端可用于存储管理技术。 (10)外部时钟(XCLK)-本端有内部下拉元件,芯片内部的采样时钟在出厂前已调校,误差在+1%内,在不外接时钟时,此端必须接地。 (11)自动静噪(AMCAP)-1F电容构成内部峰值检测电路的一部分,检测出的峰值电平与内部设定的阈值作比较,决定自动静噪电路的工作与否。大信号时自动静噪电路不衰减,静音时衰减6dB。同时,1F电容也影响自动静噪电路时信号幅度的响应速度,本端接VCCA则禁止自动静噪。4.3.2 ISD4004内部功能结构框图内部逻辑结构框图如图4.7所示图4.7 内部逻辑结构框图4.3.3 极限参数 直流电源电压范围(VCCVSS):-0.3+7.0 V 输入电压范围(所有引脚):(VSS-0.3 V)(VCC+0.3V) 输入电压范围(所有引脚,输入电流不超过20mA):(VSS-1.0 V)(VCC+1.0 V) 输入电压范围(MOSI、SCLK、RAC、引脚,输入电流不超过20mA):(VSS-1.0 V)5.5 V 结温:150 存储温度范围(Tstg):-65+150 引脚焊接温度(10s):+3004.3.4 串行外围接口SPIISD4004工作于SPI串行接口。SPI协议是一个同步串行数据传输协议协议假定微控制器的SPI移位寄存器在SCLK的下降沿动作。因此,对ISD4004而言,在时钟上升沿锁存MOSI引脚数据在下降沿将数据送至MISO引脚。协议具体内容如下: (1)所有串行数据传输开始于下降沿。 (2)在传输期间必须保持为低电平,在两条指令之间保持为高电平。 (3)数据在时钟上升沿移入,在下降沿移出。 (4)变低,输入指令和地址后ISD行才开始录放操作。 (5)指令格式是8位控制码加16位地址码。 (6)ISD的任何操作(含快进)如果遇到EOM或OVF,则产生一个中断该中断状态在下一个SPI周期开始时被清除。 (7)使用“读” 指令会使中断状态位移出ISD的MISO引脚时,控制及地址数据也同步从MOSI端移入。 (8) 所有操作在运行位(RUN)置1时开始, 置0时结束。 (9)所有指令都在端上升沿开始执行。OVF标志指示ISD录放操作已到存储器的末尾。图4.8 ISP4004端口及其相关控制位示意图 EOM标志只在放音过程中检测到内部的EOM标志时,此状态位置1,如图4.8所示。SPI指令码如表4-5所示。 表4-5 SPI指令表POWERUP00100XXX(XXXXXXXXX XXXXXXXX)上电,等待TPUD后器件可以工作SET PLAY11100XX(A15-A0)从指定地址开始放音,须后跟PLAY指令,使放音继续PLAY1111XXX(XX XXXXXXX XXXXXX)从当前地址开始录音(直至ROM或OVF)SET REC10110XXX(A15-A0)从指定地址开始录音,须后跟REC指令,使录音继续REC110110(XX XXXXXXX XXXXXX)从当前地址开始录音(直到OVF或停止)SET MC11101XXX(A15-A0)从指定地址开始快进,须后跟MC指令,是快进继续MC11111XXX(XXXXXXX XXXXXXX X)执行快进,直到EOM,若再无消息,进入OVF状态STOP0X110XXX(XXXXX XXXXXXX XXX)停止当前操作续表4-5STOP PWRDN0X01XXX(XXXXXX XXXXXXX XXX)停止当前操作并掉电RINT0X110XXX(XXXXXX XXXXXXX XXXX)读状态:OVF和EOM以下列举了几种对ISD器件进行操作时的指令次序。(1)信息快进。用户不必知道确切的地址就能快进跳过一条信息。信息快进只用于放音模式。放音速度是正常的1600倍。遇到EOM后停止,内部地址计数器加1,并接下条信息开始处。(2)上电顺序。器件延时TPUD(8kHz)采样时,约25ms后才能开始操作。因此,用户发完上电指令后,必须等待TPUD 才能发出一条操作指令。例如从00处放音,应遵循如下时序:发POWERLIP命令;等待TPUD上电延时; 发地址值为00的SETPLAY命令: 发PLAY命令。器件会从00地址开始放音 当出现EOM时立即中断 停止放音。如果从00处录音 则按以下时序: 发POWER UP命令: 等待TPUD(上电延时); 发POWER UP命令:等待2倍TPUD; 发地址值为00的SET REC命令: 发REC命令。器件便从00地址开始录音一直到出现OVF(存储器末尾)时,录音停止。4.3.5 录放音工作原理录音过程中,ISD4004器件在进行存储操作之前,要分几个阶段对信号进行调整。首先要输入信号放大到存储电路动态范围的最佳电平,这个阶段由前置放大器、放大器和自动增益控制部分来完成。前置放大器通过隔直流电容与麦克风连接,隔直流电容用来去掉交流小信号中的直流成份(大约220mv)。信号的放大分两步完成:先经过输入前置放大器。完成信号的通路要在模拟输出端(AUD OUT)和模拟输入端(ANA IN)两个引脚之间连接一个电容器。这种结构使得系统设计更加灵活,尤其对于非语音信号的应用,同时提供一个用于截止低频的端口。自动增益控制电路动态地监控放大器输出的信号电平并发送增益控制电压到前置放大器,前置放大器增益自动调节以便维持进入滤波器的信号为最佳电平,这样录音的信号能得到最高电平又使削波减至最小。我们可以通过选择连接到AGC引脚的电阻和电容值来调节描述自动增益电路特性的两个时间常量:即响应时间和释放时间。 下一个阶段的信号调整是由输入滤波器完成的。由于模拟信号的存储仍然是采用取样技术,因此还需要一个抗混淆滤波器以去掉(或至少减到可忽略不计的程度)取样频率1/2以上的输入频率分量。这样就满足了所有数据采集系统都遵循的奈奎斯特取样定律。语音的质量要想优于电话的音质,取样频率要用8 KHz,低通滤波器的高频频限选在3.4KHz,可满足奈奎斯特取样定律,而且仍有足够宽的频带以得到高音质的语音。滤波器是一个连续时间五级点低通滤波器,在3.4KHz每个倍频衰减40db。信号的调整至此以告完成,然后将输入波形通过模拟收发器写入模拟存储阵列中。由8 KHz取样时钟取样,并且经过电平移位而产生不会发写入过程所需要的高电压,同时补偿与Fowler-Nordheim隧道效应相关的一些实际因素。取样时钟也用于存储阵列的地址译码,以便输入信号顺序的写入存储阵列。放音时,录入的模拟电压在取样时钟的控制下顺序地从存储阵列中读出,恢复成原来的取样波形,输出通道上的平滑滤波器去掉取样频率分量并恢复原始波形。平滑滤波器的输出通过一个模拟多路开关连接到输出功率放大器,两个输出管脚直接驱动扬声器。ISD4004器件的线路设计基于每个EEPROM存储单元等效于8位存储器。信息写入存储单元采用闭环方式,取样保持电路在变成周期内保持数据并将存储的模拟电压提供给比较器的一个输入端,比较器的另一个输入是存储单元本身的输出。在多次写入中,电子被“泵入”存储单元,并使存储电平反馈到比较器,当比较器的信号(也就是存储单元的输出电压)等于取样保持电平时,该存储单元的编程停止。4.4 电机制执行电路设计由输出来控制电炉或风扇,电炉可以近似建立为具有滞后性质的一阶惯性环节数学模型。风扇可以认为是线形环节实现对水温的控制。为了实现强电和弱电的隔离,要选择光电耦合器,但考虑到输出信号要对可控硅进行触发,以便使电炉或风扇电路导通所以选既有隔离又有触发功能的MOC3

温馨提示

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

评论

0/150

提交评论