基于单片机的数码语音温度计设计

发布者:omega34最新更新时间:2011-08-22 关键字:单片机  数码语音温度计 手机看文章 扫描二维码
随时随地手机看文章

  引 言

  目前便宜的体温计在家中广泛使用,但其通常只用于测量体温,量程小、最大42℃ ;读数不方便,特别是老年人视力不好,不容易读准确; 在测量体温以外的情况下不便使用,并且破损后水银泄漏对身体会造成危害等,一些国家已开始禁止销售水银温度计; 非接触式的红外测温仪虽然方便使用,但价格昂贵。

  1 系统方案设计

  1. 1 系统的工作原理

  单片机对温度传感器的信号进行采集,采集的数据通过处理后一方面输出给数码管进行显示,另一方面输出给语音模块,进行语音温度提示,语音提示的间隔时间通过拨挡开关进行设定,也可以关断语音功能。系统框图如图1 所示。

  

 

  图1 系统的方案框图

  1. 2 系统硬件设计

  1. 2. 1 温度传感器

  采用数字温度传感器DS18B20,该产品采用美国DALLAS 公司生产的可组网数字温度传感器芯片,体积小,使用方便,封装形式多样,适用于各种狭小空间数字测温和控制领域; 由于项目要求能测量液体温度、方便人体接触等,因此采用外加不锈钢保护管的封装形式,具有耐磨耐碰、防水等功能。DS18B20 在与微处理器连接时仅需要一条口线即可实现双向通信,可测温范围: - 55~ + 125℃ ,可编程为9~ 12 位A/ D 转换精度,测温分辨率可达0. 062 5℃ 。被测温度用符号扩展的16 位数字量方式串行输出; 其工作电源既可在远端引入,也可采用寄生电源方式产生; 多个DS18B20 可以并联到3 根或2 根线上, CPU 只需一根端口线就能与诸多DS18B20 通信, 占用微处理器的端口较少,可节省大量的引线和逻辑电路; 连接电路如图2 所示:

  

 

  图2 传感器的连接图

  图2 中传感器的2 脚与单片机的输入/ 输出( I/ O)脚连接,进行双方通信,采用4. 7 k 的电阻上拉。由于DS18B20 单线通信功能是分时完成的,系统对它的各项操作必须严格按协议进行。操作协议为: 初始化DS18B20( 发复位脉冲) →发ROM 功能命令→发存储器操作命令→处理数据,各项操作都有严格的时序要求。

  1. 2. 2 单片机

  采用与MCS51兼容的STC89C52, 具有8K 字节的在系统可编程Flash 存储器,其MOSI、MISO、REST、SCK 等引脚通过锁存后与计算机的并口连接,就可实现对内部的Flash 存储器编程,内含512 B 的RAM, 32 个可编程I/ O口线, 3 个16 位的定时/ 计数器等特点,可以为众多嵌入式控制应用系统提供高灵活、超有效的解决方案,非常适合本项目的应用。

  1. 2. 3 语音模块

  采用美国华帮公司生产的高集成度、高性能的ISD1720 语音录放芯片, 采样率在4~ 12 kHz 之间调节,根据采样频率的不同,可以录存12~ 36 s 的语音信息, 语音信息在该芯片内部的固态多级存储阵列里按行存放,可以通过指令中的11 位地址精确寻址; 该芯片集语音处理和存储于一体,具有重复自开发,掉电信息保存,可工作于独立按键模式和SPI 控制模式,录放结束自动进人低功耗状态,可直接*输人或模拟通道输入,也可喇叭直接输出,芯片工作电压2. 4~ 5. 5 V之间,可以多段录音, 其基本存储单元入口地址范围是0X010~0X09F。应用电路如图3 所示。根据需要,将录制的语音分成13 个段,即“零~ 十、点、度”,如37. 5 度,播报为“ 三、十、七、点、五、度”,每段语音的录制时间约为1. 35 s,由于录制时间不易精确掌握,用手动控制的方式对13 段语音进行录制,然后手动检查每段语音录制效果,如图3 所示,闭合S4 进行语音信息录制、松开即录制结束,语音信息通过MIC 录入,触发S5 键进行播放,检查当前录制信息段的效果,在录制或者播放的过程中,可以通过LED 的闪烁来了解操作的进程; 如果某段语音录制效果不理想,必须及时删除,因为在手动控制方式下,删除操作只对开始一段和最末一段信息有效; 录制完成后,还必须检查每段信息在器件的存储体系中是否是按环形结构存储的,这可以通过闭合S5 并保持来实现,此时,器件将按顺序不停的播放当前信息段与其前一信息段之间的所有信息段,通过反复录制,直到满意为止; 当然,也可以采用商业的录制设备来实现。

  

 

  图3 语音芯片连接图[page]

由该芯片内部的语音存放地址范围可知,每段语音存放约11 行,为了准确知道每段语音的入口地址和结束地址,可以利用单片机检查。ISD1720 提供了4 线( SCLK, MOSI, MISO, SS) SPI 接口与单片机连接,由于二者的SPI 时序不易协调,系统采用了单片机的P1. 1, P1. 2, P1. 3, P1. 4 口模拟SPI 时序对ISD1720 进行控制。具体操作时, 器件初始化完成后,发送PLAY指令,器件从当前信息段的开始地址进行语音回放,当遇到该段语音的结束标志EOM 时,回放结束,读取记录指针和回放指针的位置( 即查阅状态寄存器SR0 和SR1) ,这样可以精确的知道每段语音的开始地址和结束地址。由于系统正常工作时,采用SPI 模式,根据测量得到的温度值,寻找到相应的语音段入口,将语音信息读出; 在SPI 模式下,该芯片的操作命令SET PLAY、S ET REC、SET??REASE 有一个先入先出的缓存器,在相同类型的SET 命令下,使得从一个存储块到另一个存储块之间可以实现无缝连接,使人听起来感觉到输出的温度语音信号是连续的。图3 中S1 是复位按钮, S2 是快进按钮, S3 是檫除按钮, S6 是直通模式选择按钮, S7 进行音量调节; 以上开关按钮都是低电平有效; R4 是语音采样频率的选择电阻,当其为80 k 时,语音录制的采样频率为8 kHz; 当不使用语音播报功能时,可以将SW 开关断开,同时语音播报的时间间隔通过单片机电路中的1 个三位的拨码开关选择,可以设置8 个档位,每个档位的时间参数由程序控制。

  1. 2. 4 显示和电源模块

  采用3 位LED 数码显示,保留一位小数,输出方式采用动态扫描形式,选择单片机的两个端口经过驱动器后作为LED 的字段线和字位线,减少输出的总电流;为了便携式应用,电源采用九伏电池供电,通过LM7805 降压为5 V 供系统各模块使用。布线和制作PCB 板时,特别要注意地线的处理,要求数字地、模拟地、以及扬声器的地都要单独走线,最后与电源地连接。

  1. 3 系统软件设计

  系统的软件流程如图4 所示。

  

 

  图4 系统流程图

  系统初始化后,复位温度传感器,启动温度转换,读取温度数据,进行处理,当温度处于快速变化过程中时,系统不停的进行温度信号的采集和显示,判断语音播报的间隔时间是否来到,当满足要求时,根据测得的当前温度值,取出其十位、个位和小数位的值,然后查表得其相应的语音信号入口地址,复位语音芯片,发上电指令并延时约25 ms,判断是否已正常上电,正常上电后,要清除中断标志,判断器件是否已准备好接收下一条指令,当准备好后,发送第一段信息的放音指令,然后检查状态寄存器,判断器件是否正常执行刚发送的指令,正常执行后,又判断器件是否已准备好接收下一条指令,只有等到器件已准备好后,才能向器件发送下一条指令,否则,就可能造成指令的丢失。程序考虑了器件内部的FIFO 缓冲器,使N 段语音信号就像一段语音一样进行播放,每段语音之间几乎没有死区时间间隔。当语音播报完成后,语音芯片失电,完成一次语音播报,程序回到系统的开始处,准备下一个温度采集、处理、显示和语音输出过程,如此不断循环往复。

  2 结语

  采用语音提示和数码显示的方式设计的数码语音温度计,精确度高、测温速度快; 应用场合广泛,既可测量体温,也可测量食物、水等物质的温度,量程大; 操作使用方便,不仅适合普通家庭也适合某些需要语音提示的工业现场生产应用。

 

关键字:单片机  数码语音温度计 引用地址:基于单片机的数码语音温度计设计

上一篇:微控制器芯片ET44M210设计
下一篇:基于P87C591的CAN总线信号采集节点的设计

推荐阅读最新更新时间:2024-03-16 12:39

单片机编程中在C语言中嵌入汇编语言
在C语言中可以嵌入汇编语言,以发挥汇编语言在编程中的优点 方法是,在项目建好以后,加入建立的C文件,其他设置不变,先把 汇编语言写在 #pragma asm ...... ;汇编语言编写区 #pragma endasm 之间,同时还要对进行编译器相应汇编语言混编设置。 第一步: 第二步 第三步编译运行 如果取消了C语言中的汇编程序,则前面的设置也应相应的去掉,否则会出错。 #include reg51.h int i,k; void main(void) { P2=0x00; while(1) { for(i=0;i 8;
[单片机]
<font color='red'>单片机</font>编程中在C语言中嵌入汇编语言
51单片机驱动点阵显示数字程序+电路
电路原理图:X轴为P2 Y轴为P0 c51单片机程序代码: #include reg52.H #include intrins.h #define uint unsigned int #define uchar unsigned char //1 unsigned char code tab1P0 ={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; unsigned char code tab1P2 ={0xff,0xcF,0xc7,0xc3,0xcf,0xcf,0xcf,0xff}; //2 unsigned char code tab2P0 ={0x0
[单片机]
51<font color='red'>单片机</font>驱动点阵显示数字程序+电路
MSP430单片机各种寄存器总结(7)——USCI_A in UART mode
第七章 USCI 7.1 UCA1CTL1 【注意】配置USCI先将UCSWRST置位 7.2 UCA1BR0 & UCA1BR1 BRCLK预分频器 预分频系数=UCA1BR0 + UCA1BR1*256 7.3 UCA1MCTL 注意复习波特率的计算!! 7.4 UCA1RXBUF 接收数据的寄存器 7.5 UCA1TXBUF 发送数据的寄存器,写入后自动发送 7.6 UCA1IE & UCA1IFG 中断使能和中断标志位,其中TX是发送,RX是接受 UCTXIFG置位表明UCAxTXBUF为空,可向其写入待发送字符,若UCTXIE 和GIE也置位,将产生发送中断请求。写UCAxTXB
[单片机]
MSP430<font color='red'>单片机</font>各种寄存器总结(7)——USCI_A in UART mode
Atmel 新款M0+核MCU SAM D20 整合多项特性
爱特梅尔(Atmel)推出全新 Atmel SAM D20,是以 ARM Cortex-M0+ 处理器核心为基础的新系列嵌入式快闪微控制器中的首款产品系列,锁定家庭自动化、消费、智慧型计量和工业应用。 新产品系列充分发挥了爱特梅尔在微控制器发展所累积的二十年经验,以及该公司易于使用且建基于AVR和ARM产品的成功经验,再结合创新的和经过验证的技术,包括带有爱特梅尔事件系统(Event System)的智慧周边设备以及用于按键、滑动式控制钮和转盘功能及接近感测的电容式触控支援。 SAM D20系列还有最新版本Atmel Studio和Atmel Software Framework的支援,后者是一整合式的开发平台,可用来开发
[单片机]
HT46RU24设计的出租车计价器方案
1 系统硬件组成     总体结构如图一所示。硬件上主要由HT46RU24单片机,霍尔传感器,空载开关,键盘电路,数据存储电路,时钟电路,显示电路,蜂鸣器,IC卡电路以及串口电路组成。 1.1  HT46RU24单片机。     HT46RU24单片机是HOLTEK公司研制的一种低功耗,高性能的8位单片机。它的ROM为8k*16、RAM为384 bytes,最多有40个双向IO口。除此之外它还具有8通道12位分辨率的A/D转换,A/D转换可用来监测外部模拟信号,如侦测电池电压、电流、温度、湿度、压力、明暗度等。提供两种模式的PWM输出可应用于控温、调速、定电压、定电流等。可控的PFD输出用于发声,或是红外线传输的载波信号
[嵌入式]
“2009瑞萨超级MCU模型车大赛”在京举行
由株式会社瑞萨科技(以下简称瑞萨)冠名赞助的“2009瑞萨超级MCU模型车大赛”将于11月22日在北京举行。此项赛事是教育部旨在培养IT技术人才而举办的“全国大学生ITAT大赛”的其中一项重要赛事,已成功举办两届。本届大赛共有包括上海交大、西安交大、北师大、电子科大等在内的49所高校组成的90支队伍,参赛队将参加两个项目的角逐。各参赛队使用自行设计制作搭载有瑞萨芯片的模型车,车辆须在规定赛道上前行,按照进行所用时间长短决定名次。成绩优秀者将获得教育部颁发的IT技能证书。 根据“2009瑞萨超级MCU模型车大赛”规则,参赛队需以瑞萨MCU为核心进行电路和软件设计,以及整合零部件进行赛车的结构设计,设计出的赛车,可以在白
[单片机]
51单片机会被取代吗?
51单片机是一种广泛应用的嵌入式微控制器,它具有体积小、功耗低、性价比高等优点,被广泛应用于家电、汽车、工业控制等领域。近年来,随着单片机技术的不断发展,一些新的微控制器逐渐出现,例如ARM Cortex-M系列、RISC-V系列等,它们是否会取代51单片机呢? 首先,需要明确的是,51单片机是一种经典的单片机,拥有庞大的用户群体和成熟的开发生态圈,这些都是其他新型单片机所没有的。因此,在短期内,51单片机不会被完全取代,仍然会继续应用于各种领域。 其次,新型单片机的出现并不是为了取代51单片机,而是为了满足不同领域对单片机的需求。例如,ARM Cortex-M系列是一种高性能、低功耗的单片机,适合应用于智能家居、物联网等
[单片机]
51<font color='red'>单片机</font>会被取代吗?
基于C8051F2xx系列MCU芯片实现锅炉水处理控制装置的设计
自然水中通常含有钙镁等离子,俗称硬水。在锅炉用水中需要去除水中的钙镁离子而形成软水以防止锅炉结垢。在生产中锅炉水的软化处理是一项重要的安全指标,所以,对于锅炉水处理的技术要求愈来愈高。单片机以其较高的灵活性和稳定性广泛应用在自动控制领域。本文所设计的锅炉水处理控制装置,由高低水位控制进水阀开关,选用单片机为核心,C语言编程实现循环时间电路控制。该装置已成功应用于成都富华水处理公司。 1 软水生产工艺过程及对自控系统的要求 1.1 生产工艺过程 软化水设备的工作原理是基于阳离子交换原理。水由交换柱上流下,与交换树脂中的盐离子充分接触达到把原水中的杂质、易结垢的重金属阳离子去除掉。其生产工艺大致分为下列几步:①条件满足后运行;②松
[单片机]
基于C8051F2xx系列<font color='red'>MCU</font>芯片实现锅炉水处理控制装置的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved