




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、远程电话控制器1 功能要求远程电话控制器接入普通的电话线后,可以在外地任何地方用手机或座机通过拨号的方式,对连接到控制器的电器进行电源开关等操作。要求拨号接通后先进行密码核对,若3次密码错误或一定时间内没有操作则自动挂机。2 方案论证 远程电话控制器利用现有公用电话网实现电器设备的远程控制,无须改造线路,安装方便,成本较低,而且由于控制器并联于普通电话机的接线上,不会影响正常电话机的使用,具有较好的应用价值。远程电话控制系统主要包括电话振铃检测电路、电话自动模拟摘挂机电路、双音多频dtmf(dual tone multi - frequency)信号解码电路、语音提示电路、驱动接口电路以及单片
2、机控制电路等。 图1所示为远程电话控制系统结构框架图,当通过异地的电话机拨通控制器所连接外线的电话号码时,通过市局电话交换机向用户电话机发出振铃信号,控制器中的振铃检测电路将检测到的振铃信号送到单片机控制器进行计数,如果控制器检测到振铃5次(可设定)后无人接听电话,则控制器自动模拟摘机,先与电话拨号者进行语音提示,要求遥控操作时先请输入密码,接着等待操作者输入密码并进行密码的校对。dtmf解码芯片将用户输入的按键信号转换成相应的数字信号,由单片机进行密码的比对,密码输入正确后再通过语音提示,通过操作者数字键选择控制电器及对应的电源开关等,完成后语音提示挂机结束。 图1远程电话控制器系统构成框图
3、3 系统硬件电路的设计电话远程控制电路主要由电话振铃检测电路、自动模拟摘挂机电路、dtmf信号解码电路、语音提示电路、单片机控制电路、接口驱动电路和电源等组成。控制器电路原理图如2所示。3.1 振铃检测电路当用户电话被呼叫时,电信局的电话交换机发出铃流信号,振铃信号为(253)hz的正弦波,电压有效值约90 v,振铃重复周期为5s,其中1s振铃,4s间隙。由于振铃信号电压比较高,输入时经电容隔离降压并经全桥整流后,输入至光耦4n35的输入端,从而使光耦输出端得到低电平信号,用以单片机对铃声信号的检测和响铃计数。振铃检测电路原理图如图3所示。 图4模拟摘机电路原理图3.2 模拟摘机电路 电信局的
4、程控电话交换机对电话摘机的响应是根据电话线回路电流变大,当交换机检测到回路电流变大约为30ma时,就认为电话机已经摘机。在用户摘机(接电话)时,电话机内通过叉簧接上约200的负载,使整个电话线回路流过约30ma的电流,交换机检测到该电流后便停止铃流发送,并将线路电压变为10 v的直流电,完成电话接通工作。图4所示为模拟摘机电路的原理图。当单片机发出摘机信号时(高电平),q3晶体三极管导通,从而驱动功率管q2也导通,模拟负载电阻r24被接入电话线两端,产生约30 ma的电流,从而完成模拟摘机功能;当远程设定操作结束时,通过单片机发挂机信号(低电平),从而使q3及q2截止,电话线回路电流消失,电信
5、局的程控交换机完成电话线路的切断工作。3.3 dtmf解码电路dtmf双音多频信号解码电路是目前在按键电话、程控交换机等设备中广泛应用的电路。dtmf发送器用于电话按键号的双音频信号发送,实现音频拨号。双音多频信号是一组由高频信号与低频信号叠加而成的组合信号,电话机中使用的按键与双音多频信号的频率对应关系如表1所列。 表1 数字拨号键与对应的频率关系 数字键盘 高频组(单位hz) 1 209 1 336 1 477 1 633 低频组 (单位hz) 697 1 2 3 a 770 4 5 6 b 852 7 8 9 c 941 * o # d 一般使用mitei公司生产的mt8870作为dtm
6、f信号的解码器件。mt8870具有电路简单、功能强、功耗低、工作稳定可靠等优点。图5所示为mt8870解码电路原理图。 图9.5 dtmf解码电路原理图 当电话线上送来的双音多频信号经c3和r25送到mt8870的第2脚(in-)时,双音多频脉冲信号先经mt8870内部的拨号音滤波器,滤除拨号音信号,然后经前置放大后送入双音频滤波器,将双音频信号按高、低音频信号分开,再经高、低通滤波器,以及幅度检测器后送人输出译码电路,经过数字运算后,在其数据输出端口(第1114脚)输出相对应的二进制bcd码。mt8870的数据输出端d1d4连到单片机p1口的p1. op1.3脚,单片机经pl口的低4位识别对
7、应的按键号。表9.1中的a、b、c、d键常被用做重拨、录放、免提等功能使用。使用解码数据( d1d4)时要注意,对于0号键,mt8870输出的二进制bcd码并非是0000,而是1010。另外,*与#键的输出分别为1011和1100。当mt8870获取有效双音多频信号并解码成功后,其第15脚的电平由低变高,通知单片机可以取数据了,第15脚的高电平在延时一段时间后会自动恢复为低电平。而无效的双音频信号或电话线路杂音、人的语音信号等是不会引起mt8870的数据解码的。3.4 语音提示电路 电话远程控制器利用语音提示电路实现用户和系统的交流。语音提示电路预先存储若干段系统提示音,单片机程序根据用户发送
8、的按键指令(dtmf信号),进行相应的控制操作并播放语音提示下一步的操作,而操作者则根据反馈的语音信息按需要进行按键操作。 isd4002-120p是美国isd公司系列单片语音录放集成电路的一种,采用直接模拟量存储技术,将每个采样值直接存储在片内的flash ram中,能较好地保留模拟量中的有效成分。语音芯片设计成与微处理器配合使用的寻址和控制方式,使器件引出端数减到最少,且音质较好,目前在语音合成设计中应用很广泛。isd4002-120p可录放120s语音信号,最多可分600段录音,每一段均可寻址,其地址范围为oooh258h。单片机通过模拟spi接口向isd4002发送上电、指定地址、开始
9、录音、结束录音、按地址放音等操作命令,实现录音与放音操作。电话远程控制器在使用前需要提前将要提示的语音信息按段录入到芯片上。 图6 isd4002语音提示电路原理图在录音操作时,通过麦克风将声音信号转化为电信号,并通过三极管q8放大,耦合到语音信号的输入端(第16脚)。单端输入时,一般信号幅度不要超过32mv。 在放音操作时,从isd4002第13脚输出的声音信号经运放lm386放大后,再经过隔直耦合器送到电话线上。提示音的大小可以通过r34进行调整。3.5 单片机控制电路 单片机采用宏晶公司的stc89c52系列,具有6种时钟运行模式,可比普通单片机速度提高1倍,内带的eeprom可用于密码
10、数据的存储与修改。其主要引脚的使用如图7所示,其中pl.op1.3脚用于双音频解码器输出数据的读入;p1.5脚用于模拟摘机或挂机的控制操作;p1.6脚输出遥控码(本实例中没有设计程序);p1.7、p3.o、p3.1、p3.3、p3.6、p2.6脚接led指示发光管;第9脚接上电复位电路;p3.2脚接遥控器学习操作键(本实例中没有设计程序);p3.4脚接双音频解码器的第15脚,用于测试是否有双音频解码数据完成输出;p3.5脚为遥控码学习状态下的红外接收头信号输入口;p2. op2.5脚用于控制按键;p2.7、p0.50.7脚用于电器的电源开关控制;po.opo.4脚用于语音芯片isd4002的录
11、放音控制。 图7 单片机主控制器电路3.6 接口电路 1电器控制接口电路 电器的控制采用继电器进行交流电源的开关控制,驱动电路用小功率三极管9013,继电器用5v的直流小封装继电器,控制线圈上并联二极管用于消除反峰电压。对于不能用简单电源进行控制的电器,要用红外遥控码进行操作。本设计实例电路图中设计了红外遥控电路,但在程序中无红外线控制的内容。图8所示为继电器驱动电路图。 图8 继电器驱动电路 2按键接口电路 按键设计采用最简单的顺序查询方法,6个按键使用p2口的6根引脚线。程序中除使用录音及放音测试键外,另4个备用。 图9 按键接口电路3.7 电源电路电源电路需要提供两组电压,单片机系统使用
12、5v电源,语音芯片及双音频解码芯片使用3v电源。设计中使用三端稳压集成电路lm7805及lm317,其外围电路简单,性能稳定,电路原理图如图10所示。 图10 电源电路4 系统程序的设计电话远程控制器系统软件主要有以下模块:初始化子程序、键盘扫描程序、振铃次数读入程序、dtmf解码信号读入程序、密码比较程序、错误次数计数及计时程序、语音录音程序、语音放音程序、自动摘机处理程序等。4.1 语音录音程序 语音录音程序用在远程电话控制器设计阶段,本设计中共用了5段语音提示,每段语音时间为1020s。 第1段内容为“欢迎来到远程家电控制系统,请输入你的密码,以#号键结束”,用于响铃5次后自动摘机时对操
13、作者的提示。 第2段内容为“控制空调请按1、控制电扇请按2、控制电饭煲请按3、控制热水器请按4,退出请按*号键”,用于实时对远程电器的操作。 第3段内容为“你好,你的输入控制已完成,请挂机,谢谢”,用于正常结束或1min无操作动作时的提醒。 第4段内容为“对不起,你的密码输入有误,请重新输入密码,你有3次密码输入机会”,用于密码输入错误的时候。 第5段内容为“对不起,你的输入次数已到,系统将在10s后自动挂机,再见”,用于密码输入3次错误时的挂机提醒。 设计中可根据需要录12段时长约为los的语音提醒语句。 isd4002芯片录音操作程序流程图如11所示。4.2 语音放音程序 语音放音程序用于
14、远程自动电话操作过程中的语音提醒,不同阶段的情况要求播放对应内容的提示语音,在程序设计时要根据录音时的地址进行相应的控制并按录音的延时时间进行放音延时。isd4002语音放音程序流程图如图12所示。4.3 双音频解码数据读码程序远程电话控制器在拨号响铃5次后进入自动摘机状态,先要求操作者进行密码校对,操作者使用电话机上的按键(09、*、#)输入5位密码,并以#号键作为结束标志,这些按键以双音频的模式传送后,被远程电话控制器中的解码芯片mt8870解码,当一个新的代表键号的4位数据解码成功后,其第15脚会出现一个高电平信号,表示收到新的数据,单片机通过测试该端口判断是否要读人新的数据。读码程序的
15、流程图如图13所示。图12 isd4002语音放音程序流程 图13 双音频解码数据读码程序流程图4.4 自动摘机处理程序 图14所示为电话远程控制器自动摘机处理程序流程图。在主程序循环中通过检测响铃的次数来自动摘机,摘机后提示先输入密码;在这里有3次输入密码的机会,然后提示控制操作的键号数字,当想结束操作时可输入*号键,如在1 min内无按键操作,电话控制器也会在语音提示后自动挂机。图14 电话远程控制器自动摘机处理程序流程5 调试及性能分析 系统调试可分为4步: 1 调试isd4002芯片的录放功能。在确保硬件电路连接正确后,先测试底座电压是否正常,单片机是5v供电,语音芯片为3v供电。电压
16、正常后,再插入芯片,然后调试录放程序。在录音过程中,可以通过示波器测试语音芯片的rac端,正常状态下,会有高电平为175ms、低电平为25ms的周期信号。若能检测到此信号,则说明芯片已经开始工作。放音时可先接小喇叭进行试听,待连入电话线后一切正常再去掉小喇叭。 2 语音耦合到电话线上的调试。通过电话间的相互通话,看isd4002的语音是否能在另一电话机上听到。 3 铃声计数及双音频解码电路的调试。可用示波器测试相应的脉冲波确认电路是否正常工作。 4 摘挂机程序的调试。由于电话遥控距离的远近与传送时间有关,所以在远距离(如人在省外或国外)操作时,按键操作的时间延时会长一些,密码输入时每次输入的时
17、间间隔在0.5s以上,控制操作的时间间隔在ls以上。利用电话远程控制系统可以实现对远距离的电话终端进行一些操作控制,不受地域的限制,操作简单且成本低。该系统也可应用于工农业生产中,实现对无人值守设备的远程控制。6 控制源程序清单/*- phone_remote control program mcu stc89c52rc xtal 12mhz-*/ 电话远程遥控程序/#pragma src#include reg52.h/#define uchar unsigned char#define uint unsigned int#define ulong unsigned long#define
18、dtmf_data p1; /p1口输入双音频数据(低四位)#define num_ring 5; /定义5次响铃后自动摘机/*- 端口定义-*/sbit led1=p26; /摘机指示灯,红色/亮-接听状态/不亮-挂机状态sbit led2=p36; /指示灯,红色sbit led3=p33; /指示灯,红色sbit led4=p31; /指示灯,红色sbit led5=p30; /指示灯,红色/录音指示sbit led6=p17; /指示灯,绿色/放音指示/sbit relay1=p05; /继电器1sbit relay2=p06; /继电器2sbit relay3=p07; /继电器3s
19、bit relay4=p27; /继电器4/sbit button1=p20;/录音开关sbit button2=p21;/放音测试sbit button3=p22;/备用sbit button4=p23;/备用sbit button5=p24;/备用sbit button6=p25;/备用/sbit hook_phone=p15; /摘机/挂机控制口 1摘机/0挂机sbit ring=p37; /铃声输入 0有铃声/1正常sbit std=p34 ; /双音频解码完成测试口 从0变1表示完成sbit remote=p16 ; /遥控码输出/isd4002控制口sbit sck=p01;/is
20、d4002串行时钟,由单片机提供sbit isd4002_ss=p02;/isd4002器件选择sbit mosi=p03;/isd4002串行输入端sbit miso=p04;/isd4002串行输出端/*sbit isd4002_int=p00;/isd4002中断输出sbit isd4002_rac=p14;/isd4002行地址时钟输出*/数据表及内存定义uchar data pass_con=0;/密码输入个数计数uint data con_1min=0;/ 1分钟计数器uchardatacon_pulse=0;/响铃声次数计数器uchardatacon_p_w_in=0;/密码输入
21、次数计数ucharxdata p_w_tab11;/密码数据存放uchar code p_w10=1,2,3,4,5,6,7,8,9,0;/预设密码值uchar code phone_key_data12=1,2,3,4,5,6,7,8,9,10,11,12;/双音频解码值/ 1 2 3 4 5 6 7 8 9 0 * # /代表的键号/ucharbdata flash_flag=0x00;/sbitout_time_flg=flash_flag0;/操作超时标志(1分钟)sbitp_w_ok=flash_flag1; /密码比较成功标志/*- 功能函数-*/* 1毫秒延时函数 */delay
22、1ms(uint t)int i,j;for(i=0;it;i+) for(j=0;j123;j+) /12m晶振时 ;/*- spi 读写函数-*/uchar spi_rw(uchar dat)uchar i;for (i=0;i= 1; dat |= (uchar)miso 8) & 0x03) | 0xa0);isd4002_ss = 1;/*- isd4002 按地址放音-*/void isd4002_play(uint addr)isd4002_ss = 0;spi_rw(uchar)(addr & 0x00ff);spi_rw(uchar)(addr 8) & 0x03) | 0x
23、e0);isd4002_ss = 1;#define speech_num 12/分12段录音isd4002-120为120秒,每秒5段行地址,共600段行地址#define speech_len 10/每段10秒/*- isd4002 录音程序-*/void speech_record(void)uchar i;isd4002_powerup();delay1ms(25);isd4002_powerup();delay1ms(25);for (i=0;ispeech_num;i+) while (button1); isd4002_record(i*(5*speech_len);/发录音命令
24、 led5 = 0;/录音指示灯开 delay1ms(speech_len*1000);/录音等待 isd4002_stop();/发录音停止命令 led5 = 1;/录音指示灯关 /*- isd4002 放音程序-*/void speech_play(void) uchar i;isd4002_powerup();delay1ms(25);isd4002_powerup();delay1ms(25);for (i=0;i=3)play_5();goto endout; /错误密码输入3次,结束 play_4();/提示密码输入有误,可输入三次密码 else pass_con+;led5=0;
25、 delay1ms(500);led5=1;/led5:按键接收指示/以下操作控制程序workcon:p_w_ok=0; /密码比较正确标志清0con_1min=0; /1分计时清0out_time_flg=0;/1分钟超时标志清0play_2();/控制空调请按1、控制电扇请按2、控制电饭煲请按3、控制热水器请按4、结束按*while(out_time_flg=0)if(std=1) con_1min=0; /有操作,每次1分计时清0 p_w_tab0=dtmf_data;p_w_tab0&=0x0f;if(p_w_tab0=1)relay1=relay1;led1=led1; /按键1-开
26、关电器1if(p_w_tab0=2)relay2=relay2;led2=led2; /按键2-开关电器2if(p_w_tab0=3)relay3=relay3;led3=led3; /按键3-开关电器3if(p_w_tab0=4)relay4=relay4;led4=led4; /按键4-开关电器4if(p_w_tab0=5)led5=led5; /按键5-开关小灯5(模拟控制测试)if(p_w_tab0=6)led5=led5; /按键6-开关小灯5(模拟控制测试)if(p_w_tab0=7)led5=led5; /按键7-开关小灯5(模拟控制测试)if(p_w_tab0=8)led5=l
27、ed5; /按键8-开关小灯5(模拟控制测试)if(p_w_tab0=9)led5=led5; /按键9-开关小灯5(模拟控制测试)if(p_w_tab0=10)led5=led5; /按键0-开关小灯5(模拟控制测试)if(p_w_tab0=11)goto endout; /遇*键结束delay1ms(1000);/延时1秒/以下挂机退出程序endout:play_3();/你好,你的输入控制已完成,请挂机结束,谢谢hook_phone_off(); /挂机状态con_1min=0; /1分计时清0out_time_flg=0;/1分钟超时标志清0et0=0;tr0=0; /tr1=0;et
28、1=0;delay1ms(500);/*电话遥控操作结束*/*- void main(void)-*/void main(void)/以下初始化remote=0; /遥控码输出offhook_phone_off(); /挂机状态out_time_flg=0; /超时标志con_1min=0; / 1分钟计数器con_pulse=0; /响铃声次数计数器con_p_w_in=0; /密码输入次数计数/tmod=0x11;th0=0x3c;th1=0x3c;tl0=0xb0;tl1=0xb0;/50ms初值et0=0;et1=0;tr0=0;tr1=0;ea=1;/定时器中断关闭/以下测试继电器及指示灯relay1=1;relay2=1;relay3=1;relay4=1;led1=0;led2=0;led3=0;led4=0;led5=0;led6=0;delay1ms(1000);/relay1=0;relay2=0;rela
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国家用装饰用木制品项目创业计划书
- 中国辣椒种植项目创业计划书
- 中国口腔护理用品项目创业计划书
- 中国计算机断层成像项目创业计划书
- 2025租房合同协议书样本
- 中国脑机接口项目创业计划书
- 中国肛门袋项目创业计划书
- 政工程建设施工合同书
- 乐清保安考试题及答案
- 德化红旗瓷厂历史风貌区保护提升工程二期可行性研究报告
- 2025-2030中国倒装芯片球栅阵列行业市场现状供需分析及投资评估规划分析研究报告
- 机动车环检试题及答案
- 罗曼蛋鸡饲养管理手册
- 2025年山西华阳新材料科技集团有限公司招聘笔试参考题库含答案解析
- 2025年中考语文文言文古诗词默写(含答案)
- 2025年上半年民航医学中心(民航总医院)招聘应届毕业生64人重点基础提升(共500题)附带答案详解-1
- 《复杂系统理论》课件
- 河北省部分校2024-2025学年九年级下学期开学测试历史试题(含答案)
- 校企合作员工培训协议
- 民族团结主题班会
- 长郡教育集团2025届中考生物适应性模拟试题含解析
评论
0/150
提交评论