您的当前位置:首页正文

基于单片机的智能电话控制系统软件设计

2020-03-26 来源:意榕旅游网
第16卷第2期 漯河职业技术学院学报 Journal of Luohe Vocational Technology College Vo1.16 No.2 March 2017 2017年3月 doi:10.3969/j.issn.1671—7864.2017.02.006 基于单片机的智能电话控制系统软件设计 赵璐,冯若愚 (漯河职业技术学院,河南漯河462002) 摘要:本设计基于STC89C52单片机控制单元,通过通信、遥控方式,让用户只需通过电话机(固定电话或移 动电话)输入简单命令就可以实现对家电的远程控制,操作简单便捷。 关键词:单片机;智能电话;控制系统;软件设计 中图分类号:TP311.52 文献标志码:A 文章编号:1671-7864(2017)02-0020-04 々-夺-夺·夺·寺·争·牵·夺·寺·夺·专·夺·夺·夺·夺·夺·夺·夺·夺·寺·夺·÷·孛·夺·夺·夺·夺·夺·夺·牛·夺·夺·夺·争·争·辛·孛·夺-夺·争·夺·÷·夺·÷·寺·夺· 1研究背景 随着计算机技术和电信业的发展,通过电话线 进行的远程通信得到了越来越多的应用。人们通 常采用MODEM进行通信,但只是应用在通信数据 量不大、对通信速率要求不高的场合,所以可以考 2系统控制流程 所设计的智能电话控制系统是以STC89C52单 片机为控制中心,主要由铃流检测电路、摘挂机控制 开关电路、DTMF信号译码电路、语音提示电路、电 器设备驱动电路等部分组成。因此,软件设计也分 为系统初始化、振铃检测、模拟摘挂机、双音频信号 分析处理、控制电器、语音提示等部分。采用汇编语 言编程,采用HK一51系列仿真开发系统完成汇编 语言的编译,再通过STC—ISP—V3.5调试将程序 虑采用DTMF通信方式,它具有接口简单、成本低 廉、可靠性高的特点。目前,在电话控制器和受控 家用电器之问的通讯链路主要有两种方式:一种是 采用直观方式,由电话控制器通过一对双芯电缆直 接与家用电器控制器相连进行信号传输。这种方 式成本较低,但家庭安装比较麻烦,同时需要在墙 上走明线,会破坏装修的整体效果。另一种方法是 采用电力载波通讯技术,用家庭内现有的交流电源 线作为通讯链路,安装较为方便,只要插入墙上的 传送给单片机。系统的主程序流程如图1所示。 系统软件主要包括监控管理主程序和中断子程 序,单片机响应用户操作和送出控制信号通过中断 子程序来完成。遥控装置通电后,单片机主程序负 责系统初始化,设置中断和计数器的值。当有铃流 到来且连续振铃达到一定次数时,在振铃检测子程 电源插座即可达到通讯控制的要求。另外,社会经 济水平的不断提高促使家庭自动化的拓展,人们希 望能够随时随地对家庭安全实行远程监控,对家电 实行远程控制。由于电话线路是全国联网的,可以 跨省市实现远距离遥控,因此该方法具有较高的实 用价值。 序中送出模拟摘机控制信号,装置实现模拟摘机,并 语音提示用户输入密码,此时进入密码检验程序。 用户在远端话机上输入密码,MT8870解码双音频 信号,将用户按键的8421码送人单片机,单片机将 用户输入和内置在AT24C02存储器中的密码作比 较,如果用户输入的密码正确,则可以操作电器或者 修改密码;如果用户连续三次输入的密码错误,系统 则认为此用户无权对电器进行操作,于是通过外围 电路实现挂机,并返回主程序重新初始化中断和计 数器。 笔者设计的电话远程控制系统,用于具有单片 机控制的家用电器的电话遥控,用户可通过任意一 部双音多频电话(包括手机、电话分机)对自己家庭 所安装的各种电器(如电饭锅、微波炉、电视机等) 进行开机、停机等遥控操作。 收稿日期:2016—11—19 作者简介:赵璐(1986一),女,河南漯河人,助教,主要从事自动化技术方面的教学及研究工作。 第2期 赵璐,等:基于单片机的智能电话控制系统软件设计 21 图1 系统主流程图 用户操作电器和修改密码是在控制电器部分完 使用者。本功能模块主要是产生提示语音,给使用者 成的。如果用户操作电器,则单片机进入电器操作 以不同的操作提示。本设计分五段录音,分别为“请 子程序,首先接受MT8870解调的码字,然后处理用 输入密码”、“请选择控制号”、“请输入新密码”、“请 户的操作,再通过P1.4端口连接的电源控制电路实 操作电器”、“操作成功”。根据语音芯片ISD1420的 现开关电器。密码修改与此程序相同,用户可在远 工作原理和本设计的功能要求,系统选择地址模式, 端话机修改AT24C02芯片存储器中记录的密码。 即A6、A7至少有一个为低电平,并将芯片内部存储 在用户操作过程中,单片机根据用户的操作不断给 器分为五段:00H一20H、20H一40H、40H一60H、60H 出ISD1420的地址信息和控制信息,将系统的工作 一80H,每段为32个存储单元,为4s长时间的录音。 状态反馈给用户。 观察地址,发现低三位始终为“0”,因此将低三位直 3 系统各模块软件设计 接接地,高五位与P2口的低五位相连接。由硬件的 接法可知,可以将地址依次转化为0EOH、0E4H、 3.1密码检测部分 0E2H、0E6H、0ElH。通过P12口将地址送给语音芯 在系统初始化时把原始密码写入AT24C02存 片,达到单片机控制语音芯片录放音的效果。 储芯片的存储空间内,密码的位数“5”赋给R7。当 在放音之前先将提示音录制好,把所要提示的 系统摘机时,语音提示输入密码,单片机把解码后的 语音存放在每段地址里面,如果要放音的话,直接调 数据存储在38H开始的存储空间内。然后单片机 用每一段语音子程序即可。录音和语音子程序的流 对两个存储地址的内容逐位进行比较,直到完全相 程分别如图3和图4。 等时才能转到下一进程,若有某一位码不同,程序就 3.3密码修改子程序 转到出错程序。密码检测子程序如图2。 按下“ ”键时,用户进入密码修改子程序,用 3.2语音提示部分 户可以设定想要修改的密码。密码修改的基本原理 本功能模块主要是产生信号提示音,方便不同的 如下:把第一次新输入的5位密码存到AT24C02芯 22 漯河职业技术学院学报 2017生 片内以43H地址开始的单元中,然后在第二次输入 新密码时,每输入一位与第一次输入的新密码校验 一单元中,5位传送完毕后,提示“操作成功”,密码修 改完毕。若第二次输入的新密码有其中一位和第一 次输入的不同,则修改密码不成功,挂机返回。密码 修改子程序流程如图5。 次,若5位都校验成功,则将43H开始的单元中 的新密码依次传送给AT24C02芯片以30H开始的 图2密码检测流程 图3录音流程 3.4中断子程序部分 图4语音流程 在系统的软件设计中,使用了中断源INT1。 INT1连接MT8870的STD端,当MT8870获取有效 CPU检测后进人INT1中断,在中断子程序中消除 键抖,并指示P1口接收有效二进制代码。消除键抖 采用延时的方法。中断子程序的流程如图6。 双音多频信号后,STD电平由低变高,再反相为低, 第2期 赵璐,等:基于单片机的智能电话控制系统软件设计 23 4调试 在软件初始化后,调用振铃检测子程序,判断是 否有外来电话打人。当检测到有铃流时,在程序中 设置 工作方式为计数方式,累积次数达到6次 时,系统自动摘机。这一单元的调试基本没什么问 调延时子程序,消除键抖 题,只要把 的工作方式设置好就行了。密码检测 单元调试比较艰难,先调试一位密码,然后再调试五 一 位密码。先设定R5为一位,即先设定一位密码作 测试。首先单步执行,到了等待INT1中断时,按下 “7”键的时间延长,直到程序执行到写人地址为 38H的存储空间后才松手。密码修改是在选择控制 号阶段进行的,当用户按“ ”键时就进入密码修改 功能。 开始 调语音“请输入新密码” 密码位数5送R7,新密码存 放起始地址#43H送R】 接收DTMF双音频解码信号 s筒 、、 Y 调语音“请输入新密码” #43H送R1,#30H送RO 密码位数5送R6 接收DTMF双音频解码信号 次籍 馨 密 相同否? / \ N 接收到5位否? 挂机 Y 新密码传送到AT24C02内 调语音“操作成功” l ’-__-___兰! I____-·_·__-_一 图5密码修改流程 屏蔽P1口高四位 查询数据是否传送完? N Y 标志位7EH置高 中断返回 图6中断子程序流程图 5 结语 本系统可以通过电话随时对异地的电器实现控 制,用户首先把本装置的电话信号线并联在电话线 的两端,插上电源线,打开电源开关,复位本装置,使 其正常工作。当用户从异地打来电话时,本装置接 收到电话振铃音,开始计数;当电话铃声计到六次 时,装置自动摘机,回送提示音提示请输入密码;当 用户输入正确的密码后,用户就可以对装置所连的 电器进行选择,然后根据需要对其进行开关控制。 用户可以在一次“通话”中同时控制几个电器,也可 以按“ ”键进行密码修改,如果用户控制完毕,可 以按“#”键让装置自动挂机,结束“通话”。已经开 启的电器将保持其开启状态,直到下一次的“通话” 控制使其关闭。 参考文献: [1] 张建斌.智能DTMF编解码器[J].现代通信,1999 r12):26—27. [2] 刘沛.基于ISD1420的语言报警器设计[J].现代电子 技术,2004(12):19—21. [3] Alan Shalloway,James R Trott.Design Patterns Ex— plained[M].Trans on Industry Applications,2002,38 (2):167—193. [责任编辑吴保奎] 

因篇幅问题不能全部显示,请点此查看更多更全内容