语音温度计设计报告
具有语音播报功能的数字温度计设计

具有语音播报功能的数字温度计设计摘要:本课题针对普通温度计无法播报、灵敏度低、读数不易识别等特点,提出了具有语音播报功能的数字式温度计的设计方案。
选用AT89C51为主控芯片进行温度信号采集、数据处理和语音播放等控制,选用DS18B20对环境温度进行采集,ISD1760进行语音存储与播放,通过ZLG7290实现按键控制,使用128*64液晶来显示温度,时钟芯片PCF8563实现定时功能,以上构建了硬件电路。
该语音温度计测量范围为-25~60℃,误差为±0.5℃,该语音温度计测温速度快,读数方便,语音清晰,语音可定时播报,可广泛用于家庭生活,工厂,实验室等场合。
关键词:AT89C51;语音播报;数字式温度计The design of digital thermometer with speech functionAbstract:The topic for the ordinary thermometer can’t broadcast, low sensitivity, reading is not easy to identify the characteristics, puts forward a design scheme of the digital thermometer with voice broadcast function. Using AT89C51 as the main control chip for temperature signal collecting, data processing and voice playback control, use DS18B20 to collect the environmental temperature, ISD1760 for voice storage and display, through the ZLG7290 to realization control of buttons, the use of 128*64 LCD to display the temperature, the clock chip PCF8563 to realize the timing function, all those set up the construction of the circuit system. The voice thermometer measuring range is -25 ~ 60 ℃, error is ±0.5 ℃. This kind of voice thermometer measurement temperature is fast, else broadcast is convenient, clear voice, and the broadcast can be timing, so this kind of thermometer can be widely used in families, factories, laboratories and other occasions.Key words: AT89C51; voice broadcast; digital thermometer目录第1章绪论 (1)1.1选题目的和意义: (1)1.2本课题在国内外的研究状况及发展趋势: (1)1.3 本课题主要讨论问题 (1)第2章方案选择与论证 (3)2.1系统的总体设计思路 (3)2.2核心控制CPU模块 (3)2.3温度采集模块 (4)2.4显示模块和键盘控制 (4)2.5语音播报模块 (5)2.6时钟芯片模块 (6)第3章系统硬件电路设计 (8)3.1核心控制CPU的介绍 (8)3.1.1 AT89C51的功能描述 (8)3.1.2 AT89C51管脚功能 (8)3.1.3 AT89C51系统资源的分配 (10)3.2温度传感器模块 (10)3.2.1 DS18B20的功能描述 (10)3.2.2 DS18B20的特点 (10)3.2.3 DS18B20的测温原理 (11)3.2.4 DS18B20与A T89C51的接口电路设计 (13)3.3语音播报模块 (13)3.3.1 ISD1760语音模块功能描述 (13)3.3.2 ISD1760各引脚功能描述 (14)3.3.3 ISD1760语音芯片录放音电路设计 (16)3.4显示电路 (18)3.4.1 LCD12864液晶模块的功能描述 (18)3.4.2 LCD12864液晶显示模块与A T89C51接口电路设计 (18)3.5键盘以及定时电路 (19)3.5.1 ZLG7290的功能描述 (19)3.5.2 ZLG7290的原理及硬件接口电路设计 (20)第4章系统的软件设计 (21)4.1系统的主程序设计 (21)4.2测量温度子程序 (22)4.3 ISD1760语音播报子程序 (23)结束语 (24)致谢 (25)参考文献 (26)附录1 总电路图 (27)附录2 系统主程序 (28)附录3 测量温度子程序 (29)附录4 ISD1760语音播报子程序 (30)附录5 英文文献原文及翻译 (31)第1章绪论1.1选题目的和意义:温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究合适的测温方法和测温装置具有重要的意义。
简易设计基于单片机的语音温度计

简易设计基于单片机的语音温度计一、引言随着科技的发展,单片机技术得到了广泛的应用,其在各个领域都有着重要的作用。
而语音识别技术也逐渐成为了人们生活中的一部分。
本设计将结合单片机技术和语音识别技术,设计一款语音温度计,旨在方便人们快速获取当前的环境温度。
二、设计思路本设计采用基于单片机的语音温度计,其主要思路如下:1. 温度传感器测量环境温度,并将数据传输给单片机;2. 单片机通过语音识别技术将温度数据转化为语音;3. 用户通过语音输入指令,可以实现温度的查询、设置等功能;4. 设计一个简洁的外观,操作简单、方便。
三、硬件设计1. 单片机选择本设计选用STM32单片机,其性能稳定、功能丰富,并且有着较强的扩展性,可以满足语音识别和温度测量的需求。
2. 温度传感器采用DS18B20数字温度传感器,其具有精度高、抗干扰能力强等特点。
3. 麦克风选择高灵敏度的麦克风模块,用于接收用户的语音指令。
4. 语音播放模块使用语音合成芯片,将单片机转化的文本数据转化为语音输出。
四、软件设计1. 温度测量通过单片机读取DS18B20传感器测得的温度数据,进行转换和处理。
2. 语音识别采用语音识别算法,将温度数据转化为语音输出。
用户可以通过语音指令查询当前温度。
3. 用户交互设计简单的用户界面,通过语音指令实现温度查询、设置等功能。
4. 状态显示通过LED等指示灯显示当前的工作状态,方便用户了解系统当前的状态。
五、功能设计1. 温度查询用户可以通过语音询问当前的温度情况。
2. 温度设置允许用户设置温度报警值,当温度超过设定值时,系统会通过语音提醒用户。
3. 语音反馈系统通过语音输出当前的温度数据,方便用户获取信息。
六、工作流程1. 系统初始化2. 温度传感器读取环境温度数据3. 单片机进行数据处理4. 语音识别模块将数据转化为语音5. 用户通过语音指令进行交互6. 系统通过语音反馈温度数据7. 用户根据语音提示进行操作七、结论本设计基于单片机和语音识别技术,设计了一款语音温度计。
简易设计基于单片机的语音温度计

简易设计基于单片机的语音温度计随着科技的不断发展,我们的生活变得越来越便利。
而在日常生活中,我们经常会需要测量温度,尤其是在烹饪、医疗、室内温度控制等方面。
为了更加方便快捷地测量温度,我们可以利用单片机和语音识别技术来制作一个简易的语音温度计。
一、设计思路在设计这个语音温度计的过程中,我们需要使用单片机来采集温度数据,并利用语音识别模块来实现语音交互功能。
我们需要选用一款适合的单片机模块,例如Arduino或者Raspberry Pi,这些单片机模块具有强大的功能和良好的扩展性,非常适合用来制作语音温度计。
我们需要选择一款合适的温度传感器,常用的有DS18B20数字温度传感器或者DHT11数字温湿度传感器,这些传感器可以通过数字信号输出当前的温度值。
我们还需要选用一款语音识别模块,例如语音识别模块V3,它可以实现语音的采集和识别功能。
设计思路可以简单总结为:单片机采集温度数据,语音识别模块实现语音交互功能,用户可以通过语音指令查询当前温度值。
二、硬件连接在实际操作中,我们首先需要将温度传感器连接到单片机模块上,然后再将语音识别模块连接到单片机模块上。
接下来,我们需要编写相应的硬件连接代码,使得单片机能够读取到温度数据,并实现与语音识别模块的通讯功能。
接下来是单片机的部分代码设计:```#include <OneWire.h>#include <DallasTemperature.h>#define ONE_WIRE_BUS 2OneWire oneWire(ONE_WIRE_BUS);DallasTemperature sensors(&oneWire);void setup(void){Serial.begin(9600);sensors.begin();}void loop(void){sensors.requestTemperatures();float temperatureC = sensors.getTempCByIndex(0);Serial.print("Temperature: ");Serial.print(temperatureC);Serial.println(" °C");delay(1000);}```这部分代码实现了单片机模块与温度传感器的连接,并可以实时读取温度数据并通过串口输出。
简易设计基于单片机的语音温度计

简易设计基于单片机的语音温度计
单片机语音温度计是一种利用单片机和语音模块设计的温度测量仪器。
它可以实时测量环境温度,并通过语音播报将温度数据告知用户。
该设计所需要的材料和器件有:一个单片机模块、一个温度传感器、一个语音模块、一个音频放大器以及一些电阻和连接线。
将温度传感器连接到单片机模块的ADC引脚上。
ADC引脚用于将模拟信号转换为数字信号,以便单片机能够读取温度传感器的数据。
接下来,将语音模块连接到单片机模块的IO口上。
通过IO口,单片机可以控制语音模块的播放和停止等功能。
然后,编写单片机的程序。
程序的主要功能是实时读取温度传感器的数据,并将数据转换为语音播放的格式。
可以根据需求,设计不同的语音播报内容,如“当前温度为XX摄氏度”。
在程序编写完成后,将程序下载到单片机模块上,并将整个电路连接好。
当电路连接完成后,该语音温度计就可以工作了。
用户只需要监测温度传感器所处的环境温度,温度数据会通过语音播报的方式告知用户。
单片机语音温度计是一种简单实用的温度测量仪器,具有方便、快捷的优点。
它可以广泛应用于家庭、办公室、工厂等场所,帮助用户及时获取环境温度信息。
简易设计基于单片机的语音温度计

简易设计基于单片机的语音温度计在我们现代生活中,温度计是一个非常常见的生活工具。
我们经常使用温度计来测量室内外的温度,以便我们可以根据温度变化来调节室内的温度、选择合适的衣物或者提前预防疾病。
而随着科技的发展,一些新的温度计开始出现,比如语音温度计。
本文将介绍如何基于单片机制作一个简易的语音温度计。
一、设计方案语音温度计的设计方案基于单片机,通过单片机来测量温度,并且通过语音合成模块将温度信息转化为语音输出。
具体来说,设计方案如下:1.温度传感器:使用一款数字温度传感器来测量环境的温度。
传感器有许多种选择,比如DS18B20、DHT11等都可以。
2.单片机:选择一款带有模拟输入输出端口和串口的单片机,比如Arduino、STM32等。
3.语音合成模块:语音合成芯片可以将数字信息转化为语音输出。
这里我们选择一个简易的语音合成模块,比如ISD1820。
4.输出设备:为了让用户可以听到语音输出,我们需要连接一个扬声器。
通过以上四个部分的组合,我们可以实现一个简易的语音温度计。
下面我们将详细介绍每个部分的具体实现和连接方法。
二、硬件设计1.连接温度传感器:将温度传感器的数据线连接到单片机的模拟输入端口,同时连接到单片机的VCC和GND端口。
在Arduino上连接DS18B20传感器需要使用OneWire库和DallasTemperature库,并通过编程获取温度值。
2.连接语音合成模块:将语音合成模块的数据线连接到单片机的串口,同时连接到单片机的VCC和GND端口。
在Arduino上控制ISD1820语音合成模块,我们需要使用对应的库来实现串口通信。
3.连接输出设备:将扬声器连接到语音合成模块的输出端口。
通过以上硬件设计,我们完成了整个语音温度计的硬件部分的搭建。
接下来我们需要着手进行软件的编程设计。
1.获取温度值:通过编程读取温度传感器的数值,并将其转化为摄氏度的数值。
2.语音合成输出:将得到的温度数值转化为对应的语音输出,并通过单片机控制语音合成模块进行语音播放。
简易设计基于单片机的语音温度计

简易设计基于单片机的语音温度计全文共四篇示例,供读者参考第一篇示例:在日常生活中,温度计是一种常用的测量温度的工具。
而随着科技的发展,基于单片机的温度计设计也成为了一种新的趋势。
今天,我们就来介绍一种简易设计基于单片机的语音温度计。
一、设计思路我们的语音温度计设计思路是利用单片机来读取温度传感器所采集到的温度值,并通过语音模块来将温度值转换成语音输出。
用户可以直接通过语音来获取当前温度,从而实现便捷的测温功能。
二、硬件设计在硬件设计方面,我们使用温度传感器来采集环境温度,并将采集到的数据传输给单片机进行处理。
我们还需要加入语音模块,将处理后的温度数据转换成语音输出。
整个设计中,单片机起着核心的作用,负责数据的处理和控制。
三、软件设计在软件设计方面,我们需要编写单片机的程序来实现温度数据的读取和处理,以及语音输出的控制。
具体来说,我们需要编写温度传感器的驱动程序和数据处理程序,以及语音模块的控制程序。
还需要考虑用户的交互设计,使得用户可以通过简单的语音指令来获取所需的温度信息。
四、功能实现通过以上的硬件和软件设计,我们实现了一款简易的基于单片机的语音温度计。
用户只需要触发语音模块,就可以通过语音输出得知当前的温度。
这种设计不仅减轻了用户的操作负担,还提升了测温的便捷性。
五、应用价值这种基于单片机的语音温度计具有广泛的应用价值。
在家庭生活中,用户可以轻松地获取室内外的温度信息,为生活提供便利。
在工业领域,可以用于监控生产环境的温度变化,保障生产的质量和安全。
这种设计还可以用于医疗领域,帮助医生和护士及时监测病人的体温。
基于单片机的语音温度计在实现简单的功能的也带来了便捷和实用的用户体验。
未来,随着科技的不断发展,更多基于单片机的智能温度计设计将不断涌现,为人们的生活和工作带来更多的便利和安全。
第二篇示例:简易设计基于单片机的语音温度计随着科技的不断发展,智能设备在人们生活中扮演着越来越重要的角色。
智能家居设备、智能手机等产品在人们的日常生活中起到了极大的便利作用。
数字式智能语音温度计设计

数字式智能语音温度计设计数字式智能语音温度计设计是一种结合了现代传感器技术、微处理器编程和语音识别技术的创新产品。
这种设计可以实时感知环境温度,并通过语音输出使人们更方便地获取温度信息。
以下是关于数字式智能语音温度计设计的关键步骤和详细解释。
一、硬件需求1.温度传感器:用于感知环境温度,如DS18B20或NTC热敏电阻等。
2.微控制器:用于处理传感器数据和控制语音输出,如Arduino、RaspberryPi等。
3.语音识别模块:用于接收用户输入的语音指令,如Google Speech-to-TextAPI、Dragon NaturallySpeaking等。
4.语音输出模块:用于将处理后的语音信息播放出来,如扬声器或耳机。
二、设计步骤1.温度感知:温度传感器应被选择并连接到微控制器的一个输入端口。
微控制器通过读取该端口的电压变化来感知环境温度。
具体的读取方法将依赖于所选的传感器型号和微控制器的编程接口。
2.数据处理:微控制器将对从温度传感器读取的数据进行处理,将其转换为实际的温度读数。
这一步需要用到一些基本的Arduino或Raspberry Pi编程技巧,以及一些数学运算(例如,使用DS18B20传感器的非线性温度转换算法)。
3.语音识别:将语音识别模块与微控制器相连,使得微控制器能够“听懂”用户的语音指令。
这些指令可能包括“读取温度”、“调整音量”等等。
这一步可能需要向语音识别模块发送和接收一些文本数据,这同样需要相应的编程接口和技巧。
4.语音输出:当微控制器接收到一个有效的语音指令后,它将调用一个预设的函数来通过语音输出模块播放相应的信息。
例如,如果用户说“读取温度”,微控制器就会播放环境当前的温度读数。
5.集成和测试:最后,所有的硬件和软件组件需要集成在一起进行测试。
测试过程中需要确保所有组件都能正常工作,并相互配合以实现预期的功能。
三、编程与优化在实现基本功能后,可以对微控制器进行更深入的编程和优化,以使其性能达到最佳,例如:1.用户界面优化:可以根据用户的反馈来改进产品的用户界面。
简易设计基于单片机的语音温度计

简易设计基于单片机的语音温度计
语音技术在智能家居中的应用日益增多,本设计基于单片机和语音技术控制温度计,
实现了人性化的交互方式和智能化的控制功能。
1.概述
本设计的核心是基于STM32单片机控制的温度计,能够实现温度的检测和调节控制,
并利用语音技术进行交互。
用户可以通过语音指令或按钮控制设备的工作模式、设定温度
以及获取实时温度信息。
2.硬件设计
本设计需要的硬件有STM32单片机、温度传感器、DC电机、OLED屏幕、麦克风、喇叭、按钮等模块。
其中,温度传感器为LM35型号,OLED屏幕为0.96寸,DC电机可用于控制空调等设备。
本设计的软件部分包括主程序和语音识别程序两部分,主程序实现温度检测、温度调
节控制和屏幕显示等功能,语音识别程序实现语音交互。
(1)主程序设计
主程序主要包括以下功能:
a.温度检测:利用LM35温度传感器实时检测环境温度,并将数据传输到单片机。
b.温度调节控制:利用DC电机控制温度调节,通过按钮或语音指令设定温度,根据实际温度情况自动调节空调或加热器等设备。
c.屏幕显示:将获取到的温度信息显示在OLED屏幕上,实时显示设备状态及温度信息。
4.系统实现
本设计中,麦克风和喇叭模块分别用于输入和输出语音信息,用户发出语音指令后,
麦克风通过语音识别程序识别指令,触发主程序进行相应的操作,系统通过OLED屏幕显示温度、设备状态等信息。
利用DC电机控制温度调节,达到设定温度后自动停止调节工作。
5.总结。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语音温度计项目设计1 设计要求利用所学的电子电路、单片机、计算机方面的有关知识,设计语音温度计。
以AT89S51单片机为核心,用DS18B20数字温度传感器来采集环境温度,用数码管显示,测量范围为:0-100摄氏度,能够使用语音芯片来实现语音报温并且能够记录和修改报警温度值。
2 设计基本原理本次设计题目为语音温度计的设计,因为要用单片机去完成程序控制,以及数据转换,故外围电路设计起来就比较简单,具体说来整个硬件设计大体有如下几个部分:核心控制CPU,环境温度采集,数码管显示,语音播报, 键盘以及超量报警。
所以设计的重点也就转移到程序设计上来。
硬件电路的系统框图如图 1 所示:图1 语音温度计设计的系统框图3. 设计方案3.1 系统电路的硬件设计系统电路的硬件电路图如图2所示:图2 系统电路图由前面图1的系统框图可以知道电路的设计大概就是分为5部分,即核心控制CPU、键盘、温度采集、语音录放以及显示电路。
以下将分别介绍各个模块的工作原理,以及在整个电路种的接口的电路。
3.1.2键盘控制模块在单片及应用系统中,为了控制系统的工作状态以及向系统中输入数据,应用系统应该设有按键或键盘。
例如复位用复位按键,功能转换用功能键以及数据输入用数字键盘等。
单片机应用系统中除了复位按键有专门的复位电路,以及专一的复位功能外,其他按键或键盘都是以开关状态来设置功能或输入数据的。
因此,这些开关不只是简单的用于电平输入。
当所设的功能键或数字键按下时,计算机应用系统应完成该键所设的功能。
因此,键信息输入是与软件结构密切相应的过程。
对某些应用系统来说,键输入程序是整个键盘控制应用系统的核心。
图4就是单片机键扫描框图:对于一组键,或一个键盘,总有一个接口电路与CPU相连。
通过软件了解键输入信息,CPU可以采用中断的方式或查询方式了解有无按键按下并检查是哪一个键按下,当有键按下时,执行该键的功能程序。
键输入接口与软件应可靠而快速的实现键信息输入与键功能任务。
为此,应解决下图4 键盘扫描框图列问题。
①键开关状态的可靠输入:目前,无论是按键或键盘都是机械触点的合断作用。
由于机械触点的弹性作用,在闭合及断开瞬间均有抖动过程,会出现一系列负脉冲。
抖动时间长短与开关的机械特性有关,一般为5—10ms。
按键的稳定闭合周期,有操作人员的按键动作所决定,一般为十分之几秒至几秒的时间。
为了保证CPU对键一次闭合,仅作一次键输入处理,必须去抖动影响。
通常去抖动影响的措施有软件和硬件两种。
采用软件去抖的办法是在检测到有按键按下时,执行一个5-10ms的延迟程序后在确认该键电平是否仍保持闭合状态电平,如保持闭合状态电平则确认为真正键按下的状态,从而消除了抖动影响。
②选择键盘检测方法:对于计算机应用系统,键盘扫描只是CPU工作的一部分,键盘处理只是在有键按下是才有意义。
对是否有键按下的信息输入方式有中断方式与查询方式两种。
③编制好键盘程序:一个完善的键盘控制程序应具备下列功能:a检测有无按键按下。
b有按键按下后,在无硬件去抖电路时,应有软件延时方法去除抖动影响。
C有可靠的逻辑处理方法。
如n键所定,即只处理一个键,其间任何按下又松开的键不产生影响;不管一次按键持续有多长时间,仅执行一次按键功能程序。
另外,独立式按键也经常使用到。
独立式按键是指直接用I/O口线构成的单个按键电路。
每个独立式按键单独占有一根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线的工作状态。
独立式按键电路配置灵活,软件机构简单,但每个按键必须占用一个根I/O口线,在按键数量较多时,I/O口线浪费较大。
故在按键数量不多时,常采用这种按键电路。
本次设计中采用的P1口作为I/O口,连接着单个按键开关,分别来控制录音、放音、显示报警温度限以及增加报警温度值和减小报警温度值等功能,电路中用了整个P1口,多出来的几个按键是为了进行电路的扩展使用的,可以实现更多的功能。
当然前提是在基本实现前面的温度显示和语音报温的基础上才做扩展电路部分。
3.1.3温度采集模块(1)概述要测量温度必须进行温度采集,而温度采集的精度将直接关系到所测温度的精度。
在本次设计中采用了DS18B20来作为数据采集器,它的精度最少可以精确到0.0625,完全可以用来进行环境温度的测量。
DS18B20是美国DALLAS 公司生产的单总线数字温度传感器,可把温度信号直接转换成串行数字信号供微处理器处理,而且可以在一条总线上挂接任意多个DS18B20芯片,构成多点温度检测系统无需任何外加硬件。
DS18B20 数字温度传感器可提供9~12 位温度读数,读取或写入DS18B20 的信息仅需一根总线,总线本身可以向所有挂接的DS18B20 芯片提供电源,而不需额外的电源。
由DS18B20 这一特点,非常适合于多点温度检测系统,硬件结构简单,方便联网,在仓储管理、工农业生产制造、气象观测、科学研究以及日常生活中被广泛应用。
温度传感器的特点如下:①数据传输采用单总线(1 - Wire Bus) 结构,无需外围其它元件②能应用在分布式测量系统中③温度输出为9bit~12bit 可编程④测温范围为- 55 ℃~ + 125 ℃,在- 10 ℃~85 ℃时精度为±0. 5 ℃⑤输出分辨率为12bit 时最大的转换时间为750ms⑥具有可编程的温度报警功能⑦具有可靠的CRC 数据传输校验功能⑧电源电压范围为3~5.5V⑨低功耗,无外部供电电源也能可靠工作(2)温度传感器的使用单总线数字温度传感器DS18B20可以采用TO-92的封装或8 脚SOIC 封装。
其引脚排列及含义如图5所示:图5 DS18B20的TO-92封装和SOIC封装DS18B20 的供电方式有两种:一种是寄生电源;另一种为外电源供电,因为多个器件挂在总线上,为了识别不同的器件,在程序设计中一般有四个步骤:初始化命令、传送ROM 命令;传送RAM命令;数据交换命令。
下面就DS18B20 温度传感器件具体介绍其每一部分的时序。
单总线上每一个器件的使用都是从初始化开始的, 初始化的时序是计算机先发出480-800us 的复位脉冲, 在15-60us后, 一个或多个单总线器件发出60-240us 的应答脉冲,其时序波形如图6(a)所示。
数据交换命令是用具体的读/写时序脉冲读出单总线上器件所输出的数据,或者向单总线上器件写入数据具体写“1”、写“0”和读信号时序见图图6(b)、图6(c)和图6(d)。
只要将复位、读、写的时序了解清楚,使用DS18B20, 就不会出现什么困难了。
DS18B20 无论是初始化还是读写操作都有较为严格的时序要求。
初始化主机需将总线拉低至少480μs且等待DS18B20 发回的存在脉冲。
DS18B20 将在收到复位脉冲后15~60μs 后将总线拉低60~240μs 作为存在脉冲,故主机需等待15~60μs 读取存在脉冲。
读写时序分别包括“写1”“写0”时序和“读1”“读0”时序。
所有读写时序必须经过至少60μs 且在各个读写时序之间要有1μs 的恢复时间。
(a)初始化信号(b)写“1”信号(c)写“0”信号(d)读信号图6 DS18B20的时序波形如果计算机检测到单总线上有器件存在, 就可以发出传送ROM命令。
具体的传送ROM命令格式如表2 所示。
表2 DS18B20的ROM命令传送RAM 命令是当上述命令之一被成功执行后,控制机发出的控制命令,它用来访问被选中的器件的存储和控制部件,例如,启动单总线温度传感器DS18B20 , 温度转换等命令。
具体命令见表3。
表3 DS18B20的存储器命令(控制命令)(3)温度传感器的工作原理DS18B20 内部包含四个主要的部件: ①64位刻录的二进制ROM 码;②温度传器;③非易失性温度报警触发器;④一个配置寄存器。
该器件可以从单总线上得到能量并储存在内部电容中,该能量是当信号线处于低电平期间消耗,在信号线为高电平时能量得到补充,这种供电方式称为寄生电源供电。
DS18B20也可以由3~5.5V的外部电源供电。
每一片DS18B20 都有64位长的惟一ROM码。
第一个八位为单总线器件识别码(DS18B20为28h) ,接下来48 位是器件的惟一系列码,最后八位是前56 位的CRC校验码。
CRC校验码按下列多项式计算:CRC = X8+X5+X4+1。
DS18B20 内有一个能直接转化为数字量的温度传感器,其分辨率9 ,10 ,11 ,12bit 并且可编程,通过设置内部配置寄存器来选择温度的转换精度,出厂时默认设置12bit 。
温度的转换精度有0. 5 ℃、0. 25 ℃、0. 125 ℃、0. 0625 ℃。
温度转换后以16bit 格式存入便笺式RAM,可以用读便笺式RAM命令(BEH) 通过1 - Wire 接口读取温度信息,数据传输时低位在前,高位在后。
内部温度数据格式如图7。
温度/数字对应关系如表4所示(分辨率为12bit时)。
低字节高字节图7 内部温度数据格式表4 温度/数字对应关系表DS18B20 内部存储器均为八位,共有9 个便笺式RAM,以及3 个为E2PROM,用于长时间保存高低温报警温度设置值和配置寄存器的值。
用拷贝便笺式RAM命令写E2PROM,当上电复位时E2PROM 的内容传送到便笺式RAM 中高低温报警温度寄存器和配置寄存器.(4)温度传感器与单片机的接口在本次设计中,传感器的DQ端连接单片机AT89S51的P1.0端。
其测量温度子程序的流程图如图9,根据流程图以及DS18B20测量温度所要用到的基本指令来编出所需要的程序。
图9 测温流程图微处理器采集到温度值之后,要进行相应的转换,比如要把二进制转换为十进制或者BCD码,再找出各个字符所对应的ASCII码,以便LED显示,因为LED 只能接收ASCII码,而不能直接接收二进制或者其他任意格式的数据。
3.1.4语音录放模块(1)语音录放集成块的概述ISD1400系列语音芯片是美国ISD(Information Storage Device)公司的新型产品,图10是其原理框图。
它包括时钟振荡器、128K可编程电擦除只读存储器(EEPROM)、低噪前置放大器、自动增益控制电路、抗干扰滤波器、差分功率放大器等电路。
ISD1400系列语音芯片采用直接存储模拟信号,自动待机省电,可编程电擦除只读存储和总线技术。
ISD1400是一种具有高保真、录音数据永久保存、省电、适用于同单片机接口特点的新一代语音芯片。
ISD1420是ISD1400系列中录音时长为20s语音芯片。
图10 ISD1420的原理框图(2)语音芯片的特点ISD1420语音芯片具有以下特点:①采用直接模拟量存储技术(DAST), 重显优质原音②零功率信息存储,无需备用电池,存储的信息可保留10年以上③易于使用,无需编程,可随意改变录音内容,录放次数达10万次以上④具有自动省电功能,录音和回放后即刻进入等待模式,仅需0.5UA 维持电流⑤可分段存储多段信息⑥自带时钟源⑦高抗干扰性能⑧单1-2 标准电源供电⑨可选择DIP 或SOIC 封装⑩可直接驱动8-16欧的喇叭工作,输出不失真功率大于50mW。