基于单片机的远程电话控制系统.docx
- 文档编号:28029701
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:39
- 大小:616.04KB
基于单片机的远程电话控制系统.docx
《基于单片机的远程电话控制系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的远程电话控制系统.docx(39页珍藏版)》请在冰豆网上搜索。
基于单片机的远程电话控制系统
基于单片机的远程电话控制系统
摘要
随着移动通讯行业的快速发展手机已经走进了千家万户。
在中国几乎每个成年人都有一部手机。
但是利用手机进行远程控制的技术却不是很多。
如何利用手机这种通信方式控制日常生活中的电子产品是本设计所要研究的课题。
众所周知最近这些年通信行业和电子行业有了飞速的发展,在这个基础上本文设计了一种通过GSM模块实现远程控制的系统。
此系统以STC89C52RC单片机和SIM900A模块及ISD1760语音芯片为电路核心,通过公共移动通信网络,实现对远程电器设备的智能化控制。
关键词:
STC89C52RC单片机双音多频DTMF远程控制
Abstract
withtherapiddevelopmentofmobilephonemobilecommunicationsindustryhavealreadywalkedintothousandsofhouseholds.InChinaalmosteveryadulthasamobilephone.Butforuseinremotecontroltechnologyisnotalotofmobilephone.Howtousethemobilephonethiscommunicationmodecontrolofelectronicproductsindailylifeisthedesignofthesubjecttobestudied.Aseveryoneknowsinrecentyearsthecommunicationsindustryandelectronicindustryhasmaderapiddevelopment,onthisbasis,thispaperdesignsasystemtorealizeremotecontrolthroughtheGSMmodule.ThissystemisbasedonSTC89C52RCMCUandSIM900AmoduleandtheISD1760speechchipasthecorecircuit,throughthepublicmobilecommunicationnetwork,therealizationofintelligentcontrolofremoteelectricalequipment.
关键词:
STC89C52RC单片机双音多频DTMF远程控制
Keywords:
STC89C52RCsinglechipdualtonemultifrequencyDTMFremotecontrol
基于单片机的远程电话控制系统
1绪论
21世纪是信息时代,各种电信新技术推动了人类社会文明的进步。
自从贝尔发明了电话机,全世界各国的电话网络发展迅速。
电话远程遥控技术是通过通讯手段对被控物体实施远距离的控制,常用的方式有无线电遥控、有线遥控、红外线和超声波遥控等。
无线电遥控既是利用无线电信号对被控物体实施远距离控制。
无线电遥控不可避免的须占用一定的无线电频率资源,造成电磁污染;常规的有线遥控需进行专门的布线,增加了投入;而红外线、超声波遥控则受距离所限。
现有的遥控方式中,还有载波通信控制手段和基于无线寻呼的遥控方式。
载波方式即通过电力线传递信息,该方式只能局限于同一变电所、同一变压器所辖范围内。
因此也存在距离问题,应用范围有限。
基于无线寻呼的遥控方式利用了现有的寻呼频率资源,不需占用额外的频谱。
而且,随着寻呼网的全国联网,其遥控的距离基本不受限制。
但该方式的受控方动作滞后于控制方的操作,不具备实时性,而且不具备很高的可靠性。
手机电话遥控作为一较新的课题与常规的遥控方式相比,显示出一定的优越性,不需进行专门的布线,不占用无线电频率资源,避免了电磁污染。
本次设计正是采取单片机做智能控制,利用不同的提示音达到对于不同操作的提示及对受控方状态的信息反馈,从而使操作者能够及时了解受控方信息,使产品达到交互式与智能化。
本设计的各种电器接口、各项标准都严格遵循国家有关标准,为以后的产品化提供了良好的基础。
设计为突出电话遥控的信息反馈功能,并使产品达到非常高性价比。
故未对电话装置的其他功能进行进一步的扩展,而且所有使用的集成电路和其它元器件都尽量选择廉价的。
在该作品的基础上进行了功能扩展是很方便的。
譬如:
使用语音芯片〈音乐片〉作为信号音反馈,提高本设计的实用性。
随着社会的发展和人们生活水平的提高越来越多的家用电器进入了百姓的生活给大家带来了很多的方便和享受同时随着电话在家庭中的普及利用电话实现家用电器遥控是未来的发展方向。
遥控装置是电子爱好者热衷开发的产品,现在市场上的遥控装置采用红外线、超声波、动力载波、无线遥控及无线寻呼等方式。
勿容置疑,这些装置为满足工农业生产和人民生活的需要,带来了便利。
然而采用红外线、超声波方式的遥控装置,遥控距离在10m以内;载波方式是通过电力线传递信息,该方式仅适用于同一变压器所辖范围;采用无线遥控,一方面,不可避免占用无线频率资源,造成电磁污染,另一方面也存在遥控距离的问题。
基于无线寻呼的遥控方式利用了现有的寻呼频率资源,虽然遥控距离不受限制,但可靠性差,如处于信号弱区域内的通信设备就无法实现控制。
长期以来困扰遥控装置发展的关键问题,是如何实现远程电器设备可靠控制。
基于单片机的智能电话控制系统,借助公共电话网络,操作者可在语音提示下实现对远程设备的可靠控制。
该装置具有可靠性高不受传输距离限制不占用频率资源等特点。
适用于家庭、企事业单位、工业现场、商店等场所,利用手机或固定电话就能实现电器设备的控制和运行状态查询.电话遥控和常规的遥控方式相比不需进行专门的布线不占用无线电频率资源避免了电磁污染而且由于电话线路各地联网可以充分利用现有的电话网。
本文介绍了一种基于电话和单片机的家用电器遥控装置。
利用该装置用户可以通过任意一部双音频电话随时开关、检查家里电器的使用情况而且当用户要下班时还可以通过电话提前打开空调、电饭锅等。
2系统设计原理
本设计基本思路是这样,当用户需要控制家中电器时,可用手机或固定电话拨打家中的电话号码,在有人接听或振铃次数不大于6次(可由软件设定)时,控制系统认为是电话呼叫信号或误操作而不动作,以避免干扰正常电话业务。
当振铃次数大于6次时,系统认为是对插座和电器的控制,单片机控制摘机并启动语音提示电路发出提示音,要求用户输入密码。
如果密码不正确,则语音提示重新输入,当输入次数超过3次(可由软件设定)时,系统将自动挂机。
如果输入密码经系统确认正确后,语音提示用户各项操作所对应的数字键,确认操作完成后,系统自动挂机。
用户拨打话机按键的过程中,按键时间间隔不能超过一定时间(一般设置为5~10秒),当超过设定时间时,系统同样会自动挂机。
实物如图2-1所示。
图2-1远程电话控制系统实物图
利用手机通信方式达到远程控制家用电器的系统,其具体设计要求本系统必须满足以下功能:
1.通过电话网对异地的电器实现控制(开/关);
2.控制器可以实现自动模拟摘挂机;
3.控制器设置密码校验;
4.密码输入正确后,根据语音提示进行操作。
系统必须具有以下单元功能模块:
1.铃音检测、计数;
2.自动摘挂机;
3.密码校验;
4.双音频信号解码;
5.输入数据分析;
6.控制电器开关;
7.语音提示;
本设计以STC89C52RC单片机为主控芯片,ISD1760作为语音芯片,还有SIM900A模块组合在一起实现这些功能。
单片机进行信息处理及逻辑控制,通过USART接收外部操作指令形成各种控制信号,并完成对于各种信息的记录;接口电路提供单片机与SIM900A模块的连接电路以及SIM900A模块与ISD1760语音芯片的接口电路。
本装置使用普通电话机发出遥控命令信号,以DTMF信号作为运载遥控命令的媒体,而无需专门安装遥控发送装置,利用电话网络传送遥控命令或其他数字信息时,只需把接收装置放在任何一个有通信信号的场所,就可以接收任何地方〈只要电话能通达的地方〉的遥控操作或其他数字信息,接收装置就像一部普通电话机,传真机或其他电话用户终端设备一样被使用,因此不受距离的局限。
用户通过异地的电话机拨通本装置所连接外线的电话号码,本装置如果检测到振铃六次,即六次响铃后无人接,自动摘机,进入密码检测,密码输入正确后根据语音提示选择被控制电器,然后输入开或关进行遥控电器,完成后返回。
系统基本工作原理是:
系统上电,单片机复位,SIM900A模块初始化系统开始工作,当有电话打入时,SIM900A模块通过通信口将AT命令协议中的相关字符(“RING”)发送给单片机,单片机检测到字符判断字符含义,如果是来电响铃则开始计数响铃次数。
当振铃次数为六次时约30秒若没有人接电话,表明没有人在场,系统一方面,启动语音提示电路,发出“您好!
欢迎使用远程电话控制系统,请输入密码,并以‘#’键结束”;另一方面,发出自动摘机控制信号,如果用户输入密码错误超过三次(可由用户任意设),则系统挂机,如果输入密码正确,开始提示用户控制电器,并发出“控制电饭煲请按1;控制热水器请按2”的语音提示。
此时用户根据提示进行操作,如果长时间未有任何按键按下,则单片机自动控制SIM900A模块挂机。
3硬件电路设计
硬件电路如图3-1所示。
整个电路包括输出控制部分,晶振电路,复位电路,电源部分,SIM900A模块接口以及ISD1760语音芯片部分。
图3-1硬件电路原理图
3.1复位电路
复位电路如图3-2所示。
复位电路是保证在单片机运行过程中出现不可预知的错误时,人为手动的将单片机的程序拉回到起始点重新执行程序功能。
图中S1是按键,R101为下拉电阻,C103为方抖动滤波电容。
根据STC89C52RC单片机的数据手册,我们知道单片机的RST复位管脚在接入高电平时会将单片机复位。
因此RST管脚在图中接入到下拉电阻的上端,当按键未按下时此管脚一直为低电平;当按键按下时,此管脚为高电平,单片机复位。
图3-2单片机复位电路
3.2控制输出电路
控制输出电路如图3-3所示。
本设计中输出部分我们采用LED的亮灭来表示控制逻辑是否正确。
图中P2.2一路代表控制电饭煲,P2.3代表控制热水器。
图中的R302和R301都是限流电阻,防止电流过大烧掉LED。
本部分电路的工作原理为当单片机管脚输出低电平时,LED的阴极被拉低,因此构成回路,LED被点亮,当单片机的管脚输出高电平时,LED的阴极被拉高,回路两端的电平同样高,回路中没有电流流过,因此LED灭。
图3-3控制输出电路
3.3晶振电路
晶振电路如图3-4所示。
图中的C101,C102和Y1构成了晶振电路,这部分电路的作用是给单片机提供精准的时钟电路,保证单片机正常工作。
图3-4晶振电路
3.4SIM900A模块接口电路
SIM900A模块接口电路如图3-5所示。
图中TX和RX为街道单片机的TX和RX管脚,OUT_SP+与OUT_SP-为音频输出接口可以直接接到小喇叭上。
IN_SP+与IN_SP-为音频输入端因为本设计中前端的音频输出是由ISD1760语音芯片提供的,这个输出信号不能直接接到SIM900A模块的音频输入端,要做一些衰减,图中的R303和R304就是起到衰减的作用的。
图3-5SIM900A模块接口电路
SIM900A模块如图6-6所示。
图3-6SIM900A模块实物图
SIM900A模块外形尺寸为长*宽:
3.6*5(cm)高度由插针及天线类型决定。
关于引脚功能如表3-1所示。
引脚
名称
功能描述
引脚
名称
功能描述
15
STAT
模块运行状态status
16
RST
模块复位低电平有效
13
POWN
开机引脚
14
DTR
数据终端已就绪
11
VMCU
接MCU电源(可悬空)
12
MICP
话筒差分输入
9
RXD
接MCU的TXD
10
MICN
话筒差分输入
7
TXD
接MCU的RXD
8
SPKP
耳机差分输出
5
GND
地
6
SPKN
耳机差分输出
3
GND
地
4
GND
地
1
+5V
标准5V
2
VBTA
3.8V-4.5V可接锂电池
表3-1SIM900A管脚功能
最基本应用所需引脚:
1.供电:
13或24)峰值电流需要2A(即标准5V和VBTA选一即可。
2.通信:
579三线UART串口通信(3.3V和5V均可)。
3.开机:
13引脚POWN,上升沿后维持电压1S以上开机,SIM900A的再次上升沿可关机,也可直接接高电平(3V和5V均可)。
其他引脚:
4.14脚DTR可以用来进入和退出休眠模式,详见SIM900A官方手册的3.5省电。
5.15脚STATUS可以检测模块开关机状态,详见SIM900A官方手册的3.4开机。
6.16脚RTS为低电平有效,最高3V,最好不用,出故障直接重启。
7.音频引脚:
6、8、10、12使用时加滤波电容,官方手册的3.9音频接口一节。
指示灯闪烁描述:
1.电源指示灯:
POWER长亮
2.网络状态信号灯:
开机后有反应
网络灯状态SIM900A工作状况
熄灭SIM900A没有工作
64ms亮/800ms熄灭SIM900A没有找到网络
64ms亮/3000ms熄灭SIM900A注册到网络
64ms亮/300ms熄灭GPRS通讯
关于SIM卡的选择:
1.中国大陆:
移动、联通(电信和3G卡不能用)
2.外国:
除台湾地区的其他亚洲地区均可。
3.其他地区请选sim900版本。
本设计当中用到AT指令有握手测试指令:
1.手动发送AT回车,数据接收为ATOK。
2.挂断电话指令:
自己挂断电话ATH回车。
3.来电时:
往GSM打电话时,会出现RING字符。
4.接听电话指令,接听对方电话ATA回车。
3.5ISD语音芯片工作电路
ISD1760语音芯片工作电路如图3-7所示。
ISD1700系列芯片是华邦公司新推出的单片优质语音录放电路,该芯片提供多项新功能,包括内置专利的多信息管理系统,新信息提示(vAlert),双运作模式(独立&嵌入式),以及可定制的信息操作指示音效。
芯片内部包含有自动增益控制、麦克风前置扩大器、扬声器驱动线路、振荡器与内存等的全方位整合系统功能。
此类芯片的特点:
1.可录、放音十万次,存储内容可以断电保留一百年。
2.两种控制方式,两种录音输入方式,两种放音输出方式·可处理多达255段以上信息
3.有丰富多样的工作状态提示
4.多种采样频率对应多种录放时间
5.音质好,电压范围宽,应用灵活,价廉物美
图3-7ISD1760语音芯片工作电路
图中R1为限流电阻,D1为指示灯,C1、C3为去耦电容,咪头测的电阻与电容构成了滤波电路。
R2为振荡电阻。
ISD1760芯片可以工作在独立按键工作模式,现就独立按键模式做下简单介绍。
ISD1700的独立按键工作模式录放电路非常简单(如图3-7),而且功能强大。
不仅有录、放功能,还有快进、擦除、音量控制、直通放音和复位等功能。
这些功能仅仅通过按键就可完成。
在按键模式工作时,芯片可以通过/LED管脚给出信号来提示芯片的工作状态,并且伴随有提示音,用户也可自定4种提示音效。
录音操作:
按下REC键,/REC管脚电平变低后开始录音,直到松开按键使电平拉高或者芯片录满时结束。
录音结束后,录音指针自动移向下一个有效地址。
而放音指针则指向刚刚录完的那段语音地址。
放音操作:
放音操作有两种模式,分别是边沿触发和电平触发,都由/PLAY管脚触发。
1.边沿触发模式:
点按一下PLAY键,/PLAY管脚电平变低便开始播放当前段的语音,并在遇到EOM标志后自动停止。
放音结束后,播放指针停留在刚播放的语音起始地址处,再次点按放音键会重新播放刚才的语音。
在放音期间,LED灯会闪烁直到放音结束时熄灭。
如果在放音期间点按放音键会停止放音。
2.电平放音模式:
如果一直按住PLAY键,使/PLAY管脚电平持续为低,那么会将芯片内所有语音信息播放出来,并且循环播放直到松开按键将/PLAY管脚电平拉高。
在放音期间LED闪烁。
当放音停止,播放指针会停留在当前停止的语音段起始位置。
快进操作:
点按一下FWD按钮将/FWD端拉低,会启动快进操作。
快进操作用来将播放指针移向下一段语音信息。
当播放指针到达最后一段语音处时,再次快进,指针会返回到第一段语音。
当下降沿来到/FWD端时,快进操作还要决定于芯片当时的状态:
1.如果芯片在掉电状态并且当前播放指针的位置不在最后一段,那么指针会前进一段,到达下一段语音处。
2.如果芯片在掉电状态并且当前播放指针的位置在最后一段,那么
指针会返回到第一段语音处。
3.如果芯片正在播放一段语音(非最后一段),那么此时放音停止,播放指针前进到下一段,紧接着播放新的语音。
4.如果芯片正在播放最一段语音,那么此时,放音停止,播放指针返回到第一段语音,紧接着播放第一段语音。
擦除操作:
擦除操作分为单段擦除和全体擦除两种擦除方式,区别如下:
1.单个擦除:
只有第一段或最后一段语音可以被单个擦除。
点按一下ERASE健将/ERASE管脚拉低,这时具体的擦除情况要看播放指针的状态:
1>如果芯片空闲并且播放指针指向第一段语音,则会删除第一段语音,播放指针指向新的第一段语音(执行擦除操作前的第二段)
2>如果芯片空闲并且播放指针指向最后一段语音,则会删除最后一段语音,播放指针指向新的最后一段语音(执行擦除操作前的倒数第二段)
3>如果芯片空闲并且播放指针指向没有指向第一或最后一段语音,则
不会删除任何语音,播放指针也不会被改变
4>如果芯片当前正在播放第一段或最后一段语音,点按下ERASE键会
删除当前语音。
2.全体擦除:
当按下ERASE键将/ERASE管脚电平拉低超过2.5秒钟,会触发全体擦除操作,删除全部语音信息。
复位操作:
如果用RESET控制此管脚,建议/RESET管脚与地之间连接一个0.1μF电容。
当/RESET被触发,芯片将播放指针和录音指针都放置在最后一段语音信息的位置。
音量操作:
点按一下VOL键将/VOL管脚拉低会改变音量大小。
每按一下,音量会减小一档,再到达最小档后再按的话,会增加音量直到最大档,如此循环。
总共有8个音量档供用户选择,每一档会改变4dB。
复位操作会将音量档放在默认位置,即最大音量。
FT直通操作:
将/FT管脚与GND短接,持续保持在低电平会启动直通模式。
出厂设定的是在芯片空闲状态,直通操作会将语音从Analn端直接通往喇叭端或AUD输出口。
在录音期间开启FT功能,会同时录下Analn进入的语音信号。
提示音(SE)编辑:
ISD1700S中设计了4种声音来提示当前的工作状态,分别为SE1,SE2,SE3,SE4。
SE1:
录音,下一曲或全部擦除的开始;
SE2:
录音,单首擦除或最后一曲结束时;
SE3:
无效地擦除操作;
SE4:
全部擦除成功。
A)进入SE编辑模式:
1.首先保持FWD为低3秒左右,然后LED会闪一下(若有SE1,会同时播放SE1)。
但是若当前曲目为最后一曲或没有录音则LED会闪两下(若有SE2,会同时播放SE2)。
2.保持FWD为低,然后按下REC使之为低直到LED闪一下。
3.LED再闪一下说明已经进入SE编辑模式;进入此模式后,当前待编辑SE为SE1。
B)编辑:
进入SE编辑模式后可按原来的方式进行录音,放音和擦除。
按FWD可选SE1至SE4,按FWD后可根据LED的闪动次数来判断当前的SE,闪一下为SE1,闪两下为SE2,依此类推。
C)退出SE编辑模式:
操作方法同进入方法一样。
4软件设计
单片机编程软件我们用的是KeiluVision软件。
KeiluVision是德国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。
KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。
C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。
C51已被完全集成到uVision的集成开发环境中,这个集成开发环境包含:
编译器,汇编器,实时操作系统,项目管理器,调试器。
uVisionIDE可为它们提供单一而灵活的开发环境。
单片机程序上包括一些函数变量申明等,主程序及一些子函数。
具体程序说明如下:
4.1程序说明
/*****************************************
*实验名:
远程电话控制系统
*使用的IO:
P2.0、2.1、2.2、2.3;p2.0/2.1分别为输出控制语音芯片播放及下一语音段,p2.2/2.3分别为输出控制电饭煲机热水器输出。
*实验效果:
1,来点响铃超过6次(任意设)进入系统
:
2,密码输入次数超过3次(任意设)挂机
:
3,密码正确后提示用户各项操作所对应的数字键,确认操作完成后,挂机
:
4,按键时间间隔不能超过5秒(可设5-10秒)当超过设定值,挂机
语音字段说明:
1,欢迎进入远程电话控制系统
:
2,请输入密码
:
3,请重新输入
:
4,密码错误,再见
:
5,谢谢使用,再见
:
6,控制电饭煲请按1
:
7,控制热水器请按2
*************************************************************/
4.2函数申明及变量定义
#include
voidUsartConfiguration();
voidDelay300ms();//延时200ms
voidInit();//初始化函数
voidSelect_PLAY(unsignedcharx);//定义选择播放子函数
voidpassword_if();//密码判断子程序
voidTimerConfiguration();//定时器配置函数
sbitPLAY=P2^0;//播放控制
sbitNEXT=P2^1;//播放下一个
sbitCTRL1=P2^2;//控制输出第一路
sbitCTRL2=P2^3;//控制输出第二路
unsignedcharRX_BUF[30];//接收缓冲区
unsignedcharTX_BUF[20];//发送缓冲区
unsignedcharRX_count=0;//接收字符计数变量
unsignedcharRing_Count;//响铃计数变量
unsignedcharRing_Count_set;//响铃计数变量设置值
uns
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 远程 电话 控制系统