简易家用电器远程遥控器的设计(附电路图及源程序)_第1页
简易家用电器远程遥控器的设计(附电路图及源程序)_第2页
简易家用电器远程遥控器的设计(附电路图及源程序)_第3页
简易家用电器远程遥控器的设计(附电路图及源程序)_第4页
简易家用电器远程遥控器的设计(附电路图及源程序)_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 2011 届届毕业毕业生生毕业论毕业论文文题题 目目: : 简易家用电器远程遥控器的设计简易家用电器远程遥控器的设计 院系名称:院系名称: 信息科学与工程学院信息科学与工程学院 专业班级:专业班级: 电子信息科学与技术电子信息科学与技术 级级 班班 学生姓名:学生姓名: 学学 号:号: 指导教师:指导教师: 教师职称:教师职称: 20 年年 6 月月 3 日i摘摘 要要随着社会的发展和科技的进步,越来越多的家用电器进入了人们的生活,这些家用电器给人们的生活带来了很多的方便和享受,同时随着电话在家庭的普及,电话机的功能将进一步得到开发和利用。利用电话实现家用电器遥控是家电未来的发展方向之一。本

2、文设计的是一种基于 at89c51 单片机的远程电话控制系统。控制系统是以单片机at89c51 为核心、基于电话网络开发的家用智能电话控制电器。利用电话网传输数字和语音信息,远程控制部分接收电话网发送来的 dtmf 信号,对其进行解码,解码后由中央处理器 at89c51 根据解码信息控制家用电器;本系统设计实用,功能灵活多样,可靠性高,操作方便,可以广泛地应用于家庭或者其它场所的智能控制。该系统通过嵌入式的智能语音提示, 突出的语音提示功能和密码控制系统, 可使操作者根据各种提示音及时了解受控对象的有关信息。系统可实现通过发出语音命令用电话远程控制多个家电, 用户可以查询家电状态, 提供密码功

3、能, 只有输入正确的密码才能控制家电, 从而提高了安全性。关键词:单片机 电话 远程遥控 双音解码iititle summary of household appliances remote control to the design of the text abstractwith the development of scientific technology,an increasing number of home appliances have come into peoples daily lives. these home appliances have brought in mu

4、ch convenience and enjoyment to peoples life. the function of telephones will be further utilized and developed along with the popularization of telephones. home appliances will probably be controlled by the telephone using the remote control technique in the future. the article designed the remote

5、telephone control system which based on microcontroller at89c51. basing on the telephone net, the system which uses the core controller single-chip microcomputer at89c51 realizes long-distance control household appliances . the telephone control system, which uses the telephone net convert and voice

6、 information receives dtmf code from the telephone net, and interpret the code, the core controller at89c51 controls the state of household appliances responded to the interpretation. this system is practical, and the function is flexible, and the operation is convenient with high reliability, which

7、 can be used extensive in various kinds of control equipment to home and others field. the designing of a system of long-distance control based on sound processing technology and dtmf decoding technology is presented in this paper. by using sound commands of sound recognition technology, this system

8、 realizes its control of household electrical appliances through telephone networks and so realizes the intelligently control of them in residence. the embedded and intelligent sound indication, its outstanding sound function of prompt and its code control system enable the operators to timely obtai

9、n the relative information of the controlled objects through indicated sounds. the system can use telephone to control many household electrical appliances in long distance through uttering sound commands and provides the code safeguard function. only through inputting the correct password to contro

10、l them, the users can control the condition of household electrical equipment, so the system security can be improved.key words : mcu telephone remote control dtmfiii目目 录录摘 要 .iabstract .ii1. 绪论 .11.1 课题背景 .11.2 本设计的任务 .21.3 系统总体设计.22. 系统方案和主要芯片的选择 .52.1 系统整体方案 .52.2 主要芯片选择 .53. 系统硬件设计 .133.1 振铃检测和模

11、拟摘机 .133.2 声音监听和语音提示电路 .143.3 单片机控制和密码存储电路 .153.4 dtmf 检测电路 .163.5 继电器控制电路 .174. 系统软件设计 .194.1 系统软件设计基本思路 .194.2 定时中断子程序 .204.3 mt8870 中断子程序 .215. 系统的调试 .235.1 整体系统调试 .235.2 硬件及软件调试 .23总结 .24致谢 .25参考文献 .26附录一:元器件清单 .27附录二:电话远程控制器原理图 .28附录三:电话远程控制器 pcb 图 .29附录四:电话远程控制器程序 .3011.1. 绪论绪论1.11.1 课题背景课题背景2

12、0 世纪 90 年代初,美国、欧洲等经济比较发达的国家先后提出了“智能住宅”的概念1。基本思想是:将家庭中各种与信息相关的通信设备家用电器和家庭保安装置通过家庭总线技术连接到一个家庭智能化系统上,以进行集中的或异地的监视控制和家庭事物性管理,并保持这些家庭设备与住宅环境的和谐及协调2。因此,住宅智能化即是通过家庭总线这个通信网络,把住宅的安全防范系统,能源管理系统,公共服务系统,信息系统集成起来。随着经济的发展,人们对生活质量的追求越来越高,在人们快节奏工作和学习的同时,迫切希望在家中有一个灵活自如的,能为人们提供方便的环境。由于现代家庭中设备或电器越来越多,且通讯线路高速发展,所以利用现有的

13、通讯线路对家中的设备或电器进行控制,已成为未来家居自动化发展的趋势。远程电话控制有其优越性,利用电话进行远程控制不需要专门布线,不占用无线电频率资源,不受距离和环境影响,可跨省市、甚至跨越国家进行远程控制3。所以设计一种远距离电话控制的电路,必然给人们的生活带来诸多方便。用手机远距离控制家用电器智能化家庭信息中心平台已成为国家“八六三”计划重点课题4。目前家庭的网络化是住宅的热点5。国外的同类产品的性能虽然很好,但是其价格很难让中国百姓所接受,而国内的系统开发商、房地产开发商只青睐于新建住宅,而对旧有住宅的网络化需求关注不够。问题的症结在于住宅内部及其与外界信息交换的通信网络。电力线载波和无线

14、通信可做为住宅内部通信手段,但电力线载波通信的可靠性较差,无线通信的价格偏高,故应用较少,目前主流产品均采用单独布线的通信方式,但对已建住宅,不免会使重新布线困难重重。由于 dtmf(双音多频)编码通信技术的发展,使得借助低压电力线进行数据通信成为可能6。电话远程控制器主要接收电话线上传来的控制家电的信息,译码后经并行通信向智能控制器发控制家电指令;接收由智能控制器传来的报警或求援信息(经并行通信) ,自动拨号(可由键盘预先设置)后,以语音形式将信息传送给用户或直接报警。都是在线调试,已经在宿舍连接电话经过真正的交换机实验并且成功。本设计的各种电器接口、各项标准都严格遵循国家有关标准,为以后的

15、产品化提供了良好的基础。2家庭网络系统主要由电话远程控制器、智能控制器、一些功能模块组成。电话远程控制器主要接收电话线上传来的控制家电的信息,译码后经并行通信向智能控制器发控制家电指令;接收由智能控制器传来的报警或求援信息(经并行通信) ,自动拨号(可由键盘预先设置)后,以语音形式将信息传送给用户或直接报警。1.21.2 本设计本设计的任务的任务电话远程智能遥控系统的具体设计要求: 通过电话网对异地的电器实现控制(开/关) ; 控制器可以实现自动模拟摘挂机; 控制器设置密码校验;设计目标: (1)控制系统能对家中电器实现远程控制;(2)控制系统可以实现双方通信;(3)控制系统主人的身份校验、在

16、线密码修改及存储;(4)控制系统有语音功能提示,以方便主人操作;(5)控制系统有声音监听功能,随时了解家中情况;(6)控制系统外加了电器延时开、关的功能。1.31.3 系统总体设计系统总体设计本系统是一个用来控制各种家电的设备,它通过来自电话的控制信号来实现对家电的控制。当用户不在家时,通过随身携带的移动电话或者身边的固定电话,拔通家里的电话,依照事先规定的一些规则,通过在电话里的语音提示,进行不同的数字按键操作来完成对不同家电的控制,达到用户的预期目的。系统的功能以确定设计具体要求如下: (1)控制系统能通过电话终端通信设备对家中电器实现远程控制;(2)控制系统可以实现自动模拟摘挂机,以实现

17、双方通信;(3)控制系统主人的身份校验、在线密码修改及存储;(4)控制系统有语音功能提示,以方便主人操作;(5)控制系统有声音监听功能,随时了解家中情况;(6)控制系统外加了电器延时开、关的功能。本系统由单片机构成主控部分,进行主要的信息处理,接收外部操作指令形成3各种控制信号,并完成对于各种信息的记录;接口电路提供单片机与电话外线的接口。其中包括铃流检测、摘挂机控制、双音频dtmf识别、语音提示电路及电器控制。总体电路框图如图1.1所示。图 1.1 系统总体框图系统主要由 at89c51 单片机、dtmf 解码芯片 mt8870 和语音芯片 isd2560组成。at89c51 单片机完成电话

18、机振铃信号次数的检测、控制和加密。此系统具有以下单元功能模块:(1)铃音检测、计数;(2)自动模拟摘挂机;(3)密码校验;(4)在线修改密码;(5)双音频信号解码;(6)输入信息分析;(7)控制电器开关;(8)电器状态查询;根据电话机和交换机发出的不同信号音以及电话线各种状态的不同要求,结合实际情况对具体的单元功能模块作出软件或硬件上的不同分工,具体如下。 理论上交换机所发出的各种信号音都可以通过软件编程而识别,即通过单片机发出的脉冲信号来检测信号音单位时间内的脉冲个数计算出其频率,从而完成信号音识别。但是从系统的可靠性和程序的结构设计上分析,我选择了硬件来解决振铃音检测、忙音检测、双音频信号

19、解码等功能模块。自动摘挂机和电器的控制必须使用具体硬件电路来实现。振铃音计数、忙音计数、密码校验、在线修改密码、输入电源电路继电器 2继电器 1模拟摘机单片机振铃检测电路监听电路dtmf 解码电路语音提示电路电话机端口4信息分析、电器状态查询等功能模块使用软件编程方式要比硬件电路简单的多,实现也很容易。 综上所述,本系统信号音检测、自动摘挂机、控制电器、双音频解码等功能模块使用硬件电路实现。而信号音计数、密码校验、在线修改密码、信息分析、电器状态查询等功能模块使用软件编程完成。系统为突出电话遥控的信息反馈功能,并使产品达到非常高性价比。故未对电话装置的其他功能进行进一步的扩展,而且所有使用的集

20、成电路和其它元器件都尽量选择廉价的。譬如:在各路终端上接上传感器即可实现对环境声响的监听;加上留言电路,主人不在家时客人留言。利用遥控方式可使主人很方便地在异地提取留言信息;在各路终端上接上传感器即可实现对环境声响的监听;接上自动拨码电路可定时将预定信息转至主人传呼机或特定电话,从而达到定时提醒主人的目的。本系统还可以应用于工厂企业的自动化控制等领域。 52.2. 系统方案系统方案和主要芯片的选择和主要芯片的选择2.12.1 系统整体方案系统整体方案由于采用 plc 技术和 web 服务器实现家电控制价格昂贵一般人承受不了,且用电话实现家电控制解决了电力线载波通信的可靠性较差,无线通信的价格偏

21、高以及布线困难的问题,使得借助低压电力线进行数据通信成为可能,而且开发周期短。所以我选择利用电话实现家电控制。该系统利用遍及千家万户的电话线来传输信息,这是目前可以实现住宅内与住宅外信息交换最有效的方法。主要应用于电话遥控控制的家用电器,用户在户外可通过任意一部双音多频电话(包括手机、电话分机),根据语音提示可以对各种电器(如电饭锅、微波炉等电器)进行远程控制,使人们的生活更加便捷与享受。该系统可以使用单片机配合新型的 dtmf 解码芯片和语音电路来实现了电话对家用电器的远程控制。在使用时只需先将电话线的进线插入本装置,用户使用本装置时只要拨打家中的电话,装置检测到有铃流(可以设定 30s 以

22、后还有铃流),装置发出模拟摘机信号,并控制语音处理电路提示用户输入密码(预先设定),用户听到这一提示音后就在自己所使用的双音频电话机或手机上按下密码所对应的数字键即可,密码所对应的双音频信号经电话线传给双音频接收发送电路,检测译码,传给主控单元,识别正确后,语音芯片再提示用户进行控制家用电器的操作,最后,主控单元把控制家电的信息译码,经并行通信传给智能控制器,由控制器执行控制家电的操作。2.22.2 主要芯片选择主要芯片选择电话智能遥控器由单片机构成主控部分,进行主要的信息处理,接收外部操作指令形成各种控制信号,并完成对于各种信息的记录;接口电路提供单片机与电话外线的接口。其中包括铃流检测、摘

23、挂机控制、忙音检测、双音频 dtmf 识别,及语音提示电路。2.2.1 主控制器选择单片机就是在一块芯片上集成了 cpu、ram、rom(eprom 或 eeprom)、时钟、定时/计数器、多种功能的串行和并行 i/o 口。如 intel 公司的 8031 系列等。除了以上基本功能外,有的还集成有 a/d、d/a,如 intel 公司的 8098 系列。概括6起来说,单片机具有如下特点:具有位处理能力,强调控制和事务处理功能,价格低廉。如低档单片机价格只有人民币几元钱。开发环境完备,开发工具齐全,应用资料众多。后备人才充足。国内大多数高校都开设了单片机课程和单片机实验。本系统我们采用美国 at

24、mel 公司生产的 at89c51。at89c51 的介绍at89c51 是美国 atmel 公司生产的低电压、高性能 cmos8 位单片机,片内含 4k bytes 的可反复擦写的 flash 只读程序内存和 128bytes 的随机存取数据存储器,器件采用 atmel 公司的高密度、非易失性存储技术生产,兼容标准 mcs-51 指令系统,片内置用 8 位中央处理器和 flash 存储单元,功能强大的 at89c51 单片机可以提供许多高性价比的应用场合,可灵活应用各种控制领域。其引脚如图 2.1 所示。at89c51 主要性能参数:1、与 mcs-51 产品指令系统完全兼容;2、4k 字节

25、可反复擦写 flash 闪速内存;3、1000 次擦写周期;4、全静态操作:0hz24hz;5、三级加密程序内存;6、1288 字节内部 ram;7、32 个可编程 i/o 口线;8、2 个 16 位定时、计数器;9、6 个中断源;10、低功耗空闲和掉电模式。at89c51是标准的40引脚双列直插式集成电路芯片。它具有32个外部双向输入/输出(i/o)端口,2个外部中断口,2个16位可编程定时计数器,1个全双工串行通信口。按其功能可分为电源、时钟、控制和i/o接口四大部分:1、电源引脚vcc:芯片主电源,外接+5v。gnd:电源地线。2、时钟引脚xtal1:振荡器反相放大器的及内部时钟发生器的

26、输入端。图 2.1 at89c51 单片机引脚7xtal2:振荡器反相放大器的输出端。3、控制引脚(1)ale/:地址锁存控制信号。当访问外部内存时,地址锁存允许输prog出电平用于锁存地址的地位字节。在 flash 编程期间,此引脚用于输入编程脉冲。在平时,ale 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ale 脉冲。此时,ale 只有在执行 movx,movc指令是 ale 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale 禁止,置位无效。 (2):外

27、部程序内存读选信号。在由外部程序内存取指期间,每个机器psen周期两次有效。但在访问外部数据存储器时,这两次有效的信号将不psenpsen出现。(3)/vpp:访问程序内存控制信号。当信号为低电平时,只访问片外eaea程序内存;而当为高电平时,则对 rom 的读操作是从内部程序内存开始,并ea可延续至外部程序内存。(4)rst/vpd:复位/掉电保护信号输入。当输入的复位信号延续 2 个机器周期以上高电平即为有效,用以完成单片机的复位操作。4、i/o 引脚p0 口(p0.0p0.7):8 位双向并行 i/o 接口。扩展片外内存或 i/o 口时,作为低 8 位地址和 8 位数据总线的分时复用接口

28、,它为双向三态。p0 口可带 8 个ttl 负载电流。p0 口作为 i/o 输出口使用时,由于 p0 口为开漏输出,必须外接上拉电阻才能有高电平输出。p1 口(p1.0p1.7):8 位准双向并行 i/o 接口。p1 口每一位都可以独立设置成输入输出位,p1 口可以驱动 4 个 ttl 电路。p1 口管脚写入 1 后,被内部上拉为高,可用作输入,p1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。p2 口(p2.0p2.7):8 位准双向并行 i/o 接口。扩展外部数据、程序内存时,作为高 8 位地址输出端口。p2 口可以驱动 4 个 ttl 电路。p3 口(p3.0p3.7):

29、8 位准双向接口并行 i/o。除了与 p1 口有一样的 i/o 功8能外,每一个引脚还兼有第二功能。如表 2-1 所示。p3 口的第二功能信号都是单片机的重要控制信号,因此,在实际使用时,先按需要选用第二功能信号,剩下的才以第一功能的身份作为数据位的 i/o 使用。p1、p2、p3 口片内均含有固定的上拉电阻,故称为准双向并行 i/o 接口。p0 口片内无固定的上拉电阻,由两个 mos 管串接,既可开路输出,又可处于高阻的“悬空”状态,故称为双向三态并行 i/o 接口。 表 2.1 p3 口各引脚对应的第二功能p3.0p3.1p3.2p3.3p3.4p3.5p3.6p3.7rxdrxd0int

30、1intt0t1wrrd2.2.2 dtmf 芯片概述8870 芯片它集成了陷波滤波器和数字解码功能。在滤波器部分,使用了开关电容技术;解码部分,用数字计数的方法检测所有 16 种 dtmf 音频对,并将它们编成 4bits 的码。通过在芯片上放置差分输入放大器,时钟晶振和可锁存的三态输出,可以使外围元器件最少。本系统的解码芯片我们采用 mt8870。mt8870 是一个完整的 dtmf 接收解码电路。和其它电路,如 lcd 驱动电路一起,可实现 callerid 功能。它集成了陷波滤波器和数字解码功能。在滤波器部分,使用了开关电容技术;解码部分,用数字计数的方法检测所有 16 种 dtmf音

31、频对,并将它们编成 4bits 的码。通过在芯片上放置差分输入放大器,时钟晶振和可锁存的三态输出,可以使外围元上件最少。 信号经过输入放大,过滤掉噪声,再被由 6 阶高频组带通滤波器和 8 阶低频组带通滤波器组成的陷波滤波器滤出 dtmf 信号,然后经过平滑滤波,再由过零检测器将模拟信号转换成数字信号,进入数字部分。信号在数字部分分为两路,一路直接送到频率检测部分,分别对信号进行高频和低频检测。如果输入信号频率在预先设置的范围内,则将检测结果送到编码部分进行编码,并等待 d 触发器的同步输出信号;如果输入信号频率不在预先设置的范围内,检测结果维持为 0 不变。另一路则送到频率平均算法部分,分别

32、经过 4,8 分频,以初步检测信号的持续时间,将诸如噪声之类的干扰消除掉;同时,进一步设置更为严格的频率检测范围。如果信号通过了检测,就使 est 端输出高电平,通过外围 rc 回路对 st 端充电(r,c 的值可以根据不同的工业标准进行选择),如果 est 端高电平持续时间足够长,使充9电后 vc=vtst(235v,这是通过比较器比较),这就意味着所检测的信号满足dtmf 的工作标准,则使引导逻辑部分的输出同步脉冲到编码部分,使 4 位编码输出,经过延迟单元,锁存进三态输出单元,输出正确的码;同时,引导逻辑部分产生 std 端高电平信号,同时使 gt 维持儿高电下。如果充电时间不够长,这就

33、是说即使被检测信号的频率在 dtmf 频率范围内,但它的持续时间不足以满足 dtmf的工业标准,输出同步脉冲保持为 0,编码结果不输出。2.2.3 语音芯片本系统采用的是美国isd公司的2500芯片,按录放时间60秒。isd2500系列和1400系列语音电路一样,具有抗断电、音质好,使用方便等优点。它的最大特点在于片内e2prom容量为480k(1400系列为128k),所以录放时间长;有10个地址输入端(1400系列仅为8个),寻址能力可达1024位;最多能分600段;设有ovf(溢出)端,便于多个器件级联。2.2.4 存储芯片对于存储芯片的选择,我们选择at24c02是美国atmel公司的

34、低功耗cmos串行eeprom。它是内含2568位存储空间,具有工作电压宽(2.55.5v) 、擦写次数多(大于10000次) 、写入速度快(小于10ms)等特点。 at24c02的1、2、3脚是三条地址线,用于确定芯片的硬件地址。在at89c51试验开发板上它们都接地,第8脚和第4脚分别为正、负电源。第5脚sda为串行数据输入/输出,数据通过这条双向i2c总线串行传送,在at89c51试验开发板上和单片机的p3.5连接。第6脚scl为串行时钟输入线,在at89c51试验开发板上和单片机的p3.6连接。sda和scl都需要和正电源间各接一个5.1k的电阻上拉。第7脚需要接地。24c02中带有片

35、内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达8个字节的数据。 i2c总线是一种用于ic器件之间连接的二线制总线。它通过sda(串行数据线)及scl(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件:不管是单片机、存储器、lcd驱动器还是键盘接口。 1i2c总线的基本结构采用i2c总线标准的单片机或ic器件,其内部不仅有i2c接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块,通过软10件寻址实现片选,减少了器件片选线的连接。cpu不仅能通过指令

36、将某个功能单元电路挂靠或摘离总线,还可对该单元的工作状况进行检测,从而实现对硬件系统的既简单又灵活的扩展与控制。 2双向传输的接口特性传统的单片机串行接口的发送和接收一般都各用一条线,如mcs51系列的txd和rxd,而i2c总线则根据器件的功能通过软件程序使其可工作于发送或接收方式。当某个器件向总线上发送信息时,它就是发送器(也叫主器件),而当其从总线上接收信息时,又成为接收器(也叫从器件)。主器件用于启动总线上传送数据并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件。i2c总线的控制完全由挂接在总线上的主器件送出的地址和数据决定。在总线上,既没有中心机,也没有优先机。总线上

37、主和从(即发送和接收)的关系不是一成不变的,而是取决于此时数据传送的方向。sda和scl均为双向i/o线,通过上拉电阻接正电源。当总线空闲时,两根线都是高电平。连接总线的器件的输出级必须是集电极或漏极开路,以具有线“与”功能。i2c总线的数据传送速率在标准工作方式下为100kbit/s,在快速方式下,最高传送速率可达400kbit/s。3i2c总线上的时钟信号在i2c总线上传送信息时的时钟同步信号是由挂接在scl时钟线上的所有器件的逻辑“与”完成的。scl线上由高电平到低电平的跳变将影响到这些器件,一旦某个器件的时钟信号下跳为低电平,将使scl线一直保持低电平,使scl线上的所有器件开始低电平

38、期。此时,低电平周期短的器件的时钟由低至高的跳变并不能影响scl线的状态,于是这些器件将进入高电平等待的状态。当所有器件的时钟信号都上跳为高电平时,低电平期结束,scl线被释放返回高电平,即所有的器件都同时开始它们的高电平期。其后,第一个结束高电平期的器件又将scl线拉成低电平。这样就在scl线上产生一个同步时钟。可见,时钟低电平时间由时钟低电平期最长的器件确定,而时钟高电平时间由时钟高电平期最短的器件确定。4数据的传送在数据传送过程中,必须确认数据传送的开始和结束。在i2c总线技术规范中,开始和结束信号(也称启动和停止信号)的定义。当时钟线scl为高电平时,数据线sda由高电平跳变为低电平定

39、义为“开始”信号;当scl线为高电平时,sda线发生低电平到高电平的跳变为“结束”信号。开始和结束信号都是由11主器件产生。在开始信号以后,总线即被认为处于忙状态;在结束信号以后的一段时间内,总线被认为是空闲的。 i2c总线的数据传送格式是:在i2c总线开始信号后,送出的第一个字节数据是用来选择从器件地址的,其中前7位为地址码,第8位为方向位(r/w)。方向位为“0”表示发送,即主器件把信息写到所选择的从器件;方向位为“1”表示主器件将从从器件读信息。开始信号后,系统中的各个器件将自己的地址和主器件送到总线上的地址进行比较,如果与主器件发送到总线上的地址一致,则该器件即为被主器件寻址的器件,其

40、接收信息还是发送信息则由第8位(r/w)确定。在i2c总线上每次传送的数据字节数不限,但每一个字节必须为8位,而且每个传送的字节后面必须跟一个认可位(第9位) ,也叫应答位(ack) 。送过程如每次都是先传最高位,通常从器件在接收到每个字节后都会作出响应,即释放scl线返回高电平,准备接收下一个数据字节,主器件可继续传送。如果从器件正在处理一个实时事件而不能接收数据时, (例如正在处理一个内部中断,在这个中断处理完之前就不能接收i2c总线上的数据字节)可以使时钟scl线保持低电平,从器件必须使sda保持高电平,此时主器件产生1个结束信号,使传送异常结束,迫使主器件处于等待状态。当从器件处理完毕

41、时将释放scl线,主器件继续传送。当主器件发送完一个字节的数据后,接着发出对应于scl线上的一个时钟(ack)认可位,在此时钟内主器件释放sda线,一个字节传送结束,而从器件的响应信号将sda线拉成低电平,使sda在该时钟的高电平期间为稳定的低电平。从器件的响应信号结束后,sda线返回高电平,进入下一个传送周期。i2c总线还具有广播呼叫地址用于寻址总线上所有器件的功能。若一个器件不需要广播呼叫寻址中所提供的任何数据,则可以忽略该地址不作响应。如果该器件需要广播呼叫寻址中提供的数据,则应对地址作出响应,其表现为一个接收器。5总线竞争的仲裁总线上可能挂接有多个器件,有时会发生两个或多个主器件同时想

42、占用总线的情况。例如,多单片机系统中,可能在某一时刻有两个单片机要同时向总线发送数据,这种情况叫做总线竞争。i2c总线具有多主控能力,可以对发生在sda线上的总线竞争进行仲裁,其仲裁原则是这样的:当多个主器件同时想占用总线时,如果某个主器件发送高电平,而另一个主器件发送低电平,则发送电平与此时sda总线电平不符的那个器件将自动关闭其输出级。总线竞争的仲裁是在两个层次上进行的。首先是地址位的比较,如果主器件寻址同一个从器件,则12进入数据位的比较,从而确保了竞争仲裁的可靠性。由于是利用i2c总线上的信息进行仲裁,因此不会造成信息的丢失。6. i2c总线接口器件目前在视频处理、移动通信等领域采用i

43、2c总线接口器件已经比较普遍。另外,通用的i2c总线接口器件,如带i2c总线的单片机、ram、rom、a/d、d/a、lcd驱动器等器件,也越来越多地应用于计算机及自动控制系统。133 3. . 系统硬件设计系统硬件设计本系统使用了大量的硬件电路完成部分功能模块,其目的就是充分利用硬件电路的可靠性、稳定性,使整体电路达到比较高的稳定性。此电路主要包括电话线路摘机检测和线路振铃信号的检测电路,语音提示电路,单片机控制和密码存储电路,dtmf 检测电路及电器驱动电路。3.13.1 振铃检测和模拟摘机振铃检测和模拟摘机振铃检测的功能是检测有无铃流,当用户被呼叫时,电话交换机发来铃流信号。振铃为 25

44、3hz 的正弦波,谐铃失真不大于 10%,电压有效值 9015v。振铃信号以 5 秒为周期,即 1 秒送,4 秒断。振铃检测电路如图 3.1 所示。p3.7 是振铃信号检测端,根据振铃信号电压比较高的特点,可以先使用高压稳压二极管进行降压,然后输入至光电耦合器。经过 rc 回路进行滤波,输入给光电耦合器的波形,经过光电耦合器的隔离转换输出很标准的方波。方波信号就可以直接输出至单片机的端口,完成整个振铃音检测和计数的过程。模拟摘机电路的功能是当电话振铃到一定时间后接通电话,其电路如图 3.1 所示。如果电话线路上出现了振铃信号,90vpp 的振铃电压使得光电耦合器 u2 输出端按振铃频率导通和截

45、止,单片机在每次振铃信号结束后进行振铃次数计数,并将单片机振铃次数计数器中的数据与已经设定的振铃摘机数据比较,两者相等 p3.1下拉,光电耦合器 u1 导通,则 q1 和 q2 也导通,从而实现模拟摘机。图 3.1 振铃检测与模拟摘机电路14监测电路是为了监测电话机是否模拟摘机,电路如图 3.1 所示。电路中的 dw1、r2、r13、c6、q3 组成电话线路摘机检测,平时电话线路电压使得 dw1 击穿,使 q3 的基极电位为高,三极管导通,p3.0 脚被下拉成低电平,此时单片机主要任务是监测 p3.0 脚的电压升高变化。当该系统接收到振铃信号,且达到规定的振铃次数后模拟摘机,电话线路上电压均由

46、原来的 48v 下降到 7-8v,此时 dw1 截止,p3.0 被本身的上拉电阻上拉成高电平。单片机测试到 p3.0脚的高电平后,开启外部中断 0,单片机随时接收 mt8870 发出的选通信号,单片机根据选通信号的到来及时接收 mt8870 数据端 11-14 脚上的双音多频信号数据。3.23.2 声音监听和语音提示电路声音监听和语音提示电路语音提示电路是此系统的重要组成部分,能提供给用户直观的的反馈信息,为了使系统更加人性化,语音提示直接采用了语音芯片,将一些操作规则事先存于芯片中,根据不同的 dtmf 信号产生不同的提示信息,从而来完成控制整个系统的目的,由于需要存储的信息容量比较大,电路

47、采用了 isd2560,此芯片可录一分钟的语音信息,对本系统以足够使用,电路如图 3.2 所示。 图 3.2 语音提示电路声音监听和语音提示都由 p3.6 控制,声音信号是由 mic 话筒产生的,而语音信号是由 isd2560 语音芯片输出的。当 p3.6 为高电平时,三极管 q6 截止,因此对声音信号和语音信号没有放大功能;当 p3.6 为低电平时,三极管 q6 导通,对信号有放大作用,此时可以监听声音或者自动语音提示。语音提示电路包括语音芯片及外围电路,语音放大反馈回路,反馈信息由单片机控制,2500 系列最多可分为 600 段,只要在分段录/放音操作前(不少于 300 纳秒),15给地址

48、 a0a9 赋值,录音及放音功能均从设定的起始地址开始,录音结束由停止键操作决定,芯片内部自动在该段的结束位置插入结束标志(eom) ;而放音时芯片遇到 eom 标志即自动停止放音。使用操作模式时需要注意两点:1、所有操作模式下的操作都是从0地址开始,以后的操作根据模式的不同,而从相应的地址开始工作。当电路中录音转放音或进入省电状态时,地址计数器复位为0。2、操作模式位不加锁定,可以在 msb(a8、a9)地址位为高电平时,ce 电平变低的任何时间执行操作模式操作。如果下一片选周期 msb(a8、a9)地址位中有一个(或两个)变为低电平,则执行信息地址,即从该地址录音或放音,原来设定的操作模式

49、状态丢失。3.33.3 单片机控制和密码存储电路单片机控制和密码存储电路本电路单片机采用了 at89c51 作为控制芯片,并采用 eeprom 作为密码的存储。为了减小电路的体积及单片机 i/o 口,存储器采用了 24c02,有 2k 的存储空间,当系统掉电后密码也不会丢失。密码存储电路如图 3.3 所示。图 3.3 密码存储电路at24c02 的 1、2、3 脚是三条地址线,用于确定芯片的硬件地址。在与at89c51 连接时它们都接地,第 8 脚和第 4 脚分别为正、负电源。第 5 脚 sda 为串行数据输入/输出,数据通过这条双向 i2c 总线串行传送,和单片机的 p1.7 连接。第 6

50、脚 scl 为串行时钟输入线,和单片机的 p1.6 连接。sda 和 scl 都需要和正电源间各接一个 10k 的电阻上拉。可以通过软件编程对密码进行修改和存储。163.43.4 dtmf 检测电路检测电路此部分是整个系统的关键,它的工作情况直接决定了系统的可靠性。dtmf 编、解码方式在电话拨号系统中应用非常广泛,其突出的优点是抗干扰能力很强。经过翻阅大量的文献资料,发现使用电话专用的双音频编解码芯片进行输入双音频信号的解码,是比较常用的一种方法。使用集成电路不但外围电路简单,而且可靠性强。经过专用集成电路的解码,信号转换成为不同的码制信号,可以直接被单片机读取。一般常用的电话双音频编解码集

51、成电路有 8870、8880、8888 等,经过反复论证比较,决定使用双音频解码集成片 mt8870 来完成此功能模块。dtmf 检测电路如图3.4 所示。 图 3.4 dtmf 检测电路p3.2 为单片机的中断引脚,当 mt8870 接收来自电话线的双音多频信号并准备好输出时,产生中断信号。mt8870 的 2、3 脚接收来自电话机的双音多频脉冲信号,该双音多频信号先经其内部的拨号音滤波器,滤除拨号音信号,然后经前置放大后送入双音频滤波器,将双音频信号按高、低音频信号分开,再经高、低群滤波器,幅度检测器送入输出译码电路,经过数字运算后,在其数据输出端(11-14 脚)输出相对应的 8421

52、码。mt8870 的数据输出端 q1-q4 连到 at89c51 的 p1 口的 p1.0-p1.3,cpu 经 p1 口识别 4 位代码。电话按键与相应译码(q4-q1)输出见表 3-1。其中,a,b,c,d 417个按键常被当作 r/p,redial,hold,handsfree 等功能使用。注意,需要特别指出的是,对于“0”号码,mt8870 输出的 8421 码并非是“0000”,而是“1010”;另外,“*”,“#”字号码,mt8870 输出的 8421 码分别为“1011”和“1100”。有些技术资料会出现错误,包括比较权威的手册,所以在实验中,记录下测量的每一组数据后,才把这些数

53、据应用于程序当中。为了使单片机 at89c51 获取有效数据,mt8870 的 std 有效端经反相后接 cpu 的/int0 引脚。当 mt8870 获取有效双音多频信号后,std 电平由低变高,再反相为低,cpu 检测后,指示 p1 口接收有效二进制代码。而无效的双音频信号(电话线路杂音、人们的语音信号等)是不会引起 mt8870 的 std 端变化的。dtmf 数据输出如表 3.1 所示。表 3.1dtmf 数据输出表低通(hz)高通(hz)数字oed4d3d2d169712091hlllh69713362hllhl69714773hllhh77012094hlhll77013365hl

54、hlh77014776hlhhl85212097hlhhh85213368hhlll85214779hhllh94113360hhlhl9411209*hhlhh9411477#hhhll6971633ahhhlh7701633bhhhhl8521633chhhhh9411633dhllll-anylzzzz3.53.5 继电器控制电路继电器控制电路电器控制可采用继电器,可控硅等来控制强电的通与断,为了达到电话机能控制家用电器的开关作用,此设计采用了继电器,一共设定了两路继电器开关,电器控制电路如图 3.5 所示。18 图 3.5 电器控制电路继电器的开关由单片机控制,并可设定延时开延时关的功

55、能。在系统中还设置了三个当地按键,其中两个控制两路继电器的开和关,另一个用于复位初始密码的,当用户忘记自己设定的密码时,可以用此按键进行密码的复位,初始密码为123456。194.4. 系统软件设计系统软件设计4.14.1 系统软件设计基本思路系统软件设计基本思路本系统反应软件主要完成各种状态的检测以及数据的发送和接收工作,程序的基本流程如图 4.1 所示。图 4.1 系统软件流程图为提高控制系统的可靠性、可维护性和编程的效率性,控制系统的软件采用模功能操作 结束 挂机操作完成否密码正确否信号音提示模拟摘机5 次正常振铃振铃检测 开始nynnyy20块化结构,用 c 语言编写,简洁、明了。在硬

56、件的基础上,智能型电话遥控器的所有功能都是由软件实行的,通过软件编程可以控制电器的开关、延时开关、声音监听、密码修改和语音提示等等。因此,电路的设计中,软件编程也起到了关键性的作用。软件设计包括振铃检测、模拟摘机、语音提示、密码存储、各功能操作、8870 中断作这些模块。在图 4.1 系统软件流程图中,功能操作包括了很多的功能,如图 4.2 所示。图 4.2 系统功能图4.24.2 定时中断子程序定时中断子程序在软件编程中,需要考虑到电路中中断的使用。智能型电话遥控器系统里用到了一个定时中断。定时中断是用于两路电器延时开和关时间的计时,50ms 中断一次,电器的延时时间最小单位是分,延时开和关

57、都有计数值,当计数值减为 0 时,对电器进行操作。void timer0() interrupt 1 using 1tl0=0 xb0; th0=0 x3c; dlycount1-; if(dlycount1=0) dlycount1=1200; if(opencount1!=0) opencount1-; if(opencount1=0) p24=0; if(opencount2!=0) opencount2-; if(opencount2=0)延时开关电器无延时开关电器2无延时开关电器1开关监听修改密码状态查询 功能操作21 p25=0; if(closecount1!=0) closec

58、ount1-; if(closecount1=0) p24=1; if(closecount2!=0) closecount2-; if(closecount2=0) p25=1; if(!(opencount1|opencount2|closecount1|closecount2) tr0=0; 4.34.3 mt8870mt8870 中断子程序中断子程序 在软件编程中还用到一个外中断,外中断是用于 mt8870dtmf 解码芯片的,当 dtmf 信号解码成功后,解码芯片会产生一个高电平,提示单片机已经解码成功。void int0() interrupt 0 using 1uchar i,j

59、,k; k=0; dat=p1; dat=dat&0 x0f; if(allow=1) function(); if(allow=0) count1+; if(count17) if(dat=10) data1count1-1=0; else data1count1-1=dat; else if(dat=0 x0c) for(i=0;i=2) p31=1;j=0; /密码输入错误两次则挂机 235.5. 系统的调试系统的调试本装置的调试主要分为硬件调试、软件调试和联机调试等三大部分。经过初步的分析设计后,在制作硬件电路的同时,调试也在穿插进行。这样有利于问题的分析和解决,不会造成问题的积累,而

60、且不会因为一个小问题而进行整体电路的检查,从而可以节约大量的调试时间。软件编程中,我是首先完成单元功能模块的调试,然后进行系统调试,整体上与硬件调试的方法差不多。联机调试是最重要的一部分,同时也是本装置成功的关键。有许多新问题都不是很容易解决的。5.15.1 整体系统调试整体系统调试根据控制系统调试的需要,我们自己准备了一些调试设备.(1)5v 直流电源 一个 (2)数字万用表 一个 (3)电话线 两根(4)smartprox5 编程器 一个 (5)pc 机 一台5.25.2 硬件及软件调试硬件及软件调试由于采用单片机程序控制,所以硬件调试工作量不大,只要保证硬件电路的电源和时钟、复位能正常就

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论