一款简洁实用的8路电话远程遥控器
发布时间:2008/6/3 0:00:00 访问次数:594
一、电路原理
电路如图1所示。上电后单片机复位,po口和p1口全部输出低电平,单片机进人待机模式。由d1-d4构成的桥式电路将电话线的电压极性变成固定的正负极后引人电路,没有来电时,电话线两端电压为48v,d5不能被击穿,v4截止,集电极为高电平,单片机处于待机模式。一旦有电话拨进,电话线两端会产生90v/25hz,1秒续、4秒断的铃流信号,在1秒续的时间内,d5被击穿,v4导通,其集电极产生25hz的方波信号,单片机被中断唤醒并开始检测铃流信号。如果来电达到预定的时间,单片机p1.5口便输出高电平,v3导通,电话线两端电压被拉低到8v左右,从而实现模拟摘机;同时,p1.4口输出2khz的方波信号作为摘机提示音,由v2隔离后送人电话线;摘机提示音结束后,拨进电话的用户可用手机或固话输人密码,每拨一个号码,电话线两端就输出dtmf(双音多频)信号,该信号经c1被ic 1(dtmf***)接收并且被转化成4位二进制代码,转换好代码后,ic 1的⑩脚输出正脉冲,经v1倒相后使单片机产生中断,单片机再由plo-p1.4口将代码读人并存储。如果在3次以内输人正确密码,再输人所要遥控对象的序号,po口和p2口相应的管脚就输出高电平,po口和p2口的输出完全一致,po口接ledi-led8,作为指示,p2口接所要遥控的对象。
二、软件设计
为了使电路可靠运行,本程序使用了51单片机的两个外部中断和定时器1。定时器1工作在16位计数器方式,最大定时时间65ms,定时器1每溢出一次就中断一次,该中断命令寄存器b加1,当b加到77,即65msx77=5s时,将o1h位置1。该段程序用于判断用户是否在5s内拨号或是否来t铃,5s内该几没有拨号或来铃就斗月州丹月一尸‘阁斗自动挂工主机。在没一抽刊一,匕倒神有来铃时,单片—卡十冲机处于待一川机模式;州上侧钟一旦来叫3铃,单片习之训一甲机便被外州部中断1习六一甲下团-丁唤醒,随州pins}即开始查山询p3.3口气选夕并累计从该口输人的方波数,当累计数达到250(10xlsx25hz)次,即10次振铃时,则摘机。此间,单片机还不断查询o1h位,若该位为0则将寄存器b清零,若该位为1就说明5s内没有振铃,单片机挂机并回到待机模式。正常摘机后,主程序将调用拨号识别子程序。该子程序的功能是保存用户输入的拨号键,以#号键作为用户输入结束的标志,如果用户5s内不拨新的号码,单片机会挂机并回到待机模式;之后,用户拨人的号码会与设定好的密码比对,密码正确才能进行遥控,若3次输人错误的密码,单片机同样会挂机并回到待机模式。图2是主程序流程图。附表是拨号键与单片机p1口输人数据的对应关系。
三、安装与调试
图1没有给出驱动部分的电路,读者可根据实际情况在jp2各引脚上接继电器或光祸之类的驱动电路。ici可用14it8870等同功能芯片代换。y1关系到ic1对dtmf信号的解码性能,故只能用3.579545mhz(或3.58mhz250(10xlsx25hz)
晶振。由于89551可在线编程,建议将其直接焊在电路板上,以保证可靠性。
电路安装完毕即可通电。先接人51单片机的isp下载线将程序写人,再断开下载线并接入电话线(与家用电话机并联),然后用手机拨家用电话的号码,约40秒后会听到“嘀”的一声长响,接着输人密码2007,按#号键结束,又会听到“嘀一”,若密码输人错误会听到“嘟”的一声长响,最后输人所要遥控对象的序号1-8,按#号键结束,再次听到“嘀一”,说明操作成功并自动挂机。
西安屈朋伟编者:如需本文程序,请与本报联系。
一、电路原理
电路如图1所示。上电后单片机复位,po口和p1口全部输出低电平,单片机进人待机模式。由d1-d4构成的桥式电路将电话线的电压极性变成固定的正负极后引人电路,没有来电时,电话线两端电压为48v,d5不能被击穿,v4截止,集电极为高电平,单片机处于待机模式。一旦有电话拨进,电话线两端会产生90v/25hz,1秒续、4秒断的铃流信号,在1秒续的时间内,d5被击穿,v4导通,其集电极产生25hz的方波信号,单片机被中断唤醒并开始检测铃流信号。如果来电达到预定的时间,单片机p1.5口便输出高电平,v3导通,电话线两端电压被拉低到8v左右,从而实现模拟摘机;同时,p1.4口输出2khz的方波信号作为摘机提示音,由v2隔离后送人电话线;摘机提示音结束后,拨进电话的用户可用手机或固话输人密码,每拨一个号码,电话线两端就输出dtmf(双音多频)信号,该信号经c1被ic 1(dtmf***)接收并且被转化成4位二进制代码,转换好代码后,ic 1的⑩脚输出正脉冲,经v1倒相后使单片机产生中断,单片机再由plo-p1.4口将代码读人并存储。如果在3次以内输人正确密码,再输人所要遥控对象的序号,po口和p2口相应的管脚就输出高电平,po口和p2口的输出完全一致,po口接ledi-led8,作为指示,p2口接所要遥控的对象。
二、软件设计
为了使电路可靠运行,本程序使用了51单片机的两个外部中断和定时器1。定时器1工作在16位计数器方式,最大定时时间65ms,定时器1每溢出一次就中断一次,该中断命令寄存器b加1,当b加到77,即65msx77=5s时,将o1h位置1。该段程序用于判断用户是否在5s内拨号或是否来t铃,5s内该几没有拨号或来铃就斗月州丹月一尸‘阁斗自动挂工主机。在没一抽刊一,匕倒神有来铃时,单片—卡十冲机处于待一川机模式;州上侧钟一旦来叫3铃,单片习之训一甲机便被外州部中断1习六一甲下团-丁唤醒,随州pins}即开始查山询p3.3口气选夕并累计从该口输人的方波数,当累计数达到250(10xlsx25hz)次,即10次振铃时,则摘机。此间,单片机还不断查询o1h位,若该位为0则将寄存器b清零,若该位为1就说明5s内没有振铃,单片机挂机并回到待机模式。正常摘机后,主程序将调用拨号识别子程序。该子程序的功能是保存用户输入的拨号键,以#号键作为用户输入结束的标志,如果用户5s内不拨新的号码,单片机会挂机并回到待机模式;之后,用户拨人的号码会与设定好的密码比对,密码正确才能进行遥控,若3次输人错误的密码,单片机同样会挂机并回到待机模式。图2是主程序流程图。附表是拨号键与单片机p1口输人数据的对应关系。
三、安装与调试
图1没有给出驱动部分的电路,读者可根据实际情况在jp2各引脚上接继电器或光祸之类的驱动电路。ici可用14it8870等同功能芯片代换。y1关系到ic1对dtmf信号的解码性能,故只能用3.579545mhz(或3.58mhz250(10xlsx25hz)
晶振。由于89551可在线编程,建议将其直接焊在电路板上,以保证可靠性。
电路安装完毕即可通电。先接人51单片机的isp下载线将程序写人,再断开下载线并接入电话线(与家用电话机并联),然后用手机拨家用电话的号码,约40秒后会听到“嘀”的一声长响,接着输人密码2007,按#号键结束,又会听到“嘀一”,若密码输人错误会听到“嘟”的一声长响,最后输人所要遥控对象的序号1-8,按#号键结束,再次听到“嘀一”,说明操作成功并自动挂机。
西安屈朋伟编者:如需本文程序,请与本报联系。
上一篇:广州数控机床系统调试维修六例
上一篇:海尔滚筒式洗衣机故障检修(一)