温度控制语音播报_第1页
温度控制语音播报_第2页
温度控制语音播报_第3页
温度控制语音播报_第4页
温度控制语音播报_第5页
已阅读5页,还剩32页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

温度控制语音播报课程设计课程名称题目名称专业班级学生姓名学 号指导教师

单片机课程设计温度控制语音播报电信(2)班罗少轩黄迎辉陈章宝二○一四年 三月 三十一概述系统介绍在无人值守的情况下实现对温度实时监测,并在温度超过设定范围时及时通知相关人员,设计了基于STC89C52单片机的智能语音报警系统,本设计采用了STC89C52单片机作为控制核心,对数字温度传感器DS18b20控制,读取温度信号并进行计算处理,当测量温度超过设定的温度范围时,控制语音芯片WT588D自动报警。整个设计系统分为部分:单片机控制、温度传感器、液晶显示、语音播报以及独立按键控制等模块。硬件设计2.1MCS-51单片机MCS-51单片机,8K字节在系统可编程 Flash存储器、1000次擦写周期、全静态操作:0Hz~33Hz、三级加密程序存储器 、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式 、掉电后中断可唤醒、看门狗定时器 、双数据指针、掉电标识符。P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时, P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。●P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。引脚号第二功能 P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在线系统编程用)P1.6MISO(在线系统编程用)P1.7SCK(在线系统编程用)。P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为STC89C52特殊功能(第二功能)使用,如下表所示。P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INTO(外中断0)P3.3INT1(外中断1)P3.4TO(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通 )P3.7RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。●PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。●EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。●VCC:电源●GND:地2.2复位电路的设计复位使单片机处于起始状态,并从该起始状态开始运行。AT89C52的RST引脚为复位端,该引脚连续保持2个机器周期(24个时钟振动周期)以上高电平,则可使单片机复位。内部复位电路在每一个机器周期的S5P2期间采样斯密特触发器的输出端,该触发器可抑制RST引脚的噪声干扰,并在复位期间不产生ALE信号,内部RAM处于不断电状态。其中的数据信息不会丢失,也即复位后,只影响SFR中的内容,内部RAM中的数据不受影响。外部复位有上电复位和按键电平复位。由于单片机运行过程中,其本身的干扰或外界干扰会导致出错,此时我们可按复位键重新开始运行。为了便于本设计运行调试,复位电路采用按键复位方式。2.3时钟电路设计时钟电路是单片机的心脏,它控制着单片机的工作节奏。MCS-51单片机允许的时钟频率是因型号而异的,其典型值为12MHZ。AT89C51内部有一个反相振荡放大器,XTAL1和XTAL2分别是该反向振荡放大器的输入端和输出端。该反向放大器可配置为片内振荡器,石晶振荡和陶瓷振荡均可采用。本设计采用的晶振频率为12MHZ。其时钟电路如图3.4所示。51系列单片机还可使用外部时钟。在使用外部时钟时,外部时钟必须从XTAL1输入,而XTAL2悬空。2.4电源电路设计此设计采用5V直流电直接给整个模块供电,并连接D3,用来检测系统是否已经供电。C8为滤波电容,可使总的供电电源更稳定,以保护单片机正常工作。2.5串口通信电路串口通信采用的是 MAX232。由于单片机所使用是TTL电平,高低电平为0~5V,而上位机使用的二RS232电平,高低电平范围为-12V~+12V。所以要使用MAX232实现电平转换,其中C3、C5、C6、C7四个电容和MAX232共同组成电荷泵,实现改变电压的目的。J11为串行接口,2号为接收串口,3号为发射串口,5号接地,与MAX232和外围器件共同组成串口通信。实现上位机与单片机之间的数据传输。2.6独立按键设计独立按键使用杜邦线与单片机相连,用于实现各种功能的控制。2.7显示模块采用LCD1602显示屏进行显示。LCD显示屏是一种低压、微功耗的显示器件,可以显示大量信息,除数字外,还可以显示字母,比传统的LED数码显示器的画面有了质的提高。虽然LCD显示器的价格比传统的LED数码管要贵些,但它的显示效果更好,是当今显示器的主流,所以采用LCD作为显示器。采用LCD,更容易实现题目的要求,对后续的功能兼容性高,只需将软件修改即可,可操作性强,易于度数,采用1602两行十六字符的显示,能同时显示时间,温度。同时,R5为电位器,可以用来调节LCD1602的屏幕显示亮度。2.8语音播报模块在本次设计中采用了DS18B20作为数据采集器,它的精度最少可以精确到0.0625,完全可以用来进行环境温度的测量。DS18B20是美国DALLAS公司生产的单总线数字温度传感器,可把温度信号直接转换成串行数字信号供微处理器处理,而且可以在一条总线上挂接任意多个DS18B20芯片,构成多点温度检测系统无需任何外加硬件。DS18B20数字温度传感器可提供 9~12位温度读数,读取或写入DS18B20的信息仅需一根总线,总线本身可以向所有挂接的DS18B20芯片提电源,而不需额外的电源。由DS18B20这一特点,非常适合于多点温度检测系统,硬件结构简单,方便联网,在仓储管理、工农业生产制造、气象观测、科学研究以及日常生活中被广泛应用。语音芯片采用的是WT588D,WT588D是一款具有单片机内核的语音芯片,因此,可以冠名为WT588D 系列语音单片机。WT588D 系列语音单片机是广州唯创科技有限公司联合台湾华邦共同研发出来的集单片机和语音电路于一体的可编辑语音芯片。功能多音质好应用范围广性能稳定是WT588D 系列语音单片机的特长,弥补了以往各类语音芯片应用领域狭小的缺陷,MP3控制模式、按键控制模式、按键组合控制模式、并口控制模式、一线串口控制模式、三线串口控制模式以及三线串口控制控制端口扩展输出模式。作为一款以语音为基础的芯片,完全支持 6K~22KHz采样率的音频加载,芯片的独到之处便是将加载的音频音质几乎完整无损的展现出来。 WT588D系列语音单片机能通过配套软件 WT588DvoiceChip轻而易举的做到语音组合播放、插入完美的陶冶静音。可控制的语音地址位能达到 220个!每个地址位里能加载可组合语音为 128段语音!WT588D系列语音单片机模块内置 SPI-FLASH 存储器,WT588D系列语音单片机芯片可根据实际用法外置SPI-FLASH存储器,众多的控制模式、语音组合只需更换SPI-FLASH的内容,即可完全实现操作方式的切换。软件设计3.1开发工具介绍单片的使用除了硬件,同样也要软件的使用,我们写汇编程序编程CPU可执行的机器码有两种方法,一种是手工汇编,一种是机器汇编。机器汇编通过汇编软件变为机器码,用于MSC-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从使用普通汇编语言到高级语言的不断发展,Keil是目前最流行开发MCS-51系列单片机的软件。Keilc51汇编,PLM语言和C语言的程序设计,界面友好。Keil是美国keilsoftware公司出品的52系列兼容单片机c语言开发系统。用过汇编语言后再使用C语言来开发,体会更加深刻。KeilC51软件提供丰富的库,与汇编相比,C语言在功能上,结构上,可读性,可维护性上有明显的优势,因而易学易用函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生产的汇编代码,就能体会到KeilC51DE生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解,在开发大型软件时更能体现高级语言的优势。3.2程序设计整个系统的功能实现是由硬件配合软件来实现的,当硬件基本确定后,软件的功能也就基本确定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行程序(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件是一个小的执行模块。各执行模块规划好后,就可以规划监控程序了。首先要根据系统的总体功能选择一种最合适的监控程序结构,然后根据实质行的要求,合理的安排监控软件和各执行模块之间的调度关系。主程序需要以下几个模块:(1)1602液晶显示模块:向1602的显示送数,控制系统的显示部分。2)温度测试及处理模块:对芯片送过来的数据进行处理。3)语音播报模块:进行对当时的温度进行播报。4)温度采集模块:用于环境温度的采集,传给单片机,进行数据处理。主程序流程图如下:开DS18b1602T >=NO语音结

YES电 机3.3代码程序(1)主程序及显示模块显示部分使用1602液晶显示,主函数实现对其他子函数的调用,从而实现温度控制播报。sbitrs=P2^0;sbitwr=P2^1;sbitlcden=P2^2;sbitDC=P0^5;//电动机控制bitflag0;uchardisplay[2];ucharbai,shi,ge;ucharnum=0;voiddelayus(uints){uinti;for(i=0;i<s;i++);for(i=0;i<s;i++);}void delay(uintz) //延时函数{uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void write_com(ucharcom) //液晶写指令{rs=0;P1=com;lcden=0;delay(5);lcden=1;delay(5);lcden=0;}voidwrite_data(uchar

date)

//液晶写数据{rs=1;P1=date;lcden=0;delay(5);lcden=1;delay(5);lcden=0;}void

init()

//液晶初始化{wr=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);}void distwo(ucharadd,uchartemp)//液晶显示两位数字{uchar shi,ge;shi=temp/10;ge=temp%10;write_com(0x80+add);write_data(shi|0x30);write_data(ge|0x30);}voiddiszifu(ucharadd,uchar*temp){uchari;write_com(0x80+add);for(i=0;temp[i]!='\0';i++){write_data(temp[i]);delay(5);}}void distemp(ucharadd,uinttemp){bai=temp/100;shi=temp%100/10;ge=temp%100%10;write_com(0x80+0x40+add);write_data(bai|0x30);write_data(shi|0x30);write_data(0x2e);write_data(ge|0x30);write_data(0x43);display[2]=(bai<<4)|(shi);display[1]=ge;display[0]=0x22;}voidsound_temp() //温度播报函数{send_oneline(bai);delay(500);send_oneline(10);delay(500);if(shi!=0){send_oneline(shi);delay(500);}if(ge!=0){send_oneline(11);delay(500);send_oneline(ge);delay(500);}send_oneline(12);delay(1200);}void main() //主函数{init();diszifu(0x40+4,"temp:");while(1){tmpchange();distemp(9,tmp());if(temp>=300) //当温度大于30度时,电动机工作,语音播报{DC=0;send_oneline(13);delay(1500);sound_temp();}if(temp<300)

//温度小于

30度,电动机停转{DC=1;}num++;if(num==100) //温度间隔播报{num=0;sound_temp();}}}(2)温度采集模块温度采集使用DS18b20传感器,其具体端口设置如下:sbitDS=P0^0;uinttemp;uint stemp=220;uint xtemp=180;//上下限温度值//延时函数voiddelay1(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void dsreset(void) //sendresetandinitializationcommand{uinti;DS=0;i=103;while(i>0)i--;DS=1;i=4;while(i>0)i--;}bittmpreadbit(void){

//readabituinti;bitdat;DS=0;i++;DS=1;i++;i++;dat=DS;i=8;while(i>0)i--;return(dat);

//i++fordelay}uchartmpread(void)//readabytedate{uchari,j,dat;dat=0;for(i=1;i<=8;i++){j=tmpreadbit();dat=(j<<7)|(dat>>1); //读出的数据最低位在最前面,这样刚好一个字节在 DAT里}return(dat);}voidtmpwritebyte(uchardat) //writeabytetods18b20{uinti;ucharj;bittestb;for(j=1;j<=8;j++){testb=dat&0x01;dat=dat>>1;if(testb) //write1{DS=0;i++;i++;DS=1;i=8;while(i>0)i--;}else{DS=0; //write0i=8;while(i>0)i--;DS=1;i++;i++;}}}voidtmpchange(void)//DS18B20beginchange{dsreset();delay1(1);tmpwritebyte(0xcc);//addressalldriversonbustmpwritebyte(0x44);//initiatesasingletemperatureconversion}uinttmp(){

//getthetemperaturefloattt; uchara,b;dsreset();delay1(1);tmpwritebyte(0xcc);tmpwritebyte(0xbe);a=tmpread();b=tmpread();temp=b;temp<<=8; //twobyteaintvariabletemp=temp|a;tt=temp*0.0625;temp=tt*10+0.5;returntemp;

compose}(3)语音播报模块sbit

rst=P3^4;sbit

sda=P3^5;sbit

key=P2^0;voiddelaym(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voiddelayu(uintz){uintx,y;for(x=z;x>0;x--)for(y=10;y>0;y--);}voidsend_oneline(ucharadd){uchari;rst=0;delaym(1);rst=1;delaym(17);

/*复位延时

17MS*/rst=1;delaym(6);

/*delay6ms*/sda=0;delaym(5); /*delay5ms*/for(i=0;i<8;i++){sda=1;if(add&1){delayu(4); /*400us*/sda=0;delayu(2); /*200us*/}else{delayu(2); /*200us*/sda=0;delayu(4); /*400us*/}add>>=1;}sda=1;}五.总结近年来,随着集成电路的飞速发展,单片语音集成电路领域出现重大变革,产生了许多新的技术和产品,开拓了更广泛的应用领域,并朝着更大容量、更优音质、更高智能、更具灵活性的发展。通信设备电话机、智能仪器仪表、治安报警系统、语音报站/报数/报价器、语音讲解系统、便携式语音记录装置、语音复读机、教学仪器、智能玩具和高档电子礼品等语音产品飞进了我们的生活里。语音技术的发展使得许多系统更加友好,更方便我们对他们的控制。几乎在各个方面都可以充分发挥它的优势,比如本文中的具有语音播报功能的水温控制系统,当然在其他方面也可以有很好的应用,比如说具有语音功能的键盘、有语音功能的计算机控制系统、语音功能的家电、玩具等等。语音功能的实现,可以减少事故的发生,更可以节省资源的利用。所以说,语音功能的实现有助于生活的改善。有着良好的市场前景。然而,此设计毕竟有它的局限性。它并不能随时修改语

温馨提示

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

评论

0/150

提交评论