基于单片机的语音温度计的设计.docx
《基于单片机的语音温度计的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的语音温度计的设计.docx(40页珍藏版)》请在冰豆网上搜索。
基于单片机的语音温度计的设计
学士学位论文
系别:
计算机科学与技术系
学科专业:
计算机科学与技术
姓名:
王磊
运城学院
2007年6月
基于单片机的语音温度计的设计
系别:
计算机科学与技术系
学科专业:
计算机科学与技术
姓名:
王磊
指导教师:
朱铭琳
运城学院
2007年6月
语音温度计的设计
摘要随着人们生活水平的提高,各电子产品突飞猛进的发展,电子测量仪也逐渐丰富起来,原来的模拟产品逐步向数字化综合化转化,并且不断走向人性化。
该设计的实现在工农业生产以及科学实验中起到不可忽视的作用,发挥了它灵活轻巧使用方便的特点。
该设计语音播报系统能够充分发挥人性化的性质,利用AT89S51作为单片机的主芯片,配合DS18B20温度传感器,实现带语音播报功能的温度测试仪。
并且在实现语音播报当前温度的同时,也实现了数字液晶显示的功能,功能更形象使用更方便智能。
本设计所介绍的语音温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。
关键词 单片机;温度计;温度传感器;设计
ThermometerofDesign
AbstractAlongwiththetimeprogressandthedevelopment,themonolithicintegratedcircuittechnologyalreadypopularizedtouslives,thework,thescientificresearch,eachdomain,willalreadybecomeonekindofquitematuretechnology,thisarticleintroducedonekindthedigitalthermometerwhichcontrolledbasedonthemonolithicintegratedcircuit.Thisdesignintroducedthedigitalthermometerandthetraditionalthermometercompares,hasthereadingtobeconvenient,measuredthewarmscopeisbroad,measuredwarmaccurate,itsoutputtemperatureusesthenumeraltodemonstrate,mainlyusesintomeasuredthewarmquiteaccurateplace,orthescientificresearchlaboratoryuse,thisdesigncontrollerusemonolithicintegratedcircuit
AT89S51,measuredthewarmsensorusesDS18B20,thisthermometermayadjustthedemonstrationdate,thetime,mayestablish,themaximumtemperaturelowlyreportstothepolicethevalue.Thesurveytemperaturesurpassesthehypothesisthetemperaturebound,startsthebuzzerandtheindicatinglampreportstothepolice.Thetemperaturedemonstrationisstable.Therealizationtemperaturedemonstratedthat,canaboveachieveaccuratelyrequests.
KeywordsSCM;thermometer;temperature;sensor;Design
引言
随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度计,本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S51,测温传感器使用DS18B20,本温度计可调整显示日期、时间,可设定最低、最高温度报警值。
测量温度超过设定的温度上、下限,启动蜂鸣器和指示灯报警。
温度显示稳定。
实现温度显示,能准确达到以上要求。
本论文正是以此为出发点,对单片机控制的交通信号灯模型作了较详尽的介绍。
近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。
第1章绪论
1.1课题背景
在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。
例如:
在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。
采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。
单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,为自动化和各个测控领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大。
因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。
本论文以上述问题为出发点,设计实现了温度实时测量、显示、控制系统。
本设计方案具有较高的测量精度,更加适合对温度精度要求较高的化工生产、电力工程等行业,并希望通过本设计得到举一反三和触类旁通的效果。
事实证明,现代化的温度监测控制是社会人性化发展的有力表现之一。
1.2语音温度计的国内外状况
通过网上查询、翻阅图书了解到目前国内外市场以单片机为核心的温度控制系统很多,而且方案灵活,且应用面比较广,可用于工业上的加热炉、热处理炉、反应炉,在生活当中的应用也比较广泛,如热水器,室温控制,农业中的大棚温度控制。
以上出现的温度控制系统产品,根据其系统组成、使用技术、功能特点、技术指标。
选出其中具有代表性的几种如下:
虚拟仪器温室大棚温度测控系统:
在农业应用方面虚拟仪器温室大棚温度测控系统是一种比较智能,经济的方案,适于大力推广,改系统能够对大棚内的温度进行采集,然后再进行比较,通过比较对大棚内的温度是否超过温度限制进行分析,如果超过温度限制,温度报警系统将进行报警,来通知管理人员大棚内的温度超过限制,大棚内的温控系统出现故障,从而有利于农作物的生长,提高产量。
工业方面具有时事监控的应用:
在工业方面带有语音播报功能的温度计是一种比较人性智能,应用广泛,它轻巧灵活,操作方便简单,适于广泛推广。
1.3温度参数、语音播报
1.3.1温度参数
■基本范围-50℃-110℃
■精度误差小于0.5℃
1.3.2语音播报
先录音,能分160段(地址为00H-0A0H)。
我们说话平均语速4字/秒,所以20秒我们录80字。
经过计算,每个字占2个地址。
我们录音13段。
录音用S1键,放音控制用S2键。
录音时按下键后开始录音,录完每段后放开按键,录音停止。
共录13段,录每段时同时用数码管提示,分别用数字0-F来表示。
按语音提示键播报温度,不按不播报。
第2章硬件设计
2.1 方案论证和比较
方案一
由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
方案二
进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。
2.2 设计原理
方案二的总体设计框图
温度计电路设计总体设计方框图如图2.1所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用3位LED数码管以串口传送数据实现温度显示。
图2.1总体设计方框图
2.2.1主控制器
单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。
显示电路
显示电路采用3位共阳LED数码管,从P3口RXD,TXD串口输出段码。
硬件电路的设计
图2.2DS18B20与单片机的接口电路
2.2.2温度传感器
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
DS18B20的性能特点如下:
●独特的单线接口仅需要一个端口引脚进行通信;
●多个DS18B20可以并联在惟一的三线上,实现多点组网功能;
●无须外部器件;
●可通过数据线供电,电压范围为3.0~5.5V;
●零待机功耗;
●温度以9或12位数字;
●用户可定义报警设置;
●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;
2.2.3DS18B20温度传感器与单片机的接口电路
DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。
另一种是寄生电源供电方式,如图2.2所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。
当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。
采用寄生电源供电方式时VDD端接地。
由于单线制只有一根线,因此发送接口必须是三态的。
2.2.4主板电路
系统整体硬件电路包括,传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路等,如图2.3所示。
图2.3中有三个独立式按键可以分别调整温度计的上下限报警设置,图中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音,同时LED数码管将没有被测温度值显示,这时可以调整报警上下限,从而测出被测的温度值。
图2.3中的按健复位电路是上电复位加手动复位,使用比较方便,在程序跑飞时,可以手动复位,这样就不用在重起单片机电源,就可以实现复位。
图2.3单片机主板电路
2.2.5.语音温度计显示模块
2.4语音温度计显示模块
2.3 设计过程
2.3.1总体设计
基础设计要求:
分模块设计每部分电路,要求各模块工作的可靠性好,抗干扰能力强,可扩展余地充足;模块与模块间要求独立性高。
⑴系统总框图如图2-5所示:
图2.5系统总框图
系统工作流程:
先录音,能分160段(地址为00H-0A0H)。
我们说话平均语速4字/秒,所以20秒我们录80字。
经过计算,每个字占2个地址。
我们录音13段。
录音用S1键,放音控制用S2键。
录音时按下键后开始录音,录完每段后放开按键,录音停止。
共录13段,录每段时同时用数码管提示,分别用数字0-F来表示。
按语音提示键播报温度,不按不播报。
一、语音温度计温馨提示您,当前温度(00H-27H)
三、一(28H-2FH)
四、二(30H-37H)
五、三(38H-3FH)
六、四(40H-47H)
七、五(48H-4FH)
八、六(50H-57H)
九、七(58H-5FH)
十、八(60H-67H)
十一、九(68H-6FH)
十二、十(70H-77H)
十三、度(78H-7FH)
P3.3为录音。
p2.7为放音。
P3.6为按键
模块说明;
a主控制单片机
主控单片机采用一片ATMELAT89S51。
根据题目要求,充分利用了单片机灵活控制的优点,发挥其优势功能,采用单片机控制显示信号灯,提高了系统的灵活性,设置方便。
AT89S51芯片本身集成了看门狗(WDT)电路,这是为了系统更加的稳定可靠,避免了系统因为死机而停止工作的情况发生这种做法对于实际上长时间运行在恶劣状况的交通灯控制系统来说是十分必要的。
它可以完成自动加载复位,省去人工调整的麻烦,可以做到无人职守。
AT89S51芯片简介:
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
(如图2-6所示)。
图2.6AT89S51芯片
此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
主要功能特性:
·兼容MCS-51指令系统
·32个双向I/O口
·2个16位可编程定时/计数器
·全双工UART串行中断口线
,·2个外部中断源
·中断唤醒省电模式
·看门狗(WDT)电路
·灵活的ISP字节和分页编程
·4k可反复擦写(>1000次)ISPFlashROM
·4.5-5.5V工作电压
·时钟频率0-33MHz
·128x8bit内部RAM
·低功耗空闲和省电模式
·3级加密位
·软件设置空闲和省电功能
·双数据寄存器指针
AT89S51的引脚功能介绍:
VCC:
AT89S51电源正端输入,接+5V。
VSS:
电源地端。
XTAL1:
单芯片系统时钟的反相放大器输入端。
XTAL2:
系统时钟的反相放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一个20PF的小电容,可以使系统更稳定,避免噪声干扰而死机。
RESET:
AT89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。
EA/VPP:
"EA"为英文"ExternalAccess"的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。
因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。
如果是使用8751内部程序空间时,此引脚要接成高电平。
此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(VPP)。
ALE/PROG:
ALE是英文"AddressLatchEnable"的缩写,表示地址锁存器启用信号。
AT89S51可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0~A7)锁进锁存器中,因为AT89S51是以多工的方式送出地址及数据。
平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。
此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。
PSEN:
此为"ProgramStoreEnable"的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。
AT89S51可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。
PORT0(P0.0~P0.7):
端口0是一个8位宽的双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。
其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当作I/O用时可以推动8个LS的TTL负载。
如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。
设计者必须外加一个锁存器将端口0送出的地址锁住成为A0~A7,再配合端口2所送出的A8~A15合成一个完整的16位地址总线,而定址到64K的外部存储器空间。
PORT2(P2.0~P2.7):
端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。
P2除了用做一般I/O端口使用外,若是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当作I/O来使用了。
PORT1(P1.0~P1.7):
端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LSTTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。
如果是使用8052或是8032的话,P1.0又当作定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。
PORT3(P3.0~P3.7):
端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。
其引脚分配如下:
P3.0:
RXD,串行通信输入。
P3.1:
TXD,串行通信输出。
P3.2:
INT0,外部中断0输入。
P3.3:
INT1,外部中断1输入。
P3.4:
T0,计时计数器0输入。
P3.5:
T1,计时计数器1输入。
P3.6:
WR:
外部数据存储器的写入信号。
P3.7:
RD,外部数据存储器的读取信号。
b信号显示
对于数字显示系统,我们使用串行移位寄存器74HC164来控制LED数码管,每2片为1组,用来构成数码管的0~99秒的数字提示,还有4个LCD二极管,用来控制信号灯的亮与暗。
使用这样4组串行连接,这种布局设计便于我们PCB板的布局和制作,而且能够更形象的模拟出温度的测控功能。
74HC164静态显示接口芯片简介:
M74HC164为串行输入、并行输出移位寄存器,74HC164为单向总线驱动器。
在串行口为方式0状态,即工作在移位寄存器方式,波特率为振荡频率的十二分之一。
器件执行任何一条将SBUF作为目的寄存器的命令时,数据便开始从RXD端发送。
在写信号有效时,相隔一个机器周期后发送控制端SEND有效,即允许RXD发送数据,同时,允许从TXD端输出移位脉冲。
第一帧(8位)数据发送完毕时,各控制信号均恢复原状态,只有TI保持高电平,呈中断申请状态。
第一个74HC164把第一帧数据并行输出,LED1显示该数据。
然后,用软件将TI清零,发送第二帧数据。
第二帧数据发送完毕,LED1显示第二帧数据,第一帧数据串行输入给第二个74HC164,LED2显示第一帧数据。
依此类推,直到把数据区内所有数据发送出去。
应该注意,数据全部发送完后,第一帧数据在最后一个LED显示。
由于TXD端口最多可以驱动8个TTL门。
2.3.2各模块设计
(1).电源模块
采用单片机控制模块提供电源。
优点是系统简明扼要,节约成本;缺点是输出功率不高。
其电路图如图2-7所示.
图2.7电源模块
(2).单片机及复位键控制模块
单片机采用89S51,其中有8K内存可用。
对交通灯的控制主要用其中的计数器定时来完成。
一方面要完成对各模块的控制,另一方面也要协调好各模块的时序及口线冲突问题。
单片机复位电路是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从该状态开始工作,例如复位后PC=0000H,使单片机从第一个单元取指令。
无论是在单片机刚接上电源时,还是断电后或者发生故障后都要复位。
单片机复位的条件是:
使RST/VPD引脚 加上持续两个机器周期(即24个振荡周期)的高电平。
若时钟频率为12MHz,每机器周期为1us,则只需2us以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。
单片机常见的复位电路如图2.8按键复位电路所示。
图2.8按键复位电路
该电路除了具有上电复位电路功能,还可以使用中复位,只要按下图2.9中的RESET键,此时电源VCC经电阻R1 、R2分压,在RESET端产生一个复位高电平。
单片机复位期间不产生ALE和PSEN信号,即ALE=1,这表明单片机复位不会有任何取值操作。
按键复位电路,易掌握,好操作。
(3)显示模块
LED用来实现倒计时功能,可直接从74HC164的接口上接过来。
其控制较为简单。
其电路图如图3-7所示。
LED显示器的简单介绍:
简单的LED显示器有LED状态显示器(俗称发光二极管)、LED七段显示器(俗称数码管)和LED十六段码显示器。
发光二极管用于显示系统的两种状态:
数码管用于显示数字,LED十六段显示器用于字符显示。
本文采用LED七段显示器。
数码管的结构:
由8个发光二极管(以下简称字段)构成,通过不同的组合可用来显示数字0~9,字符A~F等符号及小数点“.”。
有共阳极和共阴极两种类型。
共阳极数码管中8个发光二极管的阳极(二极管正端)连在一起。
通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。
当某段驱动电路的输入端为低电平时,该端所连接的字段导通并点亮。
根据发光字段的不同组合可显示出各种数字或字符。
此时,要求段驱动电路能吸收额定的