单位文秘网 2022-03-01 08:13:05 点击: 次
【摘要】在此设计了一种基于GSM的红外遥控语音提醒系统,该系统采用STC89C52单片机为主控芯片,并使用红外遥控控制整个系统。系统中ISD4004语音模块可在用户设定的时间播放预先录制的语音信息。实现了将GSM技术融入到设计中,用户即使不在语音提醒器的附近,一样可以通过手机接收到语音提醒。创新点是打破以往提醒系统的提醒范围的局限性,极大地提高了提醒系统的实用性和可靠性。
【关键词】语音提醒GSM红外遥控
由于现在人们生活压力大,事务繁忙,经常会因为忘记东西而造成严重的后果;而一些老年人由于年老健忘,需要定时提醒吃药和注意日常事务。本文论述了基于GSM的红外遥控语音提醒器的研制,并且语音内容可根据使用者需要反复录制及播放。如果使用者没有在房间中收听到提醒,提醒器还可以通过GSM实现远程无线提醒,自动拨打预先设置的电话号,播放语音提醒录音。
一、硬件电路设计
系统采用STC89S52单片机为主控芯片。红外遥控模块负责接收和处理红外遥控器发出的红外遥控信号;时钟模块负责显示时间和设定提醒时间,DSl302提供的慢速充电功能,可在系统掉电后正常计时,不需重新设定时钟时间,这使得时钟的使用更加便捷;温度模块采用18B20芯片,它是单线数字温度传感器,测得的温度在液晶上实时显示;显示模块采用1602液晶屏,用来显示时间、温度和操作内容的提示;语音模块使用了ISD4004语音芯片,单片机通过SPI总线发送操作命令控制语音芯片的录放音操作;西门子公司的tc35i模块作为GSM模块,可传输语音和数据信号,和单片机之间的通信使用 9600bps波特率。系统的总体结构框图如图1所示。
遥控器用来产生遥控编码脉冲,驱动红外发射管输出红外遥控信号,遥控接收头完成对遥控信号的放大、检波、整形、解调出遥控编码脉冲[1]。遥控编码脉冲是一组串行二进制码,由单片机完成对遥控指令解码,并执行相应的遥控功能。
遥控器以专用发射集成电路TC9012组成,TC9012的一帧数据中含有32位码,包含两次8位用户码,8位数据码和8位数据码的反码及最后位的同步位。引导码由4.5ms的载波和4.5ms的载波关断波形所构成,以作为用户码、数据码以及他们的反码的先导。同步位(SY)是标志最后一位编码是“0”或“1”的标识位,它只有0.56ms的有载波信号构成。发射码的格式如图2所示。
DS1302是一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与单片机同步通信,它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。
DS1302接口电路如图3所示。DS1302与单片机的连接也仅需要3条线:/RST引脚,在读、写数据期间,必须为高;SCLK串行时钟引脚;I/O串行数据引脚,三线接口时的双向数据线。外接32.768kHz晶振,为芯片提供计时脉冲。
美国ISD公司推出的ISD4000系列单片语音录放电路,将每个采样值直接存储在片内的快闪存储器中,能够非常真实、自然地再现语音。ISD4004与单片机连接电路图如图4所示。该电路具有操作简单、接口方便、录音时间长、可任意分段录放、不怕断电及低功耗等优点[2]。
从图4可以看出,P1.5接ISD4004的片选引脚/ss,控制ISD4004是否选通;P1.2接ISD4004的MOSI串行输入引脚,语音芯片从该引脚读入放音的地址;P1.7接ISD的串行输出引脚MISO,单片机从该引脚接收从语音芯片传来的信号;单片机的P1.4接ISD4004的串行时钟输入端SCLK,作为ISD的时钟输入,用于同步MOSI和MISO的数据传输;ISD4004音频信号输出引脚AUDOUT通过一可调电阻(调整输出音量)和一滤波电容输出至外部功放;AMCAP为自动静音端,使用时通过一个电容接地。
西门子公司的tc35i模块是一个支持中英文短信息的GSM模块,可传输语音和数据信号。tc35i的数据接口通过AT命令可双向传输指令和数据,可选波特率为300bit/s~115kbit/s,默认9600bps[3]。
整个模块主要由电源电路、启动电路、SIM卡接口电路和MAX232通信接口电路等几部分组成。tc35i的第1~5引脚是正电源输入脚;第6~10引脚是电源地;tc35i的15脚是启动脚IGT,在系统中,直接将该脚对地短接来启动模块;tc35i使用外接式SIM卡,SIM卡通过卡座与tc35i的同名端直接相连,CCIN引脚用来检测SIM卡是否插好,如果连接正确,则CCIN引脚输出高电平,否则为低电平;tc35i的18、19脚直接连到单片机的串口;ISYNC端通过一个三极管和一个发光二级管连接到电源,用来指示系统的工作状态。tc35i模块结构示意图如图5所示[4]。
二、系统软件设计
系统软件也是采用模块化设计,分为红外收发模块、时钟模块、测温模块、LCD显示模块、语音模块、GSM模块等。
主程序调用几个模块的子程序来完成系统任务,当有红外信号时,单片机接收头产生外部中断请求信号,程序跳转到红外接收模块执行相应的中断服务程序。单片机首先判断引导码和系统码是否正确,不对则直接退出;其次判断数据码与数据反码是否一致,如果一致就根据数据码调用子程序执行相应的操作。
DS1302时钟模块读写程序流程如图6所示。单片机和DS1302进行数据交换时,要先发送命令字,命令字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中;位6为0,表示存取日历时钟数据,为1表示存取RAM数据;位5至位1(A5~A1)表示操作单元的地址;位0(最低有效位)为0,表示要进行写操作,为1表示进行读操作[5]。
在命令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,同样,在命令输入后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读写数据都是从最低位到最高位。
语音模块设置从00地址处录音,则按以下时序:发POWER UP命令,等待TPUD(上电延时);发POWER UP命令,等待2倍TPUD;发地址值为00的SETREC命令;发REC命令。器件便从00地址开始录音,一直到出现OVF(存贮器末尾)时,录音停止。
从00地址处放音,应遵循如下时序:发POWER UP命令,等待TPUD(上电延时);发地址值为00的SETPLAY命令;发PLAY命令。器件会从00地址开始放音,当出现EOM时,立即中断,停止放音[6]。语音模块录放音流程图如图7所示。
GSM模块初始化程序,他包含了单片机串行口的初始化、控制TC35i模块开机、检测整机工作状态等工作;拨打电话子程序的作用是当用户不在语音提醒器旁时,立即调用拨打电话子程序,用于实现远程语音提醒功能。GSM模块语音提醒流程图如图8所示。
三、结语
本设计最大的创新点在于使用了语音模块,使用户可以录入和接收到语音提醒,较以往传统的文字提醒更为方便直观。红外遥控作为系统的控制部分,可以提高系统的操控性。同时还将GSM技术融入到设计中,打破了以往提醒系统的提醒范围的局限性,即使不在语音提醒器的附近,一样可以通过手机等接收到语音提醒,极大地提高了提醒系统的实用性和可靠性。
(责任编辑:单位文秘网) )地址:https://www.kgf8887.com/show-138-102327-1.html
上一篇:详述电子电路焊接基本操作技巧
下一篇:最后一页
版权声明:
本站由单位文秘网原创策划制作,欢迎订阅或转载,但请注明出处。违者必究。单位文秘网独家运营 版权所有 未经许可不得转载使用