温度检测与语音播报电路的研制.docx
《温度检测与语音播报电路的研制.docx》由会员分享,可在线阅读,更多相关《温度检测与语音播报电路的研制.docx(20页珍藏版)》请在冰豆网上搜索。
温度检测与语音播报电路的研制
毕业设计(论文)任务书
题目:
温度检测与语言播报电路的研制
任务与要求:
1.完成温度检测与语音播报系统的研制。
2.系统设计中利用DS18B20温度传感器硬件测试。
3.利用ISD1700语音芯片完成播报,将结果在显示器上显示。
4.以单片机AT89S52为核心设计出温度测试和语音播报电路实现温度检测及播报系统。
时间:
所属系部:
电子工程系
学生姓名:
学号:
专业:
电子信息工程技术
指导单位或教研室:
电子工程系
指导教师:
职称:
摘要
本文主要阐述了温度检测与语言播报电路的研制。
系统主要分为三部分:
温度检测模块、显示模块和语音播报模块。
利用DS18B20传感器作为温度检测的主要元件,使用ISD1700芯片实现语音播报。
本文利用单片机AT89S52对温度测量和语音播报的硬件电路进行设计,同时编写了这两部分的软件流程,实现对温度进行测量和播报的智能化。
本文具有较强的移植性,可应用于别的智能检测和语音播报系统中。
关键词:
温度传感器;温度检测;语音播报。
Abstract
Thispapermainlyexpoundsthetemperaturedetectionandlanguagebroadcastscircuitdevelopment.Systemmainlydividedintothreeparts:
temperaturedetectingmodule,displaymoduleandspeechbroadcastmodule.UsingDS18B20sensorasthemaincomponents,temperaturedetectionusingISD1700chiprealizevoicebroadcasts.ThispaperusessinglechipAT89S52devicesfortemperaturemeasurementandspeechbroadcastthehardwarecircuitdesign,andcompilingthesoftwareflowofthetwoparts,andtorealizethetemperaturemeasuringandbroadcastsintelligent.Thispaperhasstrongportability,canbeappliedtootherintelligentdetectingandspeechbroadcastsystem.
Keywords:
Temperaturesensors;Temperaturedetection;Speechbroadcast.
目录
1系统总体设计1
1.1设计背景1
1.2设计应用前景1
1.3总体设计2
2设计分析3
2.1单片机3
2.1.1AT89S52单片机简介3
2.1.2单片机的指令执行过程3
2.1.3单片机控制器3
2.2温度检测模块4
2.2.1温度传感器DS18B20简介4
2.2.2温度传感器DS18B20引脚功能4
2.2.3DS18B20工作原理及应用4
2.2.4控制器对18B20操作流程5
2.2.5DS18B20芯片与单片机的接口6
2.2.6DS18B20与AT89S52的连接6
2.3语音播报模块7
2.3.1ISD700语音芯片简介7
2.3.2操作系统7
2.3.3ISD1700的SPI操作9
2.3.4SPI命令总览9
2.4显示模块11
3整机与调试13
3.1总流程图13
3.2总电路图14
结束语15
参考文献16
1系统总体设计
整个系统的组成可以分为五部分:
单片机、模数-转换电路、温度传感器、语音电路和LED显示电路。
由于温度传感器用的是DS18B20内部有模数转换部分,所以模数转换部分可以省去。
1.1设计背景
自动控制系统在各个领域尤其是工业领域中有着及其广泛的应用,通过单片机对被控对象进行控制日益成为今后自动化控制的一个重要方向,本文设计概述了温度检测与语音播报的系统。
目前生产生活中经常需要某一特殊的环境温度。
例如现在广大农村生产香菇的基地。
在菌种培养的香菇生长界阶段对温度的要求都很高,否则就会造成巨大的损失。
现在他们普遍采用的时一个人长期守候在现场,用温度计观测。
这种传统的方式对人力浪费较大,对温度控制不精确。
而且不小心容易发生意外。
如果具有语音播报的温度控制系统,就可以实时监测温度,不需要人力检测。
设备简单,费用低,效果好。
1.2设计应用前景
具有语音播报的温度控制系统在农业生产中拥有广泛的应用前景。
现在工业生产中的相关系统结构复杂,价格昂贵,无法在农业生产中广泛推广。
而此系统价格低廉,操作方便。
可以节省大量的人力资源。
尤其是在户外大棚生产中,人力长期守候监测温度更不方便。
此系统的作用便更加明显。
本系统设计基本达到了应用效果,具有广泛的应用前景。
温度是一个非常重要的物理量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。
温度控制失误就可能引起生产安全、产品质量和产品产量等一系列问题。
因此对温度的检测的意义就越来越大。
温度采集控制系统在工业生产、科学研究和人们的生活领域中,得到了广泛应用。
在工业生产过程中,很多时候都需要对温度进行严格的监控,以使得生产能够顺利的进行,产品的质量才能够得到充分的保证。
使用自动温度控制系统可以对生产环境的温度进行自动控制,保证生产的自动化、智能化能够顺利和安全进行,从而提高企业的生产效率。
1.3总体设计
如图1-1所示:
2设计分析
2.1单片机
2.1.1AT89S52单片机简介
本设计采用AT89S52单片机如图2-1所示,自带ROM和一定数量RAM,一般不需要扩展片外的存储器。
AT89S52起到对DS18B20发出操作命令,对其读和写,在DS18B20得到数字信号送入到AT89S52再到LED显示和通过DS1700语音播报。
AT89S52提供以下标准功能:
8k字节Flash闪存存储器,256字节内部RAM,32个I/O口线,3个16位定位/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
AT89S52的工作参数:
工作温度……………………………………-55℃~+125℃
储存温度……………………………………-65℃~150℃
任一脚对地电压……………………………-1V~+7V
最高工作电压………………………………6.6V
直流输出电流………………………………15mA
2.1.2单片机的指令执行过程
1.一条指令的执行过程分为读取指令和执行指令两个阶段。
2.在读取指令阶段根据程序计数器PC所指示的地址,从程序存储器中读出将要执行的指令代码并送至指令寄存器IR中。
3.进入执行指令阶段将指令寄存器IR中的指令代码送至译码器译码,产生相应的控制信号以完成指令的执行。
2.1.3单片机控制器
1.控制器是控制读取指令、识别指令并根据指令的性质协调和控制单片机各组成部件有序工作的重要部件。
2.是CPU乃至整个单片机的中枢神经。
3.控制器由指令寄存器IR、指令译码器ID、程序计数器PC、堆栈指针SP、双数据指针DPTR0和DPTR1、定时及控制逻辑电路等组成。
2.2温度检测模块
本模块主要作用是进行温度采集,然后经采集的数据送入AT89S52里进行分析处理。
本次设计中采用了DS18B20作为数据采集器。
2.2.1温度传感器DS18B20简介
DS18B20是单总线数字温度传感器,可把温度信号直接转换成串行数字信号供微处理器处理,测温范围-55℃~125℃,以0.5℃递增。
它的精度最少可以精确到0.0625,完全可以用来进行环境的测量。
而且可以在一条总线上挂接任意多个DS18B20芯片,构成多点温度检测系统无须任何外加硬件。
DS18B20温度以9位数字量读出,读取或写入DS18B20的信息仅需一个总线,总线本身可以向所有挂接的DS18B20提供电源,而不需要额外电源。
由这一特点,DS18B20非常适用多点温度测量系统,硬件结构简单被广泛应用。
2.2.2温度传感器DS18B20引脚功能
GND电压地DQ单数据总线VDD电源电压NC空引脚
2.2.3DS18B20工作原理及应用
DS18B20内有一个直接转化为数字量的温度传感器,其分辨率9,10,11,12bit并且可编程,通过设置内部配置寄存器来选择温度的转换精度,出厂默认设置12bit。
温度的转换精度有0.5℃、0.25℃、0.125℃、0.0625℃。
温度转换后以16bit格式存入便笺式RAM,可以用读便笺式RAM命令(BEH)通过1-WIRE接口读取温度信息,数据传输时低位在前,高位在后。
温度/数字对应关系如表2-1所示。
由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。
操作协议为:
初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。
表2-1温度/数据关系
温度℃
数据输出(二进制)
数据输出(十六进制)
+125
0000000011111010
00FA
+25
0000000000110010
0032
+1/2
0000000000000001
0001
0
0000000000000000
0000
-1/2
1111111111111111
FFFF
-25
1111111111001110
FFCE
-55
1111111110010010
FF92
2.2.4控制器对18B20操作流程
(1)复位
首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480uS的低电平信号。
当18B20接到此复位信号后则会在15~60uS后回发一个芯片的存在脉冲。
(2)存在脉冲
在复位电平结束之后,控制器应该将数据单总线拉高,以便于在15~60uS后接收存在脉冲,存在脉冲为一个60~240uS的低电平信号。
至此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20间的数据通信。
如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。
(3)控制器发送ROM指令
双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索和报警芯片搜索。
ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。
其主要目的是为了分辨一条总线上挂接的多个器件并作处理。
诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:
此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令”)。
(4)控制器发送存储器操作指令
在ROM指令发送给18B20之后,紧接着(不间断)就是发送存储器操作指令了。
操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到E2PROM、温度转换、将E2PROM中的报警值复制到RAM和工作方式切换。
存储器操作指令的功能是命令18B20作什么样的工作,是芯片控制的关键。
(5)执行或数据读写
一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。
如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。
如执行数据读写指令则需要严格遵循18B20的读写时序来操作。
2.2.5DS18B20芯片与单片机的接口
如下图所示,DS18B20只需要接到控制器(单片机)的一个I/O口上,由于单总线为开漏所以需要外接一个4.7K的上拉电阻。
如要采用寄生工作方式,只要将VDD电源引脚与单总线并联即可。
但在程序设计中,寄生工作方式将会对总线的状态有一些特殊的要求。
(DS18B20供电的方法是从VDD引脚接入一个外部电源,注意当加上外部电源时,GND引脚不能悬空。
)
2.2.6DS18B20与AT89S52的连接
单片机AT89S52与温度传感器芯片DS18B20构成测温系统。
其测量的温度精度达到0.1度,测量的温度的范围在-20度到+50度之间,如图2-3所示。
2.3语音播报模块
2.3.1ISD700语音芯片简介
ISD1700是华邦ISD公司2007年新推出的单片优质语音录放电路,该芯片提供多项新功能,包括内置专利的多信息管理系统,新信息提示(vAlert),双运作模式(独立&嵌入式),以及可定制的信息操作指示音效。
芯片内部包含有自动增益控制、麦克风前置扩大器、扬声器驱动线路、振荡器与内存等的全方位整合系统功能。
ISD1700的独立按键工作模式录放电路非常简单,而且功能强大。
不仅有录、放功能,还有快进、擦除、音量控制、直通放音和复位等功能。
这些功能仅仅通过按键就可完成。
在按键模式工作时,芯片可以通过LED管脚给出信号来提示芯片的工作状态,并且伴随有提示音,用户也可自定4种提示音效。
引脚如图2-4所示。
一特点:
·可录、放音十万次,存储内容可以断电保留一百年。
·两种控制方式,两种录音输入方式,两种放音输出方式。
·可处理多达255段以上信息。
·有丰富多样的工作状态提示。
·多种采样频率对应多种录放时间。
·音质好,电压范围宽,应用灵活。
二电特性:
·工作电压:
2.4V-5.5V,最高不能超过6V。
·静态电流:
0.5-1uA。
·工作电流:
20mA。
2.3.2操作系统
主要介绍录音、放音、擦除、复位和音量的操作。
(1)录音操作:
按下REC键,/REC管脚电平变低后开始录音,直到松开按键使电平拉高或者芯片录满时结束。
录音结束后,录音指针自动移向下一个有效地址。
而放音指针则指向刚刚录完的那段语音地址。
(2)放音操作:
放音操作有两种模式,分别是边沿触发和电平触发,都由PLAY管脚触发。
A)边沿触发模式:
点按一下PLAY键,PLAY管脚电平变低便开始播放当前段的语音,并在遇到EOM标志后自动停止。
放音结束后,播放指针停留在刚播放的语音起始地址处,再次点按放音键会重新播放刚才的语音。
在放音期间,LED灯会闪烁直到放音结束时熄灭。
如果在放音期间点按放音键会停止放音。
B)电平放音模式:
如果一直按住PLAY键,使PLAY管脚电平持续为低,那么会将芯片内所有语音信息播放出来,并且循环播放直到松开按键将PLAY管脚电平拉高。
在放音期间LED闪烁。
当放音停止,播放指针会停留在当前停止的语音段起始位置。
(3)擦除操作:
擦除操作分为单段擦除和全体擦除两种擦除方式,区别如下:
A)单个擦除:
只有第一段或最后一段语音可以被单个擦除。
点按一下ERASE健将ERASE管脚拉低,这时具体的擦除情况要看播放指针的状态:
·如果芯片空闲并且播放指针指向第一段语音,则会删除第一段语音,播放指针指向新的第一段语音(执行擦除操作前的第二段)。
·如果芯片空闲并且播放指针指向最后一段语音,则会删除最后一段语音,播放指针指向新的最后一段语音(执行擦除操作前的倒数第二段)。
·如果芯片空闲并且播放指针指向没有指向第一或最后一段语音,则不会删除任何语音,播放指针也不会被改变。
·如果芯片当前正在播放第一段或最后一段语音,点按下ERASE键会删除当前语音。
B)全体擦除:
当按下ERASE键将ERASE管脚电平拉低超过2.5秒钟,会触发全体擦除操作,删除全部语音信息。
(4)复位操作:
如果用RESET控制此管脚,建议RESET管脚与地之间连接一个0.1μF电容。
当RESET被触发,芯片将播放指针和录音指针都放置在最后一段语音信息的位置。
(5)音量操作:
点按一下VOL键将VOL管脚拉低会改变音量大小。
每按一下,音量会减小一档,再到达最小档后再按的话,会增加音量直到最大档,如此循环。
总共有8个音量档供用户选择,每一档会改变4dB。
复位操作会将音量档放在默认位置,即最大音量。
2.3.3ISD1700的SPI操作
ISD1700系列的SPI串行接口操作遵循一下协议:
1、一个SPI处理开始于/SS管脚的下降沿;
2、在一个完整的SPI指令传输周期,/SS管脚必须保持低电平;
3、数据在SCLK的上升沿所存在芯片的MOSI管脚,在SCLK的下降沿从MISO管脚输出,低位先出;
4、SPI指令操作码包括命令字节、数据字节和地址字节,这取决于1700的命令类型;
5、当命令字及地址数据输入到MOSI管脚时,同时“状态寄存器”和当前地址信息从MISO管脚输出;
6、一个SPI处理在/SS变高后启动;
7、在完成一个SPI命令的操作后,会启动一个中断信息,且持续为低,直到芯片收到CLR_INT指令或复位。
在SPI命令输入到ISD1700前,SPI端口的状态应该保持如下状态:
/SS=HIGHSCLK=HIGHMOSI=LOW
2.3.4SPI命令总览
一个SPI命令总是由第一个命令字节开始。
命令字节中的bit4位(LED)是具有特殊用途的。
这个bit4位可以控制LED的输出。
如果使用者想开启这个操作LED的功能,那么所有的SPI命令字都要将这个bit4位置1。
在SPI模式下,存储位置都可以通过行.很容易进行访问。
主控单片机可以访问任何行,包括存储SE音效的行(0x000-0x00F)。
像SET_PLAY,SET_REC和SET_ERASE这些命令需要一个精确起始和结束。
如果开始和结束相同,那么ISD1700将只在这一行进行操作。
SET_ERASE操作可以精确擦除在起始和结束间的所有信息。
SET_REC操作从起始开始录音,并结束于结束,并且在结束自动加上EOM标志。
同理,SET_PLAY操作从起始播放语音信息,在结束停止播放。
另外,SET_PLAY,SET_REC和SET_ERASE命令有一个先入先出的缓存器,使得从一个存储到下一个存储之间实现无缝转移。
这个先入先出的缓存器只有在相同类的SET命令下才有效。
也就是说SET_PLAY在SET_ERASE之后将不能利用这个缓存器,并且这是一个错误的命令,SR0中的COM_ERR位将被置1。
当芯片准备好接收第二个SPI命令时,在SR1中的RDY位将置1。
同样,在操作完成时会输出一个中断。
例如,如果两个连续但带有两对不同的SET_PLAY命令被正确发送后,此时缓存器装满。
在完成第一个语音信息的播放后,第一个SET_PLAY操作会遇到一个EOM,这时不会像一般遇到EOM时自动STOP,而是继续执行第二个SET_PLAY命令,芯片将播放第二个语音信息。
这个动作将最小化任何两个录音信息之间潜在的停留时间,且使芯片流畅连接两个独立的信息。
如果循环存储体系处于令人满意的状态,那么可以使用PLAY,REC,FWD,RESET,ERASE和G_ERASE这些命令,功能类似于1700的独立模式中相应的功能。
这些命令将确保在独立模式下操作时储存机构保持一致,但是,音效提示将不同于独立模式。
如果希望在SPI模式和独立模式之间转换,注意必须使用SET_REC和SET_ERASE以遵循循环存储体系。
SPI处理的格式指令数据以数据队列的形式从MOSI移入芯片,第一个移入的字节是命令字节,这个字节决定了紧跟其后的数据类型。
与此同时,芯片状态以及当前行信息以数据队列的方式通过MISO被返给主机。
常用引脚如表2-2所示。
表2-2常用引脚说明
管脚说明
PDIP/SOIC管脚
TSOP管脚
引脚说明
/RESET
3
24
芯片复位
/PALY
23
16
播放控制端
/REC
24
17
录音控制端
/ERASE
25
18
擦出控制端
/FWD
26
19
快进控制端
VCCD
1
22
数字电路电源
/VOL
19
12
音量控制
VCCA
21
14
模拟电路电源
/SS
7
28
为低时,选择芯片成为当前被控制设备并且开启SPI接口
MOSI
5
26
SPI接口的数据输入端口,主控制芯片在SCLK上升之前的半个周期将数据防止在MOSI端。
数据在SCLK上升沿被锁在芯片内
MISO
4
25
SPI接口的串行输出。
ISD1700在SCLK下降沿之前的半个周期将数据放置在MISO端。
数据在SCLK的下降沿时移出
SP+
15
8
喇叭输出+
MIC+
10
3
麦克风输入+
SCLK
6
27
SPI接口的时钟。
由主控制芯片产生,并且被用来同步芯片MOSI和MISO端各自的数据输入和输出。
主控单片机主要通过四线(SCLK,MOSI,MISO,/SS)SPI协议对ISD1700进行串行通信。
ISD1700作为从机,几乎所有的操作都可以通过这个SPI协议来完成。
为了兼容独立按键模式,一些SPI命令:
PLAY,REC,ERASE,FWD,RESET和GLOBAL_ERASE的运行类似于相应的独立按键模式的操作。
另外,SET_PLAY,SET_REC,SET_ERASE命令允许用户指定录音、放音和擦除的开始和结束。
此外,还有一些命令可以访问APC寄存器,用来设置芯片模拟输入的方式。
ISD1700典型电路
如图2-5所示:
2.4显示模块
数码管由8个发光二极管构成,通过不同的组合可用来显示数字0~9,字符A~F、H、L、P、R、U、Y等符号及小数点“.”。
数码管又分为共阴极和共阳极两种类型。
设计中应用的是共阳极数码管。
如图2-6所示。
3整机与调试
连接电路,查看各部分的作用,实现温度检测与语音播报的系统。
3.1总流程图
如图3-1所示:
3.2总电路图
如图3-2所示:
结束语
忙碌的日子总觉得短暂,在这短暂而又充实的时间里,让我获益良多,指导老师耐心细致的指导讲解答疑,个人积极的思考筹备,团队成员之间的商量讨论和相互帮助,使这短短的日子变得忙碌而又充实美好。
刚接到课题,有些茫然不知道该怎么着手,还好有老师和同学在一起,首先听取老师的建议,去图书馆查找相关资料,先把总体设计思路整理出来,在接下来的时间里,通过书本和网络查阅了不少相关的资料,随着对课题的理解,设计的思路也渐渐清晰细致,和同伴一部分一部分的解决,不懂就找资料,找老师,直到解决问题。
随着时间的流逝,毕业设计也接近了尾声,经过不断的努力我们的设计终于完成了。
通过这次的毕业设计发现了自己的不足,也让我学到了很多知识,当完成的时候,有种满足感和成就感,和同伴的努力解决问题也使我明白了自己的不足,可以及时改正。
最后还要谢谢老师对我们的悉心指导,感谢给予我们的帮助,在设计过程中,我通过查阅大量有关资料,与同学交流经验和向老师请教的方式,使自己学到了许多东西,也培养了独立工作能力,树立了对自己工作能力的信心,而且大大提高了动手能力,体会到了在创造过程中探索的艰难和成功的喜悦,再次感谢