数字式智能语音温度计设计_第1页
数字式智能语音温度计设计_第2页
数字式智能语音温度计设计_第3页
数字式智能语音温度计设计_第4页
数字式智能语音温度计设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、-II-I-河南大学物理与电子学院开放实验室单片机设计报告数字式智能语音温度计设计人:开放实验室入室人员TOC o 1-5 h z HYPERLINK l bookmark10 0前言1 HYPERLINK l bookmark12 1系统组成与功能11.1系统组成1STC89C52单片机174LS138译码器芯片2DS18B20测温传感器31.1.4四位一体七段数码管31.1.5WT588D语音芯片41.2系统功能62系统原理52.1系统仿真图62.2实物照片6 HYPERLINK l bookmark16 3程序流程图74具体程序代码8 HYPERLINK l bookmark32 5结论

2、11 HYPERLINK l bookmark34 6扩展部分设计心得12参考文献13河南大学物理与电子学院开放实验室单片机设计报告- -数字式智能语音温度计0前言LED数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样了。如:显示一个“2”字,那么应当是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。LED数码管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸数码管的显示笔画常用一个发光二极管组成,而大尺寸的数码管由二个或多个发光二极管组成

3、,一般情况下,单个发光二极管的管压降为1.8V左右,电流不超过30mA。发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。常用LED数码管显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。在本学期的单片机在项目设计中,我们两人一组共同讨论并设计出了一种基于单片机控制的LED数码智能语音温度计,并最终在老师指导下完成了实际的成品,调试后能实现了预期的功能。同时我们在实现其基本功能的基础上进行了一定程度的功能扩展。1系统组成与功能11系统组成本系统主要有STC89C52单片机、按键、74LS138译码

4、器芯片、DS18B20测温EEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。传感器、四位一体七段数码管、WT588D语音芯片等元件组成。1.1.1STC89C52单片机STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储

5、器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBT2JPl.OnwpLiPt.2PL3P【,4Pl.5PL6PL7RSTRXiHPM川TXDPSiINTO/P3.2INTI/P3.3T0T3,4run5WR;P3.ftRD/P3.7XTALJXTAL1VSoI-3456789OI23456-78QIIIIItI1I17匸sAuaBRHRRDnJBX吕吕二Rnn二Nwpm弓.讣9X7-65433109876S-4

6、-TS-2I433333333332一T-2247-2VCCPt).1/AD3PQWM工P03/AD3PQ.4;AL4PO.5/AD5PO.6/AD6TO.7/AD7tAALE:PROGPSENP2.7/A15P2.6/A14P2用阳3P2A/A12P2.3/A11P2;2M箝P2.1M9P2.O-AS團11STC89C52RC单片机引脚團其引脚图如图11所示。1.1.274LS138译码器芯片74LS138为3线-8线译码器,共有54/74S138和54/74LS138两种线路结构型式。其工作原理如下:1.当一个选通端(E1)为高电平,另两个选通端(/E2)和/(E3)为低电平时,可将地址端

7、(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。比如:A2A1A0=110时,则Y6输出端输出低电平信号。2利用E1、E2和E3可级联扩展成24线译码器;若外接一个反相器还可级联扩展成32线译码器。(PDIP,SOIC)TOPVIEWVCCYO(YO)Y1(YT)Y2(Y2)Y3(Y3)4(Y4)|Y5(Y5)Y6(Y6)若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。A0A1A2ETE2EZ(Y7)Y7(a)图12(a)74LS138引脚图(b)74LS138实物图1.1.3DS18B20测温传感器DS18B20数字温度传感器接线方便,封装成后可应用

8、于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。DS18B20采用一线通信接口。因为一线通信接口,必须在先完成ROM设定,否则记忆和控制功能将无法使用。若指令成功地使DS18B20完成温度测量,数据存储在DS18B20的存储器。一个控制功能指挥指示DS18B20的演出测温。测量结果将被

9、放置在DS18B20内存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。温度报警触发器TH和TL都有一字节EEPROM的数据。如果DS18B20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数字转换。写TH,TL指令以及配置字节利用一个记忆功能的指令完成。通过缓存器读寄存器。所有数据的读,写都是从最低位开始。DALLAS18B20123T32DSI1B2O)3.3VDS1SB20DQ图13DS18B20实物及简易使用接线图1.1.4四位一体七段数码管本设计用到四位一体七段数码管1个,其原理与单个的数码管显示原理相同。四位一体的数码管共12

10、个引脚。A-dp八个引脚对应八根数据线,控制显示的字形。DIG1-DIG2四个引脚为公共端,控制当前显示字形的位别,为扫描法显示提供了方便,有效减少了数码管占用的单片机引脚数。上图为共阴四位数码管的内部结构图。引脚排列依然是从左下角的第一只管脚开始,以逆时针方向依次为1-12脚,数码管内部结构及引脚参见图14。CDFGDPABC-DEF3FABCDF右芹AB0F3P111T12勺輕TPIG.1Die.2TDG2TDIQ41174211d53(a)HHH0LL-5461AS四位七段共阴I.ED数码管实物图型一g)数码管内部结构飓引脚團1.1.5WT588D语音芯片WT588D芯片封装有DIP18

11、、SOP20和LQFP32形式;根据外挂或者内置SPI-Flash的不同,播放时长也不同,支持2M32Mbit的SPI-Flash存储器;内嵌DSP高速音频处理器,处理速度快;-内置13Bit/DA转换器,以及12Bit/PWM输出,音质好;PWM输出可直接推劢0.5W/8Q扬声器,推挽电流充沛;-支持DAC/PWM两种输出方式;支持加载WAV音频格式;支持MP3控制模式、挄键控制模式、3x8挄键组合控制模式、开口控制模式、一线串口控制模式、三线串口控制模式以及三线串口控制I/O口扩展输出模式;三线串口控制模式切换到三线串口控制I/O口扩展输出模式只需发送数据就可以迚行切换。切换后仍可把切换前

12、的最后一工作状态带迚切换后的模式工作;仸意设定显示诧音播放状态信号的BUSY输出方式;抗干扰性强,可应用在工业领域;15种挄键控制模式,仸意一个挄键可设定仸意一种控制模式;配套WT588DVoiceChip上位机软件,接口简单,使用方便。能极大限度的发挥出WT588D诧音单片机的各项功能;?YDDUSGCOOO1O2O315VBVPPPPPlfiniinq下图为WT588D16PIN引脚图及实物图:/RESETDACPWM+PWM-P14P13P16石NDWTWJ6P图15WT588D(16PIN)引脚图及实物图1.2系统功能本设计的主要功能是用单片机来控制DS18B20测温及驱动LED数码管

13、显示温度,用户可以通过修改程序的延时函数来改变测温频率。扩展后的系统增加了语音模块,通过事先编译的语音文件来实现智能的语音报告温度和高低温提醒功能。同时,我们进一步优化了程序,将报温过程中的LED数码管设置成跟随语音的同步闪烁,增加了这个产品的人性化。2系统原理本系统设计的主要原理是用DS18B20测温单元和用单片机控制WT588D语音模块、数码管显示模块(由74LS138译码器驱动)来工作。其中WT588D语音模块集成了语音的存储、编译和输入、输出功能。当18B20测出实时温度后,单片机将采集到的相应的数据转换并由38译码器驱动LED数码管显示温度,接下来单片机通过I/O把程序转换后的相应数

14、据分别传送到对应模块,实现对各模块的控制功能。2.1系统仿真图基本的仿真图具体见图21所示。2R恋曲GMDERgtkr1XTAL1KTA12RETJ-.EizALEEhP1UP1.1P12P13P1.+P1SPUGP1.7PDHAraPD.VAD1PDZh.DZPD3.hi3PD.+/AD+PDSh.LiSPD.Gh.mP口Mf?pin.fGPN.if阳PZAfpzaH.nPZ.4/AEpzsAtaPZ.aAUPZ.Ti.h-EpnAMipl.lfMP3nntpaTKTTpn+nnP3iT1Pl.TiTOT:ES3T3533+S32ERSETDACB15PWM-POOPUPD?FC9创0PIS

15、图21基本系统仿真图(WT588D不能仿真)2.2实物照片具体的实物照片如图23所示。图23实物照片3程序流程图4程序源代码(主要部分)/*A*A*J*J*J*J*A*A*A*A*J*J*J*J*J*A*A*A*A*J*J*/XTJ*A*A*A*A*AAJ*A*A*A*A*J*J*A*J*J*AJ*A*A*A*A*J*J*A*J*J*AJ*A*A*A*A*J*J*A/XT*J*J*J*A*A*J*J*J*J*A*A*J*J*/XT*A*A*A*A*A*J*J*AJ*A*A*A*A*J*J*A*J*J*AJ*A*A*A*A*J*J*A*J*J*AJ*A*A*A*A*J*4*4*/floatrea

16、d_temp()/18B20总线复位/发skipROM命令/发读命令/温度低8位/温度高8位/发skipROM命令/发转换命令ow_reset();write_byte(OxCC);write_byte(OxBE);temp_dataO=read_byte();temp_datal=read_byte();ow_reset();write_byte(OxCC);write_byte(0 x44);/JJ*A*A*A*A*AAJ*A*A*A*A*J*J*A*J*J*AJ*A*A*A*A*J*J*A*J*J*AJ*A*A*A*A*J*J*/XT*A*A*A*A*J*J*A*J*J*AJ*A*A*A

17、*A*J*J*A*J*J*AJ*A*A*A*A*J*4*4*/TemVoice()for(h=0;h200;h+)scan();TEST_Busy();Send_threelines(13);TEST_Busy();/现在温度是for(h=0;h50;h+)reade(3);if(display3=0 x0B)Send_threelines(16);TEST_Busy();/读负判断for(h=0;h50;h+)reade(2);/程序太长不宜写在报告中,完整程序请if(display2!=0 x0A&display2!=l)/联系QQ154401855(或154401856)下载Send_t

18、hreelines(display2);TEST_Busy();Send_threelines(10);TEST_Busy();/读第3位如果非零且非一读几十if(display2=1)Send_threelines(10);TEST_Busy();/第三位是一则读十for(h=0;h50;h+)reade(1);if(display2!=0 x0A&display1!=0|display2=0 x0A)Send_threelines(display1);TEST_Busy();/读第2位for(h=0;h50;h+)TemCode二dis_710;LEDdot二1;TemScan二scan_

19、con1;delay(90);TemScan=0 xff;Send_threelines(14);TEST_Busy();/读小数点for(h=0;h50;h+)reade(0);Send_threelines(display0);TEST_Busy();/读第1位Send_threelines(11);TEST_Busy();/摄氏度delay(300000);/适当延时以便于提醒if(display3=0 x0B|display2=0 x0A|(display2=1&display1=0)Send_threelines(17);TEST_Busy();/低温提醒负或者019度if(disp

20、lay3=0 x0A&(display2=2&display1=0)Send_threelines(18);TEST_Busy();/提醒2029度辻(display3=0 x0A&display2=3&display2*J*/XT;主函数*A*A*J*J*A*A*J*J*J*J*A*A*J*J*J*J*A*A*J*4*4*/main()uniti=0;TemCode=0 xFF;/初始化端口TemScan=Oxff;for(h=0;h4;h+)displayh=0 x0B;/开始显示ow_reset();/开机先转换一次write_byte(OxCC);/SkipROMwrite_byte(

21、0 x44);/发转换命令for(h=0;h500;h+)chark;for(k=0;k4;k+)TemCode二dis_7displayk;LEDdot二l;TemScan二scan_conk;delay(90);TemScan=0 xff;/显示小数点for(t=0;t*J*J*J*J*J*/XT;程序结束*A*A*A*A*A*A*A*A*A*A*A*A*A*A*A*A*A*A*A*A*A*A*A*A*/5结论通过本学期单片机项目设计的学习与动手制作,本设计基本上实现的预定功能,但在此基础上还可以根据不同的需求做相应的扩展,比如可以设计实现与计算机的通信,无线遥控温度的报告及测温频率的大小

22、等。实际设计中,我们查阅了很多相关资料和各种所需原件的技术参数,学到了大量在教材中所不能得到的知识,对我们以后的学习工作带来了很大帮助。由于个人的知识及时间有限,设计本身不足之处可能未完全顾及,比如硬件焊接的工艺不够美观、程序优化不够精简等,还有待进一步改进。但总体来说,本组焊接和程序的优化都做的差强人意。特别是程序的注释条理清晰,可为修改和以后同学的借鉴节省大量时间。由此可见,一个良好的编程习惯对于一个项目设计的重要性是不言而喻的。6扩展部分设计思路及心得18B20测温基本程序老师已提供,本制作主要扩展了语音存储及播放提醒功能。扩展部分主要使用了WT588D语音芯片,电路主要由魏浩洋同学制作,不再赘述。由于本人编程能力有限,相关程序编写方面,颇费周折,也因此获得了更多的宝贵经验和教训,现总结如下:1、WT588D芯片采用了三线串口下载模式,具体使用过程中,我们查阅了相关资料和技术参数,最终完成了其与单片机的连接,并顺利让单片机对其进行控制。编译语音时应注意码率的控制,太大无法识别。在制作提醒语音时,我们使用了SmartRead软件进TTS转换,避免了语音的人为朗读差异;2、通过修改相关参数,我们对18B20采集的温度进行转换并最终显示在LED数码管上。然后通过程序寻找显示数字对应的语音存放地址行朗读提醒。实际制作过程中并不清楚各种数据的进制是否还需要进行转换,所以对

温馨提示

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

评论

0/150

提交评论