基于单片机的模拟智能家居系统.docx

上传人:牧羊曲112 文档编号:1667810 上传时间:2022-12-13 格式:DOCX 页数:37 大小:414.53KB
返回 下载 相关 举报
基于单片机的模拟智能家居系统.docx_第1页
第1页 / 共37页
基于单片机的模拟智能家居系统.docx_第2页
第2页 / 共37页
基于单片机的模拟智能家居系统.docx_第3页
第3页 / 共37页
基于单片机的模拟智能家居系统.docx_第4页
第4页 / 共37页
基于单片机的模拟智能家居系统.docx_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《基于单片机的模拟智能家居系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的模拟智能家居系统.docx(37页珍藏版)》请在三一办公上搜索。

1、存档编号 赣南师范学院学士学位论文基于单片机的模拟智能家居系统教学学院:物理与电子信息学院届 别 2010届 专 业 电子信息工程 学 号 060802044 姓 名 李自建 指导老师 李秋生 完成日期 2010-5 34 目 录内容摘要2关键词2Abstract2Key words21引言12 系统的总体方案32.1系统框图32.2系统的组成63 硬件设计163.1远端模块设计163.2本地模拟分机部分的设计173.3智能显示和温度部分的电路设计184 软件设计214.1 软件说明214.2 软件流程图225 系统调试255.1 硬件调试255.2 软件调试275.3 软硬件联调29结束语3

2、0附录一31参考文献:57致谢59内容摘要:设计了一个模拟智能家居系统,该系统以STC单片机作为控制核心,利用双音多频信号作为远距离的通信信号,利用串口进行模块内部的通信。文章详细介绍了系统的组成、工作原理及其软硬件设计。关键词: 智能家居;DTMF;STC89C52RC;模拟电话Abstract: The paper designs a system which simulates the intelligent home system. The system takes STC MCU as the control core, uses the DTMF signals as the lo

3、ng-distance communication signals, and serial communication as the communication method between the internal modules. This paper introduces the composition, working principle and the design of hardware and software.Key words: Intelligent home system, DTMF, STC89C52RC, Analogue telephone1引言随着人们生活水平的提

4、高,智能控制系统不仅在工业控制等方面发挥着它的优越性,在我们的日常生活中也渐渐的凸显它的重要性。现在城市交通智能控制和调度系统,城市110报警以及与之相结合的GIS系统等智能控制系统已经在我们的生活中应用越来越广泛。为我们生活水平的提高发挥了重要的作用。随着大规模集成电路及计算机技术的迅速发展,以及人工智能在控制技术方面的广泛运用,智能设备有了很大的发展,是现代科技发展的主流方向。随着节能环保等渐渐成为主流,智能控制系统也开始朝着低能耗,低污染,高可靠性等方向发展。在控制系统中通信的方式一般分为两种,即有线通信和无线通信。显然无线通信在系统应用的过程中不仅可以减小布线部分的支出,而且控制也更加

5、的灵活,但是对于长距离的通信来说,无线通信意味着投入到通信信道建设中的费用将会增加。而利用现有通信线路进行远程控制的方案也越来越受到人们的重视。现在随着时分复用技术的发展,一线多用越来越受到重视。而基于固定电话网络而发展起来的通信应用也越来越广泛。而本设计的模拟智能家居系统即是通过固定电话线路进行远程控制的。本设计以固定电话网络为依托,一个级交换网络为基础的远程控制系统。本系统通过模拟两部功能具有一定不同的固定电话机,使用与固定电话交换网络相同的DTMF信令,利用电话网络的双绞线作为通信线路,进行远程控制。该模拟智能家居系统可以实现温度智能检测、时钟功能、闹钟设置、温度报警、智能显示、键盘拨号

6、、远程控制等功能。并且还具有可靠性高,通信距离不受限制,不需要额外布线,不占用无线频率资源,避免了电磁污染。同时,由于电话线路各地联网,可以充分利用现有的电话网,因此遥控距离可跨越省市,甚至跨越国家。本模拟系统适用于家庭、企事业单位、工业现场、商店等场所,用手机或固定电话,实现对电器设备的控制和运行状态查询。而且本系统的设计思路和设计理念也是现在很多远程控制系统例如:城市应急安全指挥系统,110报警指挥系统,智能调度系统等设计的底层通信的基础。2 系统的总体方案系统可以智能地显示当前时间和家中的实时温度情况,并且具有时间调整和闹钟设置等功能,还能够时刻监视家中温度情况,如果温度异常会启动报警单

7、元并通过串口将报警信息传送给模拟分机,模拟分机接收到报警信号以后,进入拨号程序,并且通过液晶显示器显示家中情况。模拟主机接听后模拟分机启动语音系统,通知主机家中情况,请求马上处理。若主人不在家中,可以利用模拟远端部分通过键盘输入家中的电话号码,号码通过数模转换转化成DTMF信号,模拟分机接收到该DTMF信号后开始振铃,并进行振铃计数,若在一定时间内没有人接听电话则自动摘机,并启动语音模块,进行语音提示,用户只需根据语音提示部分进行操作控制相应的电器即可。2.1系统框图系统分为三个子系统:模拟远端模块(模拟主机)、本地模拟分机、智能显示模块。2.1.1 模拟远端模块框图模拟远端控制模块是由六部分

8、组成:双音多频模块、振铃模块、控制模块、键盘模块、外部接口模块、按键音单元。双音多频部分主要作用是接收本地控制单元发送过来的双音多频信号,并将双音多频信号转换为二进制数据,转化完成之后,产生中断信号,单片机STC89C52RC外部中断1(INT1)接收到中断信号后,开始从双音多频信号收发单元中读取刚刚转化好的双音多频信号。系统接收到键盘数据后,在控制时通过双音多频芯片转换成双音多频信号后进行传输。当收到振铃后,振铃部分开始发送振铃音。按键盘的时候有键盘音。其模块图如图2-1所示。图2-1 模拟远端模块框图2.1.2 本地模拟分机框图该部分有七个部分组成:双音多频模块、振铃模块、控制模快、受控单

9、元、外围借口、语音单元、显示单元组成。该部分主控单元通过双音多频信号接收单元接受到本地模拟终端发送过来的双音多频信号,然后主控单元将接受到的双音多频信号以串口通信的方式发送给显示单元进行显示,并且智能显示单元能够根据系统当前所出的状态进行不同的显示。受控单元主要是模拟受远程控制的家用电器。语音电路主要功能是提示用户在进行远程控制的时候的操作方法。振铃单元在接受到振铃信号之后振铃单元开始进行振铃,即通过蜂鸣器播放预先设置好的音乐,进行提醒。当按下接听键后振铃自然停止。其电路框图如图图2-2所示。2.1.3 智能显示和温度控制单元框图智能显示部分主要有六部分组成:显示单元、按键调整单元、时钟单元、

10、温度单元、报警单元、外围接口单路组成。显示单元主要是利用点阵液晶点阵显示单元FG12864E进行显示,控制单元将要显示的数据通过并口写入到液晶FG12864E中,FG12864E会根据主控单元的数据进行相应的显示。按键调整单元通过四个按键进行时间的调整,闹钟的设置等功能,按键部分功能通过扫描实现的。时钟单元主要通过DS1302进行计时的,主控单元通过三条线进行访问。将读取的时间数据显示到显示单元上。温度模块通过DS18B20测试环境温度,温度超标时报警。其电路的整体框图如图2-3所示。图2-2 本地模拟终端电路框图图2-3 智能显示部分电路框图2.1.4系统的总体框图系统的总体设计是由智能显示

11、部分、本地模拟分机、远端模拟分机组成的。远端模拟分机相当于一部电话,拨号后可以通过键盘,利用双音多频信号进行远程控制家中的各种电器设备。本地模拟主机可以在接受到报警信号之后,自动的拨打远端电话,等待远端接听之后进行语音报警提示,也可以自动或者手动的接听远端拨打过来的电话,然后通过语音提示提示远端进行相应是操作,控制家中的各类电器。本地模拟主机和远端模拟分机之间的通信完全仿照电话之间通信的模式和通信信令的形式进行通信的。都具有振铃检测,忙音检测,DTMF信令等功能。其硬件框图如图2-4所示。图2-4 系统总体框图2.2系统的组成2.2.1 智能控制核心STC89C52RCSTC89C52RC是一

12、种低功耗、高性能CMOS8位微控制器,具有8KB在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程Flash,使得 STC89C52RC为众多嵌入式控制应用系统提供高灵活、有效的解决方案。STC89C52RC具有以下标准功能: 8k字节Flash,256字节RAM, 32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C5

13、2RC可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。图2-5 STC89C52RC引脚结构图2.2.2单元控制核心STC89C2052 图2-6 STC89C2052引脚结构图STC89C2052是宏晶公司生产的低电压、高性能CMOS 8位单片机,片内含2KB的可反复擦写的只读程序存储器(PEROM)和128B的随机数据存储器(RAM),器件采用高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用

14、8位中央处理器和Flash存储单元,功能强大STC89C2052单片机可为您提供许多高性价比的应用场合。并且程序保密,STC89C2052设计有2个程序保密位,保密位1被编程之后,程序存储器不能再被编程除非做一次擦除,保密位2被编程之后,程序不能被读出。2.2.3 DTMF收发模块MT8880/ MT8888图2-7 MT8888引脚结构图MT8888是采用CMOS工艺生产的DTMF信号收发一体集成电路,它的发送部分采用信号失真小、频率稳定性高的开关电容式D/A变换器,可发出16种双音多频DTMF信号。接收部分用于完成DTMF信号的接收、分离和译码,并以4位并行二进制码的方式输出。MT8888

15、芯片集成度高、功耗低,可调整双音频模式的占空比,能自动抑制拨号音和调整信号增益,还带有标准的数据总线,可与TTL电平兼容,并可方便地进行编程控制。MT8888内部由收发电路、振荡器和电源偏置电路组成。收码电路包括信号放大、拨号音抑制滤波、输入信号的高低频带通滤波、译码及锁存等功能;发码电路包括数据锁存、行列计数D/A转换和混频等功能。MT8888内部有两个数据寄存器,一个是只执行读操作的接收数据寄存器RDR;另一个是只执行写操作的发送数据寄存器TDR。另外,MT8888中还有两个4位的收、发控制寄存器CRA和CRB。对CRB的操作就是通过CRA中的一个特定位来操作的,因此编程中应对其进行初始化

16、;而MT8888中的4位状态寄存器SR则用来反映收、发信号的工作状态。寄存器的选择与操作由RS0及WR和RD口线来控制。MT8888是一款双音频的语音拨号芯片。它通用二个音频信号形成一位的数据信号发出去,一组为低频的、一是高频的信号。接收的对方把二个音频信号分别接收下来一查表就知道收到的是哪个数据了。表2-1所示为双音多频信号频率组合表。表2-1 双音多频频率组合表2.2.4 语音芯片APR9600台湾公司最新推出的APR9600语音录放芯片,是继美国ISD公司以后采用模拟存储技术的又一款音质好、噪音低、不怕断电、可反复录放的新型语音电路,单片电路可录放3260秒,串行控制时可分256段以上,

17、并行控制时最大可分8段。与ISD同类芯片相比它具有:价格便宜,有多种手动控制方式,分段管理方便、多段控制时电路简单、采样速度及录放音时间可调、每个单键均有开始停止循环多种功能等特点。在APR9600芯片的内部,录音时外部音频信号可以通过话筒输入和线路输入方式进入,话筒可采用普通的驻极体话筒,在芯片内话筒放大器(Pre-Amp)中自带自动增益调节(AGC),可由外接阻容件设定响应速度和增益范围。由于FLASHRAM是非易失器件,断电等因素不会使存储的语音丢失。放音时芯片内读逻辑电路从FLASHRAM中取出信号,经过一个低通滤波器送到功率放大器中,然后直接推动外部的喇叭放音。APR9600有多种控

18、制模式,总的来说分为串行控制和并行控制两种,由芯片MSEL1(24脚)、MSEL2(25脚)、/M8(9脚)的设置来实现。详见表2-2所示。图2-8 APR9600引脚结构图2.2.5温度传感器DS18B20DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。表2-2 APR9600控制表APR9600操作模式表MSEL1(24脚)MSEL2(25脚)/M8(9脚)/CE多为停止、复位键功能(以60秒计)010/1/M1、/M2、CE并行控制,分二段

19、,每段最大30秒100/1/M1、/M2、/M3、/M4、CE并行控制,分四段,每段最大15秒111/M1/M8、CE并行控制,分八段,每段最大7.5秒110CE单段7.5秒循环。CE为启动/停止键001/M1、CE串行顺序控制,可分一至任意多段000/M1、/M2、CE串行选段控制,/M2系选段快进键。M8=0时只能录两段。注1、 RE=0(置低电平)为录音状态;RE=1(置高电平)为放音状态。注2、 注2、/M1/M8键在有效段控放音时,按一下键即开始放音一段,放音期间再按一下即停止;如按键不放即循环放音注3、/M1/M8键在有效段控录音时,按住不放为录音,松键即停止。DS18B20数字温

20、度计以9位数字量的形式反映器件的温度值。DS18B20通过一个单线接口发送或接收信息,因此在中央微处理器和DS18B20之间仅需一条连接线(加上地线)。用于读写和温度转换的电源可以从数据线本身获得,无需外部电源。因为每个DS18B20都有一个独特的片序列号,所以多只DS18B20可以同时连在一根单线总线上,这样就可以把温度传感器放在许多不同的地方。这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。图2-9 DS18B20引脚结构图放置温度敏感器件DSl8B20 的测量范围从-55到+125增量值为 0.5可在l s(典型值)内把温度变换成数字。每一个DS

21、l8B20包括一个唯一的64位长的序号 该序号值存放在DSl8B20内部的ROM(只读存贮器)中开始8位是产品类型编码(DSl8B20编码均为10H) 接着的48是每个器件唯一的序号最后8位是前面56位的CRC(循环冗余校验)码 DSl8B20中还有用于贮存测得的温度值的两个8位存贮器RAM编号为0号和1号,1号存贮器存放温度值的符号 如果温度为负,则 1号存贮器8位全为1否则全为0,0号存贮器用于存放温度值的补码 LSB(最低位)的1表示0.5将存贮器中的二进制数求补再转换成十进制数并除以2就得到被测温度值(-55到125)DSl8B20的引脚如图下所示。每只DS18B20都可以设置成两种供

22、电方式,即数据总线供电方式和外部供电方式,采取数据总线供电方式可以节省一根导线但完成温度测量的时间较长,采取外部供电方式则多用一根导线 但测量速度较快。2.2.6实时时钟芯片DS1302图2-10 DS1302引脚结构图DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS120

23、2兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。 DS1302的引脚排列,其中VCC1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由VCC1或VCC2两者中的较大者供电。当VCC2大于VCC10.2V时,VCC2给DS1302供电。当VCC2小于VCC1时,DS1302由VCC1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或

24、多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在VCC2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向)。SCLK为时钟输入端。2.2.7 液晶显示器FG12864E4和LCD1602(1)汉字点阵液晶显示器FG12864EFG12864E是一款不带汉字字库的液晶点阵显示器,通过汉字取模软件提取汉字的点阵字模,然后利用显示器的串口将数据写入到显示器进行显示的。该显示器因为没有带汉字库,所以

25、成本比较低,利用单片机自带的程序存储空间存储汉字字模,需要的时候调用显示即可。该液晶显示器具有20引脚,并且具有内置的DC-DC转换电路,无需外接负电源。控制段包括片选控制端CS1、CS2,读写控制,是能控制,复位引脚,八位并行的数据引脚等。具有操作简单,功耗低,易于单片机等为控制器接口等特点。(2)字符型液晶显示器1602采用单5V供电,具有低功耗、长寿命、高可靠性的特点。内置192个字符,其中160个5*7点阵字符,32个5*10点阵字符。具有64字节的自定义RAM可自定义8个5*8点阵字符和4个5*11点阵字符。并且具有标准的借口特性,适配MC51和M6800系列等MCU的操作时序。它内

26、部具有液晶显示屏,控制器,列驱动器,和偏压产生电路构成。控制器主要有指令寄存器,数据寄存器,标志位,地址计数器,时序发生电路组成。通过MCU分别向相应的寄存器写入控制命令设置各个控制寄存器。通过MCU的并口将数据写入在控制信号EN端高电平和下降沿的作用下模块通过区分控制信号RS和RW的组合形式来区分数据总线上传送的是数据还是指令,数据总显示LCD1602和外界MCU之间进行信息或者是数据交换的通道。3 硬件设计3.1远端模块设计该模块主要功能是拨打模拟分机的号码,利用双音多频信号进行远程控制。通过STC89C2052扩展的矩阵键盘进行拨号,利用串口通信,将拨号数据传送给STC89C52RC,利

27、用STC89C52RC控制液晶显示器进行拨号显示以及各个过程的显示。STC89C52RC接收到拨号数据后暂时存入号码暂存单元,当按下拨号键的时候STC89C52RC控制MT8888进行拨号,并产生拨号音和振铃信号通知模拟分机。进入到控制模式之后,STC89C52RC接收到的键盘输入数据会利用MT8888转变成双音多频信号控制模拟分机执行相应的控制。该部分还能够接收本地模拟终端的振铃信号,当接收到振铃信号后,开始振铃,当主人按下接听键的时候,振铃停止,电路接通,开始通话,能够接收本地终端的报警语音提示。其电路图如图3-1所示。图3-1 键盘输入与显示部分电路3.2本地模拟分机部分的设计该模块的主

28、要功能是接收远端控制的控制信号,并执行相应的控制动作,预警后通知远端模块,并有相应的语音提示。3.2.1本地模拟分机通过STC89C52RC和STC89C2052共同控制外围电路。STC89C52RC主要管理MT8888收发双音多频信号,对受控单元的控制,对语音提示电路的控制等部分。STC89C2052主要完成系统的显示功能,要显示的数据由STC89C52RC通过串口进行发送。如图3-2所示。图3-2 DTMF发送与接收部分电路3.2.2本地模拟分机的MT8888接收部分该部分主要是将主控部分通过并口发过来的数据转换成双音多频信号然后由双音多频信号输出端发送出去,或者MT8888接收到远端发送

29、过来的双音多频信号后经过一系列的转换以二进制的形式输出给单片机。其电路图如图3-3所示。图3-3 DTMF发送与接收部分电路3.2.3本地模拟分机的语音电路单片机通过控制译码器74LS138进而控制语音芯片要播放语音的内容,通过控制74LS138的时能端来控制语音播放的启停。其电路图如图3-4所示。该部分通过单片机的数据总线口向74LS138输出控制代码,经过74LS138译码后,将选中语音芯片的某一段,被选中的那段语音就会通过LM324放大以后用扬声器输出,将74LS138的E1、E2脚同时置为高电平,禁止其工作,这时他的输出为高电平,此时语音芯片APR9600停止工作,处于静止状态,放音停

30、止。3.3智能显示和温度部分的电路设计该部分主要功能是监控所处环境的温度,当温度超过限定值的时候产生报警信号,并且具有时钟显示,时钟调整,定时闹钟等功能电路图如图3-5所示。图3-4 语音部分电路图3-5 智能显示部分电路图电路图中利用DS18B20进行温度控制,它具有单总线是结构,接收到的温度数据经过内部转换以后,以二进制的形式存入相应的寄存器,单片机通过该单总线读取到温度数据后进行显示。因为DS18B20有一个唯一的片序列号,所以多个DS18B20可以同时并接在一根单线上,这样可以把温度传感器放在许多不同的地方。所以可以利用DS18B20的该特性在同一总线上拓展多个温度测量单元,进行多点温

31、度采集。电路中利用DS1302进行时钟计数。它以串口的形式输出当前的时钟数据。它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。4 软件设计4.1 软件说明该模拟系统的软件可分为三部分组成:温度控制时钟显示及时间调整部分,远端模拟终端机部分,本地模拟终端机部分。温度控制时钟显示及时间调整部分可以分为:时钟模块,温度模块,按键调整模块,操作菜单模块及显示模块组成。时钟模块主要用于DS1302的底层驱动程序,完成时钟数据从DS1302读出并转换为二进制数据用于显示和其

32、他部分调用。温度模块主要功能是完成温度传感器DS18B20的底层驱动和温度转化并将转化好的温度数据转化成带有一位小数的二进制数据用于显示和其他控制。按键调整模块主要用于时间的调整和闹钟的设置,他是通过利用程序不停的扫描键盘实现的。显示模块主要是液晶显示器FG12864E的底层驱动部分主要用于驱动液晶显示器用于显示操作过程和当前的状态。操作菜单模块是一个顶层模块,用它来控制系统进入不同的操作状态,主要分为调整状态,显示状态等。远端模拟端机部分的软件设计分为双音多频信号收发部分,液晶显示部分,按键键盘部分,振铃部分,串口通信部分组成。其中双音多频信号收发部分主要完成的MT8888底层驱动以及DTM

33、F信号的接收与发送控制;液晶显示部分,主要功能是完成液晶显示器的底层驱动,并显示控制过程的各个状态;按键部分程序设计主要是用于人机交流输入的接收控制,主要完成人机接口功能;振铃部分程序完成振铃音乐的产生和播放;串口部分是该模块的通信通道,主要完成主控部分和被控部分之间的控制信息和数据的交流。本地模拟终端部分的软件设计主要分为双音多频信号收发部分,液晶显示部分,语音模块控制部分,振铃部分,串口通信部分等组成。其中双音多频信号收发部分,液晶显示部分,振铃显示部分,串口通信部分的结构和功能与远端模拟端机基本相同,语音部分主要用于播放控制提示,提醒用户控制的顺序和方法。4.2 软件流程图4.2.1 智

34、能显示模块软件流程图:开机初始化完成以后,软件进入循环程序,开始不停的扫描按键,若没有按键按下的时候,读取DS18B20的温度并进行显示,读取DS1302的时钟并进行显示。若有按键按下的时候,开始分别进入时钟调整和闹钟设置两个单元,具体情况根据操作确定。时钟调整模块和闹钟设置部分。时钟调整部分主要是通过四个按键键盘实现的,其中一个模式选择键,一个退出键,一个上翻键,一个下翻键。通过按下按键调整按键可以进入时钟调整和闹钟设置两个模式,分别进行时间的调整和闹钟的设置。时钟调结束之后会将调整之后的时间写入到DS1302中。若温度超过设定的温度上限的时候,会通过串口向本地模拟终端发出报警信号,并自己启

35、动超温报警。该部分软件的框图如图4-1所示。4.2.2 远端模拟终端软件流程图在远端机呼叫本地终端进行远程控制的时候,首先利用远端机的键盘进行拨号时,有拨号音。拨号键按下之后远端机开始发送振铃信号,振铃信号占空比是1:3的形式,本地终端接收的振铃信号的时候马上响铃,通知接听,若没人接听,本地端机具有自动接听的功能。当接到振铃信号后开始振铃计数,当振铃次数大于五的时候自动接通电话,并产生一个应答信号,通知远端机,远端机接收到本地端机的应答信号后也进行摘机接通电话线。线路接通后,本地端机开始播放提示音,提示音可以利用耦合电路耦合到电话线路上,远端机接收到提示音之后按照提示的顺序进行操作。图4-1

36、智能显示模块软件流程图图4-2 远端模拟终端软件流程图4.2.3 本地模拟端机软件流程图:该部分在系统初始化以后处在等待状态,当接收的振铃信号的时候开始进入进行振铃计数,当振铃个数超过五个时会自动接听。接通之后,会通过语音提示进行相应的操作。控制相应的电器,控制结束之后挂机。当串口接受到只能显示和温度报警模块的报警信号的时候,在蜂鸣器发出报警信号的同时拨打主人的电话,接听之后会控制语音电路提示主人家中情况,等待主人处理。若没有人接听会一直拨打下去,直到接听为止。 图4-3 本地模拟终端软件流程图5 系统调试5.1 硬件调试进行系统的硬件调试,首先要把硬件电路焊接好,在焊接时要注意是否虚焊,如果

37、有虚焊,就会导致电路不通,或者干扰等现象。焊接电路前为了避免焊接出现空间不足和错误应首先规划好电路板,设计好各个部分的电路,然后再逐步进行焊接,能够避免飞线的尽量避免飞线。另外注意电源线和地线的走向,电源线不要和信号线平行走线过长,避免干扰,为了避免干扰,电源线和地线 之间要根据芯片的数量增加去耦电容。各个部分焊接完毕时,先不要马上插上芯片,先接通电源查看有没有出现断路、短路的情况,检查电路一切正常之后再插上芯片查看电路的工作情况。由于该系统比较大,元器件比较多,所以系统调试的时候采用各个模块分别调试的方式,例如,可以先进行语音模块调试,然后在进行DTMF信号收发模块的调试等等。每个模块调试正

38、常之后再根据自己的调试情况将各个模块焊接在一起组成系统进行调试。这种方法可以准确的定位电路中存在的问题,有助于了解系统各个模块的特点,为系统的测试做好准备。5.1.1 智能显示部分的调试该部分有两块单片机组成,由于STC89C52RC的程序存储空间有限,所以拓展了一片STC89C52RC,将程序分为两个部分,分别有两个单片机控制。采用总线的时分复用的方式,让两块单片机分别控制液晶显示器FG12864E的数据总线进行显示。开机时,由从STC89C52RC控制数据总线,通过74LS373将控制数据通过数据总线写入到显示器中,但开机画面结束时,进入正常的界面的时候,从STC89C52RC通过串口,发

39、出控制命令给主STC89C52RC,同时从机关闭74LS373。主机接收到从机的移交总线控制权的命令以后,将74LS373的OE引脚拉低,打开三态门,控制数据总线。然后通过从温度传感器DS18B20和实时时钟芯片DS1302中读取数据并利用FG12864E进行显示。该部分还拓展有时钟调整模块和闹钟设置部分。时钟调整部分主要是通过四个按键键盘实现的,其中一个模式选择键,一个退出键,一个上翻键,一个下翻键。通过按键调整按键可以进入时钟调整和闹钟设置两个模式,分别进行时间的调整和闹钟的设置。该部分的调试要在软件部分结束之后进行联合调试,检验功能。为保证软件硬件联调由于硬件问题影响调试,可以在硬件电路

40、焊接好时利用万用表测量按键两边的电阻,若按键松开时,来两边的电阻无穷大,按键按下后两边的电阻变成零,说明按键部分硬件部分正常,为软件硬件联合调试打下基础。5.1.2 远程模拟终端的调试远程模拟终端和本地模拟终端的硬件组组成由双音多频信号的收发部分,液晶显示部分,矩阵键盘部分,语音部分,振铃电路部分,串口通信部分等组成。由于该系统是模拟利用现有的固定电话网络进行远程控制的智能家居系统,远端机和近端机就是两部增加了一定功能的固定电话,他们之间的通信也是跟普通电话的信令相同的,利用双音多频信号,振铃音也是和固定电话一样,不过方波的形式,以占空比1:3的方式。在远端机呼叫本地终端进行远程控制的时候,首

41、先利用远端机的键盘进行拨号时,有拨号音。拨号键按下之后远端机开始向本地终端发送振铃信号,振铃信号以方波的形式,占空比是1:3的形式,本地终端接收的振铃信号的时候马上响铃,通知接听,若家中没有人接听,本地端机具有自动接听的功能。当接听到振铃信号后开始振铃计数,当振铃次数大于五的时候自动接通电话,并产生一个应答信号,通知远端机,远端机接收到本地端机的应答信号后也进行摘机接通电话线。线路接通后,本地端机开始播放提示音,提示音可以利用耦合电路耦合到电话线路上,远端机接收到提示音之后按照提示的顺序进行操作。操作时要根据提示输入远程控制密码,密码输入正确以后就可以进入远程控制。控制的实现是通过DTMF信号

42、进行的,远端机通过键盘输入控制键数字时,然手通过双音多频信号转换芯片将信号转换成DTMF信号进行传输。本地端机接收到DTMF信号后根据设置进行相应的操作。操作结束之后,本地端机可以自动挂机,也可以通过远程机进行挂机操作。当本地模拟终端接收到报警信号的时候,会自动拨打事先设置好的电话号码。拨号时也会产生拨号音,拨号音也是以方波的形式,该方波的占空比为1:3,当远端模拟终端接收到振铃信号后就会开始响铃,通知主人接听,若没有人接听时会在振铃信号发送15次以后自动挂机,等待一段时间后再次拨打主任的电话,直到主人接听,把报警信号传达给主人。当主人听到铃声后,按下接听键铃声停止,电话线路接通,同时发送应答

43、信号给本地模拟终端。本地模拟终端接收到应答信号后,也摘机接通电话线路。当话路接通后,本地模拟终端打开语音提示,播放提示报警提示。提示结束后自动挂机。5.2 软件调试由于该设计的软件的工程量比较大,代码比较多,所以设计的时候采用模块化的设计方法。将各个模块分成不同的功能部分,然后每部分进行单独的设计,该部分设计完成之后进行软件编译,然后将编译中出现的问题进行修改,完成软件的初步调试,等到软件编译通过之后,利用仿真软件Proteus对该部分进行仿真,根据仿真结果对软件进行调试,直到软件部分功能可以通过仿真实现,若软件仿真可以实现功能,那么当硬件没有什么问题的时候一般软件的功能都能够实现。该部分的软

44、件仿真结束之后可以将该部分的功能做成一个软件模块,然后按照同样的方法将其他部分的软件也做成相应的软件包模块,然后将各个软件模块链连接在一起,通过适当是修改,则可以完成一个完整的工程。这样做的好处就是当软件工程量比较大的时候模块化的设计就可以方便的进行软件功能的修改和调试错误的定位,一致性也比较强,利于软件的调用。软件测试也分为模块测试、整体测试、异常测试等部分组成。模块测试,对于一个整个系统来讲,要是从整体的对系统软件功能进行测试和调整会让人感觉无从下手,所以要将系统分成相应的模块先一个一个的模块进行测试,一个一个模块的功能进行实现。例如对于时钟部分的软件进行测试,当软件下载到硬件里面以后,通

45、过显示器观察显示时钟的显示情况是否正常,若显示不正常,或者是始终走时错误就要根据显示情况和错误情况进行相应的软件的调整,知道时钟功能是实现为止。然后再进行下一步的测试。测试的时候要注意测试的步骤和顺序,功能利用率高的情况先进行测试,其他的根据情况进行测试。比如,智能显示部分由温度测试部分,时钟显示部分,液晶显示部分,报警部分,按键调整部分等组成。由于液晶显示部分是不系统的基础,所以测试的时候要先进行液晶显示部分的测试,这样其他部分的测试才能够进行下去。整体测试,若该部分的每个模块都完成了测试之后,开始进行系统的测试,系统的测试主要包括系统各个部分功能的协同,系统各个部分通信和控制信号的控制情况

46、等。测试的时候可以给系统一定的信号可以看看系统对信号的出力情况看看是不是符合设计的要求,是不是完成设计的功能。等到系统整体功能测试完成之后开始进行异常测试,异常测试的时候可以通过测试一些干扰信号看看系统的抗干扰能力。也可以看看系统的耐压能力,当电压降低的时候看看系统的工作情况等。5.3 软硬件联调系统工作稳定以后,连接好电路以后开始调试系统的整体功能。当接通电源的时候有首先开始显示开机画面,开机画面结束之后开始显示时间,星期,温度等信息。若开机显示正常则说明开机本分正常,开机部分结束以后,时钟显示正常后,通过调整按键就可以进行时间调整和闹钟的设置了,若闹钟设置和时间调整菜单显示正常之后说明按键

47、调整部分的功能显示正常。此时,用手握着温度传感器,显示器上面的温度会随着温度显示器的温度上升而跟着上升,说明温度传感器工作正常,此部分的液晶显示部分也正常。当温度上升到一定的温度的时候,此时本地模拟终端部分就会接受到温度报警信号,开始拨打远端模拟终端的电话,此时本地模拟终端部分会显示正在拨打的电话号码。若远端电话没有人接听,这时本地模拟终端在振铃响十五次之后,会自动挂机,等待一段时间之后会自动的再次拨打远端模拟终端的电话,直到远端模拟终端接听电话为止。当远端模拟终端接听电话的时候,本地模拟终端部分会通过语音电路部分提示远端主人报警信号。当主人受到报警信号之后会自动的挂断电话。当远端用户拨打本地模拟终端的号码的时候,本地模拟终端会进行振铃计数,当振铃数目达到一定的数目的时候会自动的接通电话线路,并会向远端模拟终端部分发送应答信号,远端部分接收到应答信号以后,也会将电话线路接通,开始通话。这时本地模拟终端会通过语音电路部分,进行操作的语音提示,远端用户根据系统的语音提示操作。这时远端部分,通过按键,将控制数据输入到主控器,主控器接收到控制数据之后,将控制数据以并口的形式传输给双音多频收发芯片MT8888,MT8888将数据转变成为DTMF信号在信道中传输。这时接收端接收到该双音多频信号,然后根据接收到的双音多频信号进行控制。控制结束之后,本地模拟终端会自动的关

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号