本科毕业设计--室内温湿度语音播报系统的设计_第1页
本科毕业设计--室内温湿度语音播报系统的设计_第2页
本科毕业设计--室内温湿度语音播报系统的设计_第3页
本科毕业设计--室内温湿度语音播报系统的设计_第4页
本科毕业设计--室内温湿度语音播报系统的设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

吉 林 农 业 大 学 本 科 毕 业 设 计 论文题目: 室内温 湿 度语音播报系统的设计 学生姓名: 专业年级: 电子信息科学与技术 指导教师 : 职称: 讲 师 2008 年 6 月 3 日 I 目 录 题目 . I 摘要及关键字 . I 1 前言 . 1 1.1 题目的来源与开发意义 . 1 1.2 系统功能概述 . 1 2 方案的提出及论证 . 1 2.1 温湿度传感器的选择 . 1 2.2 语音录放电路的选择 . 2 3 系统硬件设计 . 3 3.1 系统硬件总体设计概述 . 3 3.2 系统框图 . 3 3.3 系统各模块的设计 . 错误 !未定义书签。 3.3.1 温湿度测量模块 . 4 3.3.2 语音录放模块 . 4 3.3.3 显示模块 . 5 3.3.4 时钟模块 . 错误 !未定义书签。 3.3.5 键盘控制模块 . 错误 !未定义书签。 3.4 硬件电路主要器件 . 7 3.4.1 AT89C51 单片机 . 错误 !未定义书签。 3.4.2 温湿度传感器 SHT11 . 7 3.4.3 ISD4003 系列语音芯片 . 11 3.4.4 DS1302 的结构及工作原理 . 14 4 系统软件设计 . 16 4.1 系统软件总体设计思想 . 16 4.2 各功能模块的软件设计 . 16 4.2.1 温湿度测量的程序设计 . 16 4.2.2 语 音播报的程序设计 . 18 4.2.3 温湿度显示的程序设计 . 18 5 系统调试 . 19 5.1 硬件电路调试 . 19 5.2 各功能模块软件调试 . 19 6 结论 . 19 参考文献 . 20 致 谢 . 20 II 附录一 :系统总体电路原理图 . 21 附录二:程序流程图 . 22 吉林农业大学本科毕业设计 I 室内温湿度语音播报系统 的设计 学 生 : 专 业 :电子信息科学与技术 指导教师: 摘 要: 本设计主要是研究室内温湿度的测量并实现语音播报的功能,在该系统中采用AT89C52单片机作主控制器,采用 瑞士 Scnsirion 公司推出的 高度集成的温湿度传感器芯片 SHT-11,实现室内温湿度的测量并通过单片机的串行口进行静态显示,再通过采用语音芯片 ISD4003所组成的语音电路实现温湿度的语音播报,另外本系统还兼有多功能时钟功能。本设计采用静态显示大大节省了单片机的 I/O资源,软件部分用 C语言编写,易读、可移植性好。本系统主要包括温湿度测量模块、语音录放模块、温湿度显示模块、时钟模块和键盘控制模块五个部分。 关键词: 单片机; SHT-11; ISD4003;温湿度测量;语音播报 The Design of Indoor Temperature and Humidity Voice Broadcast System Name:He Haitao Major:Electronics information science and technology Tutor:Gong He Abstract: This design mainly researches for the measurement of indoor temperature and humidity and achieves the function of the voice broadcast, in which, AT89C2 SCM is used as master controller and a highly integrated temperature and humidity sensor chip SHT-11 developed by Switzerland Scnsirion Company is adopted to achieve the measurement of indoor temperature and humidity and make a static display through the serial interface of SCM, then voice broadcast of temperature and humidity is achieved through the use of voice circuit composed of voice chip ISD4003.In addition, the system also features the function of muti-functional clock. This design adopts a static display to save the I/O resources of SCM significantly. Software is compiled with C-language partially, easy to be read and has a good portability. This system mainly includes five parts of temperature and humidity measurement module, voice recording module, temperature and humidity display module, clock module and keyboard control module. Keywords: SCM; SHT-11; ISD4003; measurement of temperature and humidity; voice broadcast 吉林农业大学本科毕业设计 1 1 前言 1.1 题目的来源与开发意义 作为获取信息的手段 传感器技术得到了显著的进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。 传感器主要用于测量和控制系统,它的性能 好坏直接影响系统的性能。 因此,不仅必须掌握各类传感器的结构、原理及其性能指标,还必须懂得传感器经过适当的接口电路调整才能满足信号的处理、显示和控制的要求,而且只有通过对传感器应用实例的原理和智能传感器实例的分析了解,才能将传感器和信息通信和信息处理结合起来,适应传感器的生产、研制、开发和应用。 为了提高对传感器的认识和了解,尤其是对温 湿 度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统 ,在生产和生活中 应用性 都 比较强。本文利用单片机结合 传感器 技术 和语音技术 而开发设计了这一 室内温湿度语 音播报系统 。 本设计不仅可以显示室内的温湿度,而且能够实现温湿度的语音播报,使其更人性化,操作方便,控制灵活。 1.2 系统功能概述 本设计系统主要包括温湿度测量模块、语音录放模块、温湿度显示模块、时钟模块和键盘控制模块五个部分。采用高度集成的温湿度传感器芯片 SHT-11测量室内温湿度,经由显示模块进行显示,并通过语音录放模块实现温湿度的语音播报, 采 用 AT89C51单片机作为主 控制器,最后通过程序对其外围电路进行控制。 实现温湿度的语音播报是本设计的创新之处,使其实用性更强。 2 方案的提出及论证 2.1 温 湿度传感器的选择 在本设计中, 传感器是实现测量的首要环节,是测量系统的关键部件,如果没有传感器对原始被测信号进行准确可靠的捕捉和转换,一切准确的测量都将无法实现。 方案 一: 采用热电阻温度传感器。热电阻是利用导体的电阻随温度变化的特性制成的测温元件。现应用较多的有铂、铜、镍等热电阻。其主要的特点为精度高、测量范围大、便于远距离测量。铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,因此,铂电阻用于工业检测中高精密测温和温度标准。缺点是价格贵,温度系数小,受到磁场影响大,在还原介 质中易被玷污变脆。按 IEC 标准测温范围 -200吉林农业大学本科毕业设计 2 650 ,百度电阻比 W( 100) =1.3850 时, R0 为 100和 10,其允许的测量误差 A 级为 ( 0.15 +0.002 |t|) , B 级为 ( 0.3 +0.005 |t|) 。铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工;但其电阻率小,在腐蚀性介质中使用稳定性差。在工业中用于 -50 180 测温 。这种温度传感器采集的是模拟信号,需 要 A/D 转 换器,因此外围电路比较复杂,性能也不稳定。 采用 HOS-201 湿敏传感器。 HOS-201 湿敏传感 器为高湿度开关传感 器,它的工作电压为交流 1V 以下,频率为 50HZ 1KHZ,测量湿度范围为 0 100%RH,工作温度范围为 0 50 ,阻抗在 75%RH( 25 ) 时为 1M。这种传感器原是用于开关的传感器,不能在宽频带范围内检测湿度,因此,主要用于判断规定值以上或以下的湿度电平。然而,这种传感器只限于一定范围内使用时具有良好的线性 ,而且该传感器也是采集的模拟信号。 方案二: 温度测量传感器采用 DALLAS 公司 DS18B20 的单总线数字化温度传感器 1, 2,测温范围为 -55 25 ,可编程为 9 位 12 位 A/D 转换精度,测温分 辨率达到 0.0625 ,采用寄生电源工作方式, 单片机只需一根口线便能与 DS18B20 通信,占用单片机口线少,可节省大量引线和逻辑电路。 采用 HS1100/HS1101 湿度传感器 3。 HS1100/HS1101 电容传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。不需校准的完全互换性,高可靠性和长期稳定性,快速响应时间,专利设计的固态聚合物结构,由顶端接触( HS1100) 和侧面接触( HS1101)两种封装产品,适用于线性电压输出和频率输出两种电路,适宜于制造流水线上的自动插件 和自动装配过程等。相对湿度在 1% 100%RH范围内;电容量由 16pF 变到 200pF,其误差不大于 2%RH;响应时间小于 5S;温度系数为 0.04 pF/ ,因此该湿度传感器的 精度是较高的。 但要将测量的模拟信号转换为数字信号,需加 A/D 转换器。 方案三: 采用 瑞士 Scnsirion 公司 推出的基于 CMOSensTM 技术的新型智能温湿度传感器SHT114, 5, 集温、湿度传感器、信号放大和调理、 A/D 转换、 I2C 总线接口于一个芯片上 , 带有工业标准 I2C 总线数字输出接口 。 SHT11 智能温湿度传感器具 有数字式输出,并具有免调试、免标定、免外围电路及可全互换等特点。从而克服了传统模拟式湿度传感器需要设计信号调理电路,以及所需要的复杂校准和标定过程,同时也大大提高了湿度传感器的测量精度。 该芯片只需两根口线与单片机相连,节省了单片机的 I/O 资源,而且不需要 A/D 转换电路,电路简单。 从硬件电路的难易程度、性能和控制灵活性上考虑,我选择了方案二。 2.2 语音录放电路的选择 方案一 : 吉林农业大学本科毕业设计 3 AT89C52 单片机 温湿度测量电路 静态显示电路 语音 播报电路 键盘控制电路 时钟 电路 采用 中青世纪公司 2003 年最新开发的智能语音产品 PM50 系列语音芯片,它既是语音播放电路,也是智能单片机,其开发设计简单、智能控 制简单,音质效果好。 该芯片由专用的语音单片机和 FLASHRAM 存储器集合构成,它既有几秒到 100 秒的多段语音播放功能,也有单片机可编程的智能特性,大规模复杂电路已经缩微到只有 COB28封装( 18*36mm)的印板上,可以方便地作为 DIP28 封装的标准集成电路来使用。 方案 二: 采用 ISD公司生产的 ISD4000系列 中的 ISD4003-04语音芯片 6,它既可以放音也可以录音。该 芯片采用 CMOS技术 ,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。芯片设计是基于所有操作 必须由微控制器控制 ,操作命令可通过串行通信接口 (SPI或 Microwire)送入。芯片采用多电平直接模拟量存储技术 , 每个采样值直接存贮在片内闪烁存贮器中 ,因此能够非常真实、自然地再现语音、音乐 、 音调和效果声 ,避免了一般固体录音电路因量化和压缩造成的量化噪声和 “ 金属声 ” 。 虽然 PM50系列语音芯片的性价比要优于 ISD4000系列,但考虑到 PM50系列无录音功能,无法录制自己想要的语音,因此我选择了方案二。 3 系统硬件设计 3.1 系统硬件总体设计概述 本设计系统的硬件部分主要包括温湿度测量模块、语音录放模 块、温湿度显示模块、时钟模块和键盘控制模块五个部分。 硬件部分是 以 AT89C51单片机 作为主控制器 , 通过温湿度传感器 SHT11对室内温湿度进行测量, 可以提供全标定的温湿度数字输出,通过串行口用 6个数码管组成的 静态显示电路分别显示温度和湿度,并且该系统还兼具多功能时钟的功能。为了使该系统实用性更强,更人性化,采用 ISD4003组成的语音模块对温湿度进行语音播报,并用按键加以控制,按一下键就能将当前室内的温度和湿度播报出来。 3.2 系统框图 本系统的总体框图如图 3-1所示 : 图 3-1 系统总体框图 Fig. 3-1 Overall System Block Diagram 吉林农业大学本科毕业设计 4 3.3 系统各模块的设计 3.3.1 温湿度测量模块 温湿度测量模块采用温湿度传感器 SHT11,通过引脚 DATA和 SCK与单片机进行数据通信。 SCK用于 单片机 与 SHT11之间的通讯同步 ; DATA三态门用于数据的读取。 DATA在 SCK时钟下降沿之后改变状态,并仅在 SCK时钟上升沿有效。数据传输期间,在 SCK时钟高电平时, DATA必须保持稳定。为避免信号冲突, 单片机 应驱动 DATA在低电平 ,需要一个外部的上拉电阻 。图中 在 DATA 端接入 了一只 4.7 k 的上拉电阻,同时还在VDD 及 GND 端接入了一只 0.1 F的去耦电容。 硬件电路图如图 3-2所示 5: 图 3-2 温湿度测量 模块 电路图 Fig .3-2 Temperature and Humidity Measurements Circuit 3.3.2 语音录放模块 语音录放模块采用 ISD4003 芯片,整个语音录放电路由录音电路和放音电路组成。从图中可以看到 ISD4003 与单片机的连线较少, P2.2 接 ISD4003 的片选引脚 SS ,控制ISD4003 是否选通; P2.0 接 ISD4003 的串行输出引脚 MISO; P2.1 接 ISD4003 的串行输入引脚 MOSI,从该引脚读入放音的地址 ; P2.3 和 P3.2 分别接 ISD4003 的串行时钟引脚SCLK 和中断引脚 INT 。 ISD4003 的输出端接一个 LM386 的功率放大器 ,以提高输出语音的功率。 LM386 是美国国家半导体公司生产的音频功率放大器 , 在 6V 电源电压下,它的静态功耗仅为 24mW,使得 LM386 特别适用于电池供电的场合。 硬件电路图如图3-3 所示 6: 吉林农业大学本科毕业设计 5 图 3-3 语音录放电路图 Fig. 3-3 Voice Recording and Playback Circuit 3.3.3 显示模块 显示模块 采用串行静态显示,通过引脚 RXD(P3.0,串行数据接收引脚 )和引脚TXD(P3.1,串行数据发送引脚 )进行数据传输, 经过串并转换器 74LS164 并行输出数据。采用串行输出可以大大节省单片机的内部资源,串并转换器采用 74LS164, 驱动七段数码管 8, 低电平时 允许通过 8mA 的电流,无需添加其他的驱动电路,采用较小的驱动电流就可以得到较高的显示亮度 , 其电路图如图 3-4 所示 7, 8: 吉林农业大学本科毕业设计 6 图 3-4显示电路图 Fig. 3-4 Show Circuit 3.3.4 时钟模块 时钟 电路由时钟芯片 DS1302 及其外围电路组成,由于 DS1302 是串行时钟芯片, 与单片机的连线少,只需要三根口线 分别与 DS1302串行总线的 I/O, SCLK, RST 相连 。其电路图如图 3-5所示: 图 3-5 时钟电路图 Fig. 3-5 Clock Circuit 吉林农业大学本科毕业设计 7 3.3.5 键盘控制模块 整个系统的工作 通过 按键进行控制,按下 AN1 键显示当前室内温湿度值并语音播报;按下 AN2 键显示当前时间并语音播;按下 AN4 键显示当前室内温度值并语音播报;按下 AN5 键显示当前室内湿度值并语音播报; 按下 AN3 键进入时间调整状态,此时按下 AN4 键调整小时位,按下 AN5 键调整分位; AN6 键为时间调整确认 /音乐键。 图 3-6 按键 控制 电路图 Fig. 3-6 Keyboard Control Circuit 3.4 硬件电路主要器件 3.4.1 AT89C51 单片机 AT89C51是一种带 4K字节闪烁可编程可擦除只读存储器 ( FPEROMFalsh Programmable and Erasable Read Only Memory) 的低电压,高性能 CMOS8位微处理器,俗称单片机。 AT89C51是一种带 4K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除 100次。该器件采用 ATMEL高密度非易失存储器制造技术制造,与工业标准的 MCS-51指令集和输出管脚相兼容。由于将多功能 8位 CPU和闪烁存储器组合在单个芯片中, ATMEL的 AT89C51是一种高效微控制器, AT89C2051是它的一种精简版本。 AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 主要特性: 与 MCS-51兼容; 4K字节可编程闪烁存储器,寿命: 1000写 /擦循环,数据保留时间: 10年;全静态工作: 0Hz-24Hz;三级程序存储器锁定; 128*8位内部 RAM;32可编程 I/O线;两个 16位定时器 /计数器; 5个中断源;可编程串行通道; 低功耗的闲置和掉电模式;片内振荡器和时钟电路。 3.4.2 温湿度传感器 SHT11 SHT11 温湿度传感器的主要特性如下: 将温湿度传感器、信号放大调理、 A/D转换、 I2C总线接口全部集成于一芯 ( CMOSensTM技术);可给出全校准相对湿度及温度值输出;带有工业标准的 I2C总线吉林农业大学本科毕业设计 8 数字输出接口;具有露点值计算输出功能;具有卓越的长期稳定性;湿度值输出分辨率为 14位,温度值输出分辨率为 12位,并可编程为 12位和 8位;小体积( 7.655.0823.5mm),可表面贴装; 具有可靠的 CRC数据传输校验功能; 片内 装载的校准系数可保证 100%互换性 ;电源电压范围为 2.4-5.5V;电流消耗 ,测量时为 550uA,平均为 28uA,休眠时为 3uA。 SHT11温湿度传感器采用 SMD(LCC)表面贴片封装形式,管脚排列 及典型应用电路如图 3-7所示 。 引脚说明如下: GND:接地端; DATA:双向串行数据线; DATA三态门用于数据的读取。 DATA在 SCK时钟下降 沿之后改变状态,并仅在 SCK时钟上升沿有效。数据传输期间,在 SCK时钟高电平时,DATA必须保持稳定。为避免信号冲突,微处理器应驱动 DATA在低电平。需要一个外部的上 拉电阻(例如: 10k)将信号提拉至高电平 。 SCK:串行时钟输入; VDD电源端: 0.4 5.5V电源端; 电源引脚( VDD, GND)之间可增加一个 100nF 的电容,用以去耦滤波。 NC:空管脚。 图 3-7 SHT11 引脚图及 典型应用电路 Fig.3-7 SHT11 foot Map and Typical Application Circuit 工作原理 SHT11的湿度检测运用电容式结构,并采用具有不同保护的 “ 微型结构 ” 检测电极系统与聚合物覆盖层来组成传感器芯片的电容,除保持电容式湿敏器件的原有特性外,还可抵御来自外界的影响。由于它将温度传感器与湿度传感器结合在一起而构成了一个单一的个体,因而测量精度较高且可精确得出露点,同时不会产生由于温度与湿度传感器之间随温度梯度变化引起的误差。 CMOSensTM技术不仅将温湿度传感器结合在一起,而且还将信号放大器、模数转换器、校准数据存储器、标准 I2C总线等电路全部集成在一个芯片内。 SHT11传感器的内部结构框图如图 3-8所示 : 吉林农业大学本科毕业设计 9 图 3-8 SHT11内部结构框图 Fig.3-8 SHT11 Internal Structure Diagram SHT11的每一个传感器都是在极为精确的湿度室中校准的。 SHT11传感器的校准系数预先存在 OTP内存中。经校准的相对湿度和温度传感器与一个 14位的 A/D转换器相连,可将转换后的数字温湿度值送给二线 I2C总线器件,从而将数字信号转换为符合 I2C总线协议的串行数字信号。 湿度值输出 SHT11可通过 I2C总线直接输出数字量湿度值,其相对湿度数字输出特性曲线 图 3-8所示。由图 3-9可看出, SHT11的输出特性呈一定的非线性,为了补偿湿度传感器的非线性,可按如下公式修正湿度值: RHlinear =c1 +c2*SORH +c3*SORH 式中 SORH为传感器相对湿度测量值,系数取值如下 : 12 位 :SORH:c1= 4 , c2=0.040, c3= 62.8 10 8 位 :SORH:c1= 4 , c2=0.648, c3= 47.2 10 图 3-9 从 SORH转换到相对湿度 Fig.3-9 Conversion from SORH to Relative Humidity 吉林农业大学本科毕业设计 10 温度值输出 5 由于 SHT11温度传感器的线性非常好, 故可用下列公式将温度数字输出转换 成实际温度值 : T=d1+d2*SOT 当电源电压为 5V,且温度传感器的分辨率为 14位时 : d1 = 40 , d2 =0. 01 当温度传感器的分辨率为 12位时 : d1= 40 , d2 =0. 04 SHT11传感器共有 5条用户命令,具体命令格式见表 3-1所列 。 表 3-1 SHT11命令集 Tab. 3-1 SHT11 List of Commands 命令 编码 说明 测量温度 00011 温度测量 测量湿度 00101 湿度测量 读寄存器状态 00111 “读 ”状态寄存器 写寄存器状态 00110 “写 ”状态寄存器 软启动 11110 重启芯片,清楚状态记录器的错误记录 11毫秒后进入下一个命令 当发出了温湿度测量命令后,控制器就要等到测量完成。使用 8/12/14位的分辨率测量分别需要大约 11/55/210ms的时间。为表明测量完成, SHT11会使数据线为低,此时控制器必须重新启动 SCK,然后传送两字节的测量数据与 1字节 CRC校验和。控制器必须通过使 DATA为低来确认每一个字 节,所有的量均从右算, MSB列于第一位。通讯在确认 CRC数据位后停止。如果没有用 CRC-8校验和,则控制器就会在测量数据 LSB后保持ack为高以停止通讯, SHT11在测量和通讯完成后会自动返回睡眠模式。需要注意的是:为使 SHT11的温升低于 0.1 ,此时的工作频率不能大于标定值的 15%(如 :12位精确度时,每秒最多进行 3次测量)。测量温度和湿度命令所对应的时序如图 3-10所示。 图 3-10 测量时序概览 (TS = 启动传输 ) Fig3-10 Overview of Measurement Sequence (TS = Transmission Start) 寄存器配置 SHT11传感器中的一些高级功能是通过状态寄存器来实现的,寄存器各位的类型及说明见表 3-4所列。 吉林农业大学本科毕业设计 11 表 3-2 SHT11状态寄存器位 Tab. 3-2 SHT11 Status Register Bits 位 类型 说明 缺省 备注 7 预留 0 6 读 电量不足 (低电压检测 ) 0对应 Vdd 2.47 1对应 Vdd 操作摘要 POWERUP 00100 上电 :等待 TPUD 后器件可以工作 SET PLAY 11100 从指定地址开始放音。必须后跟 PLAY 指令使放音继续 PLAY 11110 从当前地址开始放音 (直至 EOM 或 OVF) SET REC 10100 从指定地址开始录音。必须后跟 REC 指令录音继续 REC 10110 从当前地址开始录音 (直至 OVF 或停止 ) SET MC 11101 从指定地址开始快进。必须后跟 MC 指令快进继续 MC 11111 执行快进 ,直到 EOM.若再无信息 ,则进入OVF 状态 STOP 0X110 停止当前操作 STOP WRDN 0X01X 停止当前操作并掉电 RINT 0X110 读状态 :OVF 和 EOM 注:快进只能在放音操作开始时选择。 SPI 控制寄存器控制器件的每个功能 ,如录放、录音、信息检索 (快进 )、上电 /掉电、开始 和停止操作、忽略地址指针等。详见下表: 吉林农业大学本科毕业设计 14 表 3-4 SPI 控制寄存器 Tab. 3-4 SPI Control Register 位 值 功 能 位 值 功 能 RUN = = 1 0 允许 /禁止操作 开始 停止 PU = = 1 0 电源控制 上电 掉电 P/R = = 1 0 录 /放模式 放取 录 IAB = = 1 0 操作是否使用指令地址 忽略输入地址寄存的内容 使用输入地址寄存的内容 MC = = 1 0 快进模式 允许快进 禁止 P10-P0 A10-A0 行指针寄存器输出 输入地址寄存器 注: IAB 置 0 时 ,录、放操作从 A9-A0 地址开始。为了能连贯地录、放到后续的存储空间 ,在操作到达该行末之前 ,应发出第二个 SPI 指令将 IAB 置 1,否则器件在同一地址上反复循环。这个特点对语音提示功能很有用。 RAC 脚和 IAB 位可用于信息管理。 3.4.4 DS1302 的结构及工作原理 DS1302是美国 Dallas公司推出的一种高性能、低功耗、带 RAM 的实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达 2.5 5.5V。采用 三线接口与 CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。 DS1302内部有一个 318的用于临时性存放数据的 RAM 寄存器。 DS1302是 DS1202的升级产品,与 DS1202兼容,但增加了主电源 /后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。 引脚功能及结构图 DS1302的引脚如图 3-12所示 : 图 3-12 DS1302 引脚图 Fig.3-12 DS1302-Pin Map VCC1为后备电源, VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。 DS1302由 VCC1或 VCC2两者中的较大者供电。当 VCC2大于 VCC1+0.2V时, VCC2给 DS1302供电。当 VCC2小于 VCC1时, DS1302由 VCC1供电。 X1、 X2为振荡源,外接吉林农业大学本科毕业设计 15 32.768Hz晶振。 RST是复位,片选线,通过把 RST输入驱动置高电平来启动所有的数据传送。 RST 输入有两种功能: (1) RST 接通控制逻辑,允许地址 /命令序列送入移位寄存器; (2) RST提供了终止单字节或多字节数据的传送手段。当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302进行操作。如果在传送过程中置 RST为低电平,则会终止此次数据传送,并且 I/O引脚变为高阻态。上电运行时,在 VCC2.5V之前, RST 必须保持低电平。只有在 SCLK为低电平时,才能将 RST置为高电平。 I/O为串行数据输入输出端 (双向 ),下文有详细 说明。 SCLK为时钟输入端。 DSl302的控制字节说明 DS1302的控制字节 如表 3-5所示, 最高有效位 (位 7)必须是逻辑 1,如果它为 0,则不能把数据写入到 DS1302中 ; 位 6如果为 0,则表示存取日历时钟数据,为 1表示存取 RAM 数据;位 5至位 1指示操作单元的地址 ; 最低有效位 (位 0)如为 0表示要进行写操作,为 1表示进行读操作,控制字节总是从最低位开始输出。 表 3-5 DS1302控制字节 Tab. 3-5 DS1302 Control Bytes 7 6 5 4 3 2 1 0 1 RAM /CK A4 A3 A2 A1 A0 RD /WR 数据输入输出 I O 在控制指令字输入后的下一个 SCLK时钟的上升沿时数据被写入 DS1302,数据输入从低位即位 0开始。同样,在紧跟 8位的控制指令字后的下一个 SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位 0位至高位 7。 DSl302的寄存器 DS1302共有 12个寄存器,其中有 7个寄存器与日历、时钟相关,存放的数据位为 BCD码形式,其日历、时间寄存器及其控制字如表 3-6所列。 表 3-6 DS1302寄存器分配表 Tab. 3-6 DS1302 Register Allocation 寄存器名 命令字 取值范围 各位内容 写操作 读操作 7 6 5 4 3 2 1 0 秒寄存器 80H 81H 00 59 启动 十位 个位 分寄存器 82H 83H 00 59 0 十位 个位 时寄存器 84H 85H 01 12或00 23 12/24 0 10 十位 个位 日寄存器 86H 87H 01 28,29, 30, 31 0 0 十 位 个位 月寄存器 88H 89H 01 12 0 0 0 10M 个位 周寄存器 8AH 8BH 01 07 0 0 0 0 0 个位 吉林农业大学本科毕业设计 16 年寄存器 8CH 8DH 00 99 十位 个位 此外, DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM 相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与 RAM 相关的寄存器分为两类,一类是单个 RAM 单元,共 31个,每个单元组态为一个 8位的字节,其命令控制字为 C0HFDH,其中奇数为读操作 ,偶数为写操作;另一类为突发方式下的 RAM 寄存器,此方式下可一次性读写所有的 RAM 的31个字节,命令控制字为 FEH(写 )、 FFH (读 )。 4 系统软件设计 4.1 系统软件总体设计思想 为了便于 程序的调用和程序的调试 ,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明 , 使硬件在软件的控制下协调运作。 电路在上电后,程序首先完成温湿度传感器 SHT11的初始化,然后进入温湿度测量子程序,从 SHT11读出当前室内的温湿度数据,在此时如果数据已经传递完毕,则 ack=1,终止通讯,否则继续;之后调用温湿度 转换程序,将温湿度数据转换成摄氏温度 /相对湿度。在此期间查询按键状态,如果有按键按下, 则转去执行该按键指向的工作程序 ,语音播报当前室内的温湿度。 4.2 各功能模块的软件设计 4.2.1 温湿度测量的程序设计 当一个 SCK高电平时, DATA 出现低电平,然后 SCK变为低电平,接着当 SCK 高电平时 DATA变为高电平则表示开始数据读写 (启动序列 )。然后是 3 B的地址 +5 B的命令,然后在 SCK继续发送一个周期的时钟表示 ACK,这时传感器开始测量,约 11 55 210 ms(分别对应 8 12 14位精度 )后,传 感器在 DATA上送出低电平表示测量结束,然后送出测量数据和校验 值 。为保证测量的可靠,应核对校验 值。下面是 SHT11的读写程序: /* 函数名称: IICSendByte 入口参数: ch 函数功能: 发送一个字节 */ void IICSendByte(unsigned char ch) unsigned char idata n=8; /* 向 SDA上发送一位数据 字节,共八位 */ while(n-) 吉林农业大学本科毕业设计 17 if(ch&0x80) = 0x80) /* 若要发送的数据最高位为 1则发送位 1 */ SDA = 1; /* 传送位 1 */ SCL = 1;SCL = 0; else SDA = 0; /* 否则传送位 0 */ SCL = 1;SCL = 0; ch =

温馨提示

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

评论

0/150

提交评论