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

上传人:b****7 文档编号:11273631 上传时间:2023-02-26 格式:DOCX 页数:28 大小:385.86KB
下载 相关 举报
基于单片机智能家居系统.docx_第1页
第1页 / 共28页
基于单片机智能家居系统.docx_第2页
第2页 / 共28页
基于单片机智能家居系统.docx_第3页
第3页 / 共28页
基于单片机智能家居系统.docx_第4页
第4页 / 共28页
基于单片机智能家居系统.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

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

《基于单片机智能家居系统.docx》由会员分享,可在线阅读,更多相关《基于单片机智能家居系统.docx(28页珍藏版)》请在冰豆网上搜索。

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

基于单片机智能家居系统

存档编号

赣南师范学院学士学位论文

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

教学学院:

物理与电子信息学院

届别2010届

专业电子信息工程

学号*******44

姓名李自建

指导老师李秋生

完成日期2010-5

内容摘要:

设计了一个模拟智能家居系统,该系统以STC单片机作为控制核心,利用双音多频信号作为远距离的通信信号,利用串口进行模块内部的通信。

文章详细介绍了系统的组成、工作原理及其软硬件设计。

关键词:

智能家居;DTMF;STC89C52RC;模拟电话

Abstract:

Thepaperdesignsasystemwhichsimulatestheintelligenthomesystem.ThesystemtakesSTCMCUasthecontrolcore,usestheDTMFsignalsasthelong-distancecommunicationsignals,andserialcommunicationasthecommunicationmethodbetweentheinternalmodules.Thispaperintroducesthecomposition,workingprincipleandthedesignofhardwareandsoftware.

Keywords:

Intelligenthomesystem,DTMF,STC89C52RC,Analoguetelephone

1引言

随着人们生活水平的提高,智能控制系统不仅在工业控制等方面发挥着它的优越性,在我们的日常生活中也渐渐的凸显它的重要性。

现在城市交通智能控制和调度系统,城市110报警以及与之相结合的GIS系统等智能控制系统已经在我们的生活中应用越来越广泛。

为我们生活水平的提高发挥了重要的作用。

随着大规模集成电路及计算机技术的迅速发展,以及人工智能在控制技术方面的广泛运用,智能设备有了很大的发展,是现代科技发展的主流方向。

随着节能环保等渐渐成为主流,智能控制系统也开始朝着低能耗,低污染,高可靠性等方向发展。

在控制系统中通信的方式一般分为两种,即有线通信和无线通信。

显然无线通信在系统应用的过程中不仅可以减小布线部分的支出,而且控制也更加的灵活,但是对于长距离的通信来说,无线通信意味着投入到通信信道建设中的费用将会增加。

而利用现有通信线路进行远程控制的方案也越来越受到人们的重视。

现在随着时分复用技术的发展,一线多用越来越受到重视。

而基于固定电话网络而发展起来的通信应用也越来越广泛。

而本设计的模拟智能家居系统即是通过固定电话线路进行远程控制的。

本设计以固定电话网络为依托,一个级交换网络为基础的远程控制系统。

本系统通过模拟两部功能具有一定不同的固定电话机,使用与固定电话交换网络相同的DTMF信令,利用电话网络的双绞线作为通信线路,进行远程控制。

该模拟智能家居系统可以实现温度智能检测、时钟功能、闹钟设置、温度报警、智能显示、键盘拨号、远程控制等功能。

并且还具有可靠性高,通信距离不受限制,不需要额外布线,不占用无线频率资源,避免了电磁污染。

同时,由于电话线路各地联网,可以充分利用现有的电话网,因此遥控距离可跨越省市,甚至跨越国家。

本模拟系统适用于家庭、企事业单位、工业现场、商店等场所,用手机或固定电话,实现对电器设备的控制和运行状态查询。

而且本系统的设计思路和设计理念也是现在很多远程控制系统例如:

城市应急安全指挥系统,110报警指挥系统,智能调度系统等设计的底层通信的基础。

2系统的总体方案

系统可以智能地显示当前时间和家中的实时温度情况,并且具有时间调整和闹钟设置等功能,还能够时刻监视家中温度情况,如果温度异常会启动报警单元并通过串口将报警信息传送给模拟分机,模拟分机接收到报警信号以后,进入拨号程序,并且通过液晶显示器显示家中情况。

模拟主机接听后模拟分机启动语音系统,通知主机家中情况,请求马上处理。

若主人不在家中,可以利用模拟远端部分通过键盘输入家中的电话号码,号码通过数模转换转化成DTMF信号,模拟分机接收到该DTMF信号后开始振铃,并进行振铃计数,若在一定时间内没有人接听电话则自动摘机,并启动语音模块,进行语音提示,用户只需根据语音提示部分进行操作控制相应的电器即可。

2.1系统框图

系统分为三个子系统:

模拟远端模块(模拟主机)、本地模拟分机、智能显示模块。

2.1.1模拟远端模块框图

模拟远端控制模块是由六部分组成:

双音多频模块、振铃模块、控制模块、键盘模块、外部接口模块、按键音单元。

双音多频部分主要作用是接收本地控制单元发送过来的双音多频信号,并将双音多频信号转换为二进制数据,转化完成之后,产生中断信号,单片机STC89C52RC外部中断1(INT1)接收到中断信号后,开始从双音多频信号收发单元中读取刚刚转化好的双音多频信号。

系统接收到键盘数据后,在控制时通过双音多频芯片转换成双音多频信号后进行传输。

当收到振铃后,振铃部分开始发送振铃音。

按键盘的时候有键盘音。

其模块图如图2-1所示。

图2-1模拟远端模块框图

2.1.2本地模拟分机框图

该部分有七个部分组成:

双音多频模块、振铃模块、控制模快、受控单元、外围借口、语音单元、显示单元组成。

该部分主控单元通过双音多频信号接收单元接受到本地模拟终端发送过来的双音多频信号,然后主控单元将接受到的双音多频信号以串口通信的方式发送给显示单元进行显示,并且智能显示单元能够根据系统当前所出的状态进行不同的显示。

受控单元主要是模拟受远程控制的家用电器。

语音电路主要功能是提示用户在进行远程控制的时候的操作方法。

振铃单元在接受到振铃信号之后振铃单元开始进行振铃,即通过蜂鸣器播放预先设置好的音乐,进行提醒。

当按下接听键后振铃自然停止。

其电路框图如图图2-2所示。

2.1.3智能显示和温度控制单元框图

智能显示部分主要有六部分组成:

显示单元、按键调整单元、时钟单元、温度单元、报警单元、外围接口单路组成。

显示单元主要是利用点阵液晶点阵显示单元FG12864E进行显示,控制单元将要显示的数据通过并口写入到液晶FG12864E中,FG12864E会根据主控单元的数据进行相应的显示。

按键调整单元通过四个按键进行时间的调整,闹钟的设置等功能,按键部分功能通过扫描实现的。

时钟单元主要通过DS1302进行计时的,主控单元通过三条线进行访问。

将读取的时间数据显示到显示单元上。

温度模块通过DS18B20测试环境温度,温度超标时报警。

其电路的整体框图如图2-3所示。

图2-2本地模拟终端电路框图

图2-3智能显示部分电路框图

2.1.4系统的总体框图

系统的总体设计是由智能显示部分、本地模拟分机、远端模拟分机组成的。

远端模拟分机相当于一部电话,拨号后可以通过键盘,利用双音多频信号进行远程控制家中的各种电器设备。

本地模拟主机可以在接受到报警信号之后,自动的拨打远端电话,等待远端接听之后进行语音报警提示,也可以自动或者手动的接听远端拨打过来的电话,然后通过语音提示提示远端进行相应是操作,控制家中的各类电器。

本地模拟主机和远端模拟分机之间的通信完全仿照电话之间通信的模式和通信信令的形式进行通信的。

都具有振铃检测,忙音检测,DTMF信令等功能。

其硬件框图如图2-4所示。

图2-4系统总体框图

2.2系统的组成

2.2.1智能控制核心STC89C52RC

STC89C52RC是一种低功耗、高性能CMOS8位微控制器,具有8KB在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52RC为众多嵌入式控制应用系统提供高灵活、有效的解决方案。

STC89C52RC具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,STC89C52RC可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

图2-5STC89C52RC引脚结构图

2.2.2单元控制核心STC89C2052

图2-6STC89C2052引脚结构图

STC89C2052是宏晶公司生产的低电压、高性能CMOS8位单片机,片内含2KB的可反复擦写的只读程序存储器(PEROM)和128B的随机数据存储器(RAM),器件采用高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大STC89C2052单片机可为您提供许多高性价比的应用场合。

并且程序保密,STC89C2052设计有2个程序保密位,保密位1被编程之后,程序存储器不能再被编程除非做一次擦除,保密位2被编程之后,程序不能被读出。

2.2.3DTMF收发模块MT8880/MT8888

图2-7MT8888引脚结构图

MT8888是采用CMOS工艺生产的DTMF信号收发一体集成电路,它的发送部分采用信号失真小、频率稳定性高的开关电容式D/A变换器,可发出16种双音多频DTMF信号。

接收部分用于完成DTMF信号的接收、分离和译码,并以4位并行二进制码的方式输出。

MT8888芯片集成度高、功耗低,可调整双音频模式的占空比,能自动抑制拨号音和调整信号增益,还带有标准的数据总线,可与TTL电平兼容,并可方便地进行编程控制。

MT8888内部由收发电路、振荡器和电源偏置电路组成。

收码电路包括信号放大、拨号音抑制滤波、输入信号的高低频带通滤波、译码及锁存等功能;发码电路包括数据锁存、行列计数D/A转换和混频等功能。

MT8888内部有两个数据寄存器,一个是只执行读操作的接收数据寄存器RDR;另一个是只执行写操作的发送数据寄存器TDR。

另外,MT8888中还有两个4位的收、发控制寄存器CRA和CRB。

对CRB的操作就是通过CRA中的一个特定位来操作的,因此编程中应对其进行初始化;而MT8888中的4位状态寄存器SR则用来反映收、发信号的工作状态。

寄存器的选择与操作由RS0及WR和RD口线来控制。

MT8888是一款双音频的语音拨号芯片。

它通用二个音频信号形成一位的数据信号发出去,一组为低频的、一是高频的信号。

接收的对方把二个音频信号分别接收下来一查表就知道收到的是哪个数据了。

表2-1所示为双音多频信号频率组合表。

表2-1双音多频频率组合表

2.2.4语音芯片APR9600

台湾公司最新推出的APR9600语音录放芯片,是继美国ISD公司以后采用模拟存储技术的又一款音质好、噪音低、不怕断电、可反复录放的新型语音电路,单片电路可录放32~60秒,串行控制时可分256段以上,并行控制时最大可分8段。

与ISD同类芯片相比它具有:

价格便宜,有多种手动控制方式,分段管理方便、多段控制时电路简单、采样速度及录放音时间可调、每个单键均有开始停止循环多种功能等特点。

在APR9600芯片的内部,录音时外部音频信号可以通过话筒输入和线路输入方式进入,话筒可采用普通的驻极体话筒,在芯片内话筒放大器(Pre-Amp)中自带自动增益调节(AGC),可由外接阻容件设定响应速度和增益范围。

由于FLASHRAM是非易失器件,断电等因素不会使存储的语音丢失。

放音时芯片内读逻辑电路从FLASHRAM中取出信号,经过一个低通滤波器送到功率放大器中,然后直接推动外部的喇叭放音。

APR9600有多种控制模式,总的来说分为串行控制和并行控制两种,由芯片MSEL1(24脚)、MSEL2(25脚)、/M8(9脚)的设置来实现。

详见表2-2所示。

图2-8APR9600引脚结构图

2.2.5温度传感器DS18B20

DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。

因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。

表2-2APR9600控制表

APR9600操作模式表

MSEL1(24脚)

MSEL2(25脚)

/M8(9脚)

/CE多为停止、复位键

功能(以60秒计)

0

1

0/1

/M1、/M2、CE

并行控制,分二段,每段最大30秒

1

0

0/1

/M1、/M2、/M3、/M4、CE

并行控制,分四段,每段最大15秒

1

1

1

/M1~/M8、CE

并行控制,分八段,每段最大7.5秒

1

1

0

CE

单段7.5秒循环。

CE为启动/停止键

0

0

1

/M1、CE

串行顺序控制,可分一至任意多段

0

0

0

/M1、/M2、CE

串行选段控制,/M2系选段快进键。

M8=0时只能录两段。

注1、RE=0(置低电平)为录音状态;RE=1(置高电平)为放音状态。

注2、注2、/M1~/M8键在有效段控放音时,按一下键即开始放音一段,放音期间再按一下即停止;如按键不放即循环放音

注3、/M1~/M8键在有效段控录音时,按住不放为录音,松键即停止。

DS18B20数字温度计以9位数字量的形式反映器件的温度值。

DS18B20通过一个单线接口发送或接收信息,因此在中央微处理器和DS18B20之间仅需一条连接线(加上地线)。

用于读写和温度转换的电源可以从数据线本身获得,无需外部电源。

因为每个DS18B20都有一个独特的片序列号,所以多只DS18B20可以同时连在一根单线总线上,这样就可以把温度传感器放在许多不同的地方。

这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。

图2-9DS18B20引脚结构图

放置温度敏感器件DSl8B20的测量范围从-55到+125增量值为0.5可在ls(典型值)内把温度变换成数字。

每一个DSl8B20包括一个唯一的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都可以设置成两种供电方式,即数据总线供电方式和外部供电方式,采取数据总线供电方式可以节省一根导线但完成温度测量的时间较长,采取外部供电方式则多用一根导线但测量速度较快。

2.2.6实时时钟芯片DS1302

图2-10DS1302引脚结构图

DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。

DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。

DS1302的引脚排列,其中VCC1为后备电源,VCC2为主电源。

在主电源关闭的情况下,也能保持时钟的连续运行。

DS1302由VCC1或VCC2两者中的较大者供电。

当VCC2大于VCC1+0.2V时,VCC2给DS1302供电。

当VCC2小于VCC1时,DS1302由VCC1供电。

X1和X2是振荡源,外接32.768kHz晶振。

RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。

RST输入有两种功能:

首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。

当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。

如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。

上电运行时,在VCC≥2.5V之前,RST必须保持低电平。

只有在SCLK为低电平时,才能将RST置为高电平。

I/O为串行数据输入输出端(双向)。

SCLK为时钟输入端。

2.2.7液晶显示器FG12864E4和LCD1602

(1)汉字点阵液晶显示器FG12864E

FG12864E是一款不带汉字字库的液晶点阵显示器,通过汉字取模软件提取汉字的点阵字模,然后利用显示器的串口将数据写入到显示器进行显示的。

该显示器因为没有带汉字库,所以成本比较低,利用单片机自带的程序存储空间存储汉字字模,需要的时候调用显示即可。

该液晶显示器具有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的操作时序。

它内部具有液晶显示屏,控制器,列驱动器,和偏压产生电路构成。

控制器主要有指令寄存器,数据寄存器,标志位,地址计数器,时序发生电路组成。

通过MCU分别向相应的寄存器写入控制命令设置各个控制寄存器。

通过MCU的并口将数据写入在控制信号EN端高电平和下降沿的作用下模块通过区分控制信号RS和R\W的组合形式来区分数据总线上传送的是数据还是指令,数据总显示LCD1602和外界MCU之间进行信息或者是数据交换的通道。

3硬件设计

3.1远端模块设计

该模块主要功能是拨打模拟分机的号码,利用双音多频信号进行远程控制。

通过STC89C2052扩展的矩阵键盘进行拨号,利用串口通信,将拨号数据传送给STC89C52RC,利用STC89C52RC控制液晶显示器进行拨号显示以及各个过程的显示。

STC89C52RC接收到拨号数据后暂时存入号码暂存单元,当按下拨号键的时候STC89C52RC控制MT8888进行拨号,并产生拨号音和振铃信号通知模拟分机。

进入到控制模式之后,STC89C52RC接收到的键盘输入数据会利用MT8888转变成双音多频信号控制模拟分机执行相应的控制。

该部分还能够接收本地模拟终端的振铃信号,当接收到振铃信号后,开始振铃,当主人按下接听键的时候,振铃停止,电路接通,开始通话,能够接收本地终端的报警语音提示。

其电路图如图3-1所示。

图3-1键盘输入与显示部分电路

3.2本地模拟分机部分的设计

该模块的主要功能是接收远端控制的控制信号,并执行相应的控制动作,预警后通知远端模块,并有相应的语音提示。

3.2.1本地模拟分机

通过STC89C52RC和STC89C2052共同控制外围电路。

STC89C52RC主要管理MT8888收发双音多频信号,对受控单元的控制,对语音提示电路的控制等部分。

STC89C2052主要完成系统的显示功能,要显示的数据由STC89C52RC通过串口进行发送。

如图3-2所示。

图3-2DTMF发送与接收部分电路

3.2.2本地模拟分机的MT8888接收部分

该部分主要是将主控部分通过并口发过来的数据转换成双音多频信号然后由双音多频信号输出端发送出去,或者MT8888接收到远端发送过来的双音多频信号后经过一系列的转换以二进制的形式输出给单片机。

其电路图如图3-3所示。

图3-3DTMF发送与接收部分电路

3.2.3本地模拟分机的语音电路

单片机通过控制译码器74LS138进而控制语音芯片要播放语音的内容,通过控制74LS138的时能端来控制语音播放的启停。

其电路图如图3-4所示。

该部分通过单片机的数据总线口向74LS138输出控制代码,经过74LS138译码后,将选中语音芯片的某一段,被选中的那段语音就会通过LM324放大以后用扬声器输出,将74LS138的E1、E2脚同时置为高电平,禁止其工作,这时他的输出为高电平,此时语音芯片APR9600停止工作,处于静止状态,放音停止。

3.3智能显示和温度部分的电路设计

该部分主要功能是监控所处环境的温度,当温度超过限定值的时候产生报警信号,并且具有时钟显示,时钟调整,定时闹钟等功能电路图如图3-5所示。

图3-4语音部分电路

图3-5智能显示部分电路图

电路图中利用DS18B20进行温度控制,它具有单总线是结构,接收到的温度数据经过内部转换以后,以二进制的形式存入相应的寄存器,单片机通过该单总线读取到温度数据后进行显示。

因为DS18B20有一个唯一的片序列号,所以多个DS18B20可以同时并接在一根单线上,这样可以把温度传感器放在许多不同的地方。

所以可以利用DS18B20的该特性在同一总线上拓展多个温度测量单元,进行多点温度采集。

电路中利用DS1302进行时钟计数。

它以串口的形式输出当前的时钟数据。

它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

4软件设计

4.1软件说明

该模拟系统的软件可分为三部分组成:

温度控制时钟显示及时间调整部分,远端模拟终端机部分,本地模拟终端机部分。

温度控制时钟显示及时间调整部分可以分为:

时钟模块,温度模块,按键调整模块,操作菜单模块及显示模块组成。

时钟模块主要用于DS1302的底层驱动程序,完成时钟数据从DS1302读出并转换为二进制数据用于显示和其他部分调用。

温度模块主要功能是完成温度传感器DS18B20的底层驱动和温度转化并将转化好的温度数据转化成带有一位小数的二进制数据用于显示和其他控制。

按键调整模块主要用于时间的调整和闹钟的设置,他是通过利用程序不停的扫描键盘实现的。

显示模块主要是液晶显示器FG12864E的底层驱动部分主要用于驱动液晶显示器用于显示操作过程和当前的状态。

操作菜单模块是一个顶层模块,用它来控制系统进入不同的操作状态,主要分为调整状态,显示状态等。

远端模拟端机部分的软件设计分为双音多频信号收发部分,液晶显示部分,按键键盘部分,振铃部分,串口通信部分组成。

其中双音多频信号收发部分主要完成的MT8888底层驱动以及DTMF信号的接收与发送控制;液晶显示部分,主要功能是完成液晶显示器的底层驱动,并显示控制过程的各个状态;按键部分程序设计主要是用于人机交流输入的接收控制,主要完成人机接口功能;振铃部分程序完成振铃音乐的产生和播放;串口部分是该模块的通信通道,主要完成主控部分和被控部分之间的控制信息和数据的交流。

本地模拟终端部分的软件设计主要分为双音多频信号收发部分,液晶显示部分,语音模块控制部分,振铃部分,串口通信部分等组成。

其中双音多频信号收发部分,液晶显示部分,振铃显示部分,串口通信

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

当前位置:首页 > 初中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1