基于单片机的电话自动拨号警报器.docx

上传人:b****6 文档编号:4778260 上传时间:2022-12-08 格式:DOCX 页数:18 大小:264.16KB
下载 相关 举报
基于单片机的电话自动拨号警报器.docx_第1页
第1页 / 共18页
基于单片机的电话自动拨号警报器.docx_第2页
第2页 / 共18页
基于单片机的电话自动拨号警报器.docx_第3页
第3页 / 共18页
基于单片机的电话自动拨号警报器.docx_第4页
第4页 / 共18页
基于单片机的电话自动拨号警报器.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

基于单片机的电话自动拨号警报器.docx

《基于单片机的电话自动拨号警报器.docx》由会员分享,可在线阅读,更多相关《基于单片机的电话自动拨号警报器.docx(18页珍藏版)》请在冰豆网上搜索。

基于单片机的电话自动拨号警报器.docx

基于单片机的电话自动拨号警报器

 

毕业论文(设计)

 

届专业班级

 

题目基于单片机的自动拨号报警器的设计

 

二О年月日

容摘要

随着社会的发展,人们的活动、居住区域越来越大,安全问题越显重要。

简洁、经济型报警器成为家庭所需。

本设计就是以AT89C51单片机作为自动拨号报警器的控制核心。

首先,通过报警检测电路中二氧化碳传感器检测空气中的二氧化碳浓度来确定是否发生火灾,若二氧化碳浓度超过预先设定的浓度基准值就产生一个报警信号,单片机检测到该报警信号后,立即控制摘机电路摘机并从E2PROM存储器CAT24C021中取出预先存储的,再通过双音多频发送电路编码产生双音频信号,完成自动拨号功能。

本系统采用HD7279控制键盘与数码管显示,完成的输入和显示功能,还采用了双音多频收发芯片MT8880来进行编码产生双音频信号,再通过音频放大器LM386来完成双音频信号的功率和幅度的放大

本设计涉与到了单片机开发、程序设计、传感器设计与应用、现代通信技术、自动控制技术等等,并将它们有机地结合在一起。

这对于交叉学科的研究将起到很大的作用。

关键:

AT89C51自动拨号报警DTMF

Abstract

Alongwiththedevelopmentofthesociety,people'sactivityandthedistrictforlivingbecamemoreandmorebig,sotheproblemofsafealsobecamemoreandmoreimportant.Thealarmdevicewhichissimpleandeconomicbecameneededforthefamily.

Inthisdesign,AT89C51microprocesserisadoptedasthecontrolunit,thesmokesensorisusedtotellwhetherfirehappensaccordingtothedetectedsmokedensity.ifthisdensityextendtheonewhichissetinadvance,theproductwillproduceaalarmsignal.whenthealarmsignalissenttothemicroprocesser,themicroprocesserwillcontrolthecircuittotakeoffthetelephone,andaccessthetelephonenumberwhichismemoriedintheCAT24C021inadvance.,thencontrolthecircuitofDTMFtodialthetelephonenumber.thus,thefunctionofauto-dialisthenfinishend.

ThisalarmdeviceconcludesachipofHD7279forenteringangdisplayingthetelephonenumber,andachipofMT8880whichisadopedasdiallingandreceivingthesignalofDTMF,thenviatheaudiopoweramplifierforenlargingthesignalpower.

AspreadfieldofscienceandtechnologysuchasSCMexploitation,programming,thedesignandapplyofsensors,moderncommunicatetechnologyandcontroltechnologyareinvolvedinthisresearch,angarecombinedtogetherorganically.Thiswillriseveryimportantfunctionforthestudyofcross.

Keyword:

AT89C51Auto-DialAlarmDTMF

 

基于单片机的自动拨号报警器的设计

学号:

指导教师:

第1章前言

改革开放以来,在城市大发展的过程中,大量外地人口涌入城市,给社会治安带来很大压力。

工厂、机关和居家失盗、失火、抢劫事件时有发生;个别地方尤为严重,损失惊人。

由此引起社会各界人士的普遍关注,有些部门和居民小区开始派人白天夜间巡逻,并纷纷购置防护铁门、铁栏杆等被动防措施,将主人装在铁笼子中以求安全。

一旦发生警情(如火警或煤气泄露),才发现铁笼子将消防人员挡在事故现场之外,难以与时加以救助,实为弊端。

为此,政府部门提倡采用高科技手段实现技术防措施,在社会治安的现实需求和政府部门的推动下,市场上国产和进口的防火报警器应运而生。

本次设计经过分析、对比了国外的多种防火报警器的部结构和功能,结合国使用条件,设计了适合国情的自动拨号报警器。

本文首先介绍了机的概述和通话原理以与智能化报警器原理,在第三章中详细介绍了智能自动报警器的硬件单元电路设计,在第四章中简单介绍了智能化报警器的软件设计以与在第四章中介绍了对系统软硬件的调试等。

第2章自动拨号报警器的总体设计

2.1自动拨号报警器的硬件设计方案

本次设计为基于单片机的自动拨号报警安全监控系统,由AT89C51构成核心控制系统,并与报警电路,双音多频收发电路等共同组成,能完成自动拨号报警等功能。

系统可分为五个模块:

单片机控制模块,报警信号输入模块,存储模块,摘挂机控制模块与DTMF收发模块。

系统硬件框图见图2.1,本系统是利用网来传输数字和语音信息的,系统工作时,报警检测电路中二氧化碳传感器输出电压会随着空气中二氧化碳气体的浓度变化而变化,当发生火灾时,二氧化碳气体浓度会变高,传感器输出电压也随之变高,导致其输出电压高于预先设定的比较器反向输入端的基准值而产生报警信息,检测电路就把警情信息转换为电平信号传送到单片机,单片机检测到警情信号后,立即控制摘机电路摘机并控制双音多频发送电路拨打预先存在E2PROM存储器CAT24C021中的,实现自动循环拨号报警功能。

图2.1基于单片机的自动拨号报警器的系统硬件框图

2.2自动拨号的主电路图

自动拨号的主电路图如图2.2所示

图2.2主电路图

第3章各功能模块设计

3.1单片机的选择与其周边电路分析

(1)单片机的选择

虽然用逻辑电路也可以接收信号并判断报警,并完成自动拨号等功能,但电路复杂,组合起来比较困难,稳定性差,利用单片微型机可以简化设计,便于操作。

智能化仪器仪表中单片机的选择原则为:

1、字长与速度

2、单片机的功能与部资源

3、开发工具和技术支持状况

4、性能价格比

考虑到以上的几点要求,故选择了AT89C51型单片机。

其具有8位的CPU,4KBROM程序存储器,128BRAM数据存储器,32根输入输出口线,2个16位的定时器,5个中断源,2个中断优先级,64KB的程序存储器空间,这款单片机可以完成所设计的系统的要求。

单片机引脚图见图3.1

图3.1AT89C51单片机引脚图

3.2模拟摘挂机电路模块

设计主要思路:

根据国家有关标准规定:

不论任何机,摘机状态的直流电阻应≤300Ω,有“R”键的电子机的摘机状态直流电阻应≤350Ω。

在挂机状态下,其漏电流≤5μA。

    当用户摘机时,机通过叉簧接上约300Ω的负载,使整个线回路流过约30mA的电流。

交换机检测到该电流后便停止铃流发送,并将线路电压变为十几伏的直流,完成接续。

电路图如图3.2所示,该方案是在方案一的基础上加了一个光耦隔离电路。

该电路的工作原理是:

当微处理器的P1.5口为高电平时,光耦不导通,发光二极管D8不亮,三极管Q3截止,继电器不闭合。

当微处理器的P1.5口为低电平时,由于R11、R12和光耦部的LED形成了回路,光耦部的发光二极管被点亮,发光二极管发出的光照射到光敏三极管上,光线起到基极电流的作用,激发产生集电极电流,光敏三极管导通,发光二极管D8被点亮,从而三管Q3基极有个较大的电压,使三极管导通并达到饱和,继电器闭合。

图3.2模拟摘挂机电路图

3.3显示、键盘模块

此模块是用来显示报警的。

键盘显示电路选用HD7279,HD7279是一片具有串行接口的可同时驱动8位共阴式数码管,(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示键盘接口的全部功能。

HD7279部含有译码器可直接接受BCD码或16进制码并同时具有2种译码方式,此外还具有多种控制指令如消隐,闪烁,左移,右移,段寻址等。

HD7279具有片选信号可方便地实现多于8位的显示或多于64键的键盘接口。

HD7279和微处理器之间采用串行接口,其接口电路和外围电路简单,占用I/O口线少,达到了简化硬件电路的目的。

3.4DTMF收发模块

本次设计考虑到简化设计、降低成本、减少体积等因素,所以没有采用独立的DTMF接收器和发生器,而选择了MITEL公司生产的DTMF收发器MT8880芯片作为收发双音多频信号的解码核心。

MT8880就是一个带有呼叫处理滤波器(callprogressfilter)的单片DTMF收发器。

它的主要特点是:

集成度高;数据传送稳定,抗干扰强;具有多种工作模式,可编程控制,容易与微机接口等。

其引脚图如图3.3所示

图3.38880芯片管脚图

主要管脚功能简介

VSS,VCC为电源接入端,一般采用+5V供电;D0、D1、D2、D3为数据总线端,当=1时,D0、D1、D2、D3呈高阻态;OSC1、OSC0为3.5795MHz的晶振接入端,若外加时钟从OSC1经电容耦合输入时,OSC0端开路;IN+,IN-为芯片部运放同相,反相输入端;GS为增益选择端,此脚与IN-之间接一个反馈电阻可调节运放的增益;VREF为基准电压输出端;TONEOUT为双音多频或行/列单频输出端;R/为读/写控制端,与TTL兼容,高电平时,控制片的数据读入微处理器;为片选信号端,当为TTL低电平时,该芯片被选通;RSI为芯片部寄存器控制端;CP为系统时钟输入端;/CALL为中断请求或信号音检测输出端;Est为初始控制输出端,当检测出一种有效的单音对时,则Est为高电平;St/GT为控制输入/时间监测输入端.

MT8880发送DTMF信号时,被发送的信号从数据总线D1~D3经数据总线缓冲器送到发送数据寄存器,控制可编程行,列计数器,经D/A变换器合成DTMF信号。

在音频突发开门控制和控制逻辑作用下,从8脚(TONE)发送出去。

MT8880芯片部的控制寄存器、数据寄存器和状态寄存器中的数据写入和读出由RSI与R/信号控制,具体容如表3.1所示。

控制寄存器CRA,CRB与状态寄存器SR各比特位b0~b3的名称如表3.2所示

RSI

R/W

功能

0

0

数据写入发送数据寄存器(TDR)

0

1

数据从接收数据寄存器(RDR)中读出

1

0

数据写入控制寄存器(CRA,CRB)

1

1

数据从状态寄存器(SR)中读出

表3.1部寄存器数据的写入与读出控制

寄存器

B0

B1

B2

B3

CRA

TOUT

MC

IRQ

RS

CRB

BURST

TEST

S/D

C/R

SR

中断允许

突发模式下TDR空

RDR满

延时控制

表3.2部寄存器个比特位的名称

CRA中:

TOUT:

允许TONE输出,高电平有效

MC:

模式控制,B1=0,DTMF模式;B1=1,单频模式

IRQ:

中断允许,B2=1,中断有效;B2=0,中断无效。

RS:

寄存器选择,B3=1,下一个写周期选择写CRB,一次性选择完成。

CBR中:

BURST:

突发选择。

B0=0,选择MT8880工作于突发模式。

在这种模式下,将TDR中的数据以其对应的DTMF信号发送出去,持续时间为51ms。

B0=1,选择发送连续的DTMF信号。

TEST:

B1为高电平时,选择测试模式。

S/D:

产生单/双音。

B2为低电平时,产生DTMF信号;B2为高电平时,产生行/列单音信号。

C/R:

行/列单音产生,当B2=1,B3=1时,选择列对应的单音频;当B2=1,B3=0时,选择行对应的单音频。

SR:

B0:

中断允许位。

当B0=1时,中断发生,B1,B2被设定。

B0=0,中断禁止,读出数据后清零。

B1:

突发模式下,TDR是否空的标志。

当B1=1时,突发模式下的暂停时间完,TDR空;准备发送新的数据,当B1=0时,表示SR读完数据后或非突发模式下清零。

B2:

RDR满的标志。

B2=1,表示RDR中已有有效数据;B2=0,表示SR读完数据后清零。

B3:

延时控制。

B3=1,表示不能对DTMF信号进行有效检测;B3=0,有效的DTMF信号检测功能已清零(复位)。

本设计选择工作模式为DTMF模式,选用突发方式发送,那么控制寄存器CRA中的4比特位应该是1001(B),B3=1,表示下一周期是写CRB控制寄存器;B2=0,表示中断不允许;B1=0,表示选择DTMF模式;B0=1,表示允许8脚有DTMF信号输出。

控制寄存器CRB的4比特位应该是0000(B),其B0=0,表示选择电路工作于突发模式;B1=0,表示工作于非试验模式;B2=0,表示选择只产生DTMF信号,而不产生行/列单音信号;B3=0或B3=1均可,由于MT8880产生的DTMF波功率很小和从线来的DTMF波的幅值也很小,所以在MT8880的发射端加了一级运放LM386进行功率和幅值的放大,再经耦合线圈送到线上。

电路原理图如下图3.4与3.5所示。

图3.4MT8880接口电路

图3.5DTMF信号放大电路图

MT8880从TONE端输出双音频信号,它的输出电阻最小为10KΩ,电容C11可清除高频干扰,在没接放大器的情况下,此端输出的双音频信号的峰峰值为2.4V左右。

这一信号不能直接加到耦合线圈两端,因为耦合线圈阻值较小,分压后加在耦合线圈两端的电压值很小,并且功率也很小,传送到线上的信号特别微弱,程控交换机根本无法识别,造成发送DTMF信号失败,考虑到放大器输入电阻很大,利用放大器可以使MT8880发出的双音频信号正常输出。

经调试,最后选取放大器为LM386,改变电位器R18可改变放大倍数,为了使放大倍数调为0.5倍,可通过调节R18=5KΩ来达到,这样在放大器的输出端可获得峰峰值为1V左右的双音频信号,其中C9,C10选用10µF,C8选用220µF。

3.5存储模块

本设计采用E2PROM存储芯片CAT24C021,CAT24C021是集E2PROM存储器,复位微控制器和看门狗定时器三种流行功能与一体的I2C串行CMOSE2PROM器件。

电路图如图3.6所示。

图3.6存储电路图

CAT24C021的看门狗定时器为微控制器提供一个独立的保护。

当系统出现故障时,1.6秒后看门狗定时溢出,CAT24C021将会产生一个复位信号。

通过SDA脚对看门狗进行操作。

如果CPU1.6秒没有触发SDA,看门狗计数器溢出,给CPU一个复位信号。

SDA管脚上电平任何跳变都会清零看门狗定时器。

一旦产生复位信号,看门狗定时器不再计时并保持清零状态。

预置报警时,借助7279键盘把送入单片机,单片机可判断出是键盘上的哪个键被按下,将此数据由单片机读入,供CAT24C021写入。

需要读取报警的时,由单片机读出CAT24C021的存储,送MT8880,输出对应的DTMF信号,送到线上。

3.6报警信号输入

根据设计要求该部分采用了二氧化碳传感器GE-E和比较器LM393为核心的烟雾报警器,该二氧化碳传感器稳定性好、对二氧化碳灵敏度高,检测围为100-10000PPM。

传感器结构与典型连接电路分别如图3.7和3.8:

图3.7传感器结构

图3.8传感器典型连接电路图

Vh电源对传感器加热丝进行加热,当气体浓度变化时,1端与4端的电阻会产生变化,经分压原理可知输出电压VL的大小与电阻R成正比,与气体浓度成正比。

二氧化碳传感器GS-E的技术指标如下表3.3所示:

参数名称

加热电压

测量电压

洁净空气中的电阻

响应时间

恢复时间

灵敏度

符号

Vb

Vc

R0

tres

trec

β

单位

V

V

千欧

参数值

5

5-10

分档

<10

<40

>5

表3.3二氧化碳传感器GS-E的技术指标

输出电压决定因素有三个:

1.系统所加的电源电压。

2.图中电阻R的大小。

3.空气中二氧化碳气体的浓度。

本次设计中采用的电路图如图3.9所示,电源电压选用+5V,在正常情况下,空气中的二氧化碳的浓度是不变的,可以通过调节分压电位器R29的大小来改变传感器正常情况的输出电压,在本设计中,将正常情况下的输出电压调成了1.0V。

图3.9二氧化碳传感器电路

第4章自动拨号报警器的软件设计

4.1系统软件设计

本系统的软件设计主要分为以下部分:

主程序,输入部分,存储到E2PROM24C021部分,与从24C021读出部分,拨号部分,在设计中主要注意的问题是各部分之间的衔接以与是否冲突等,由于本次设计P口不够用所以7279的KEY端改接在外部中断INT0,采用中断方式读键值。

[单片机I/O口线与中断口分配]

●P1.0:

7279的CS端

●P1.1:

7279的CLK端

●P1.2:

7279的DATA端

●P1.3:

MT8880的RS0端

●P1.4:

报警信号输入端

●P1.5:

摘机控制端

●P1.6:

CAT24C021的SCL端

●P1.7:

CAT24C021的SDA端

●INT0:

7279的KEY端

4.2主程序的设计

主程序框图如图4.1所示:

 

程序初始化

有报警信号?

吗?

21H=1(拨号组拨号完毕?

有开始修改键按下吗?

有报警信号吗?

继续输入号码

是停止输入键吗?

号码存入24C021

从24C021读出号码存入内存单元

摘机

显示用户的号码并拨号,且延时等待对方应答

显示火警号码119并拨号,且延时等待对方应答

挂机

21H位置1

开始

Y

Y

Y

Y

Y

N

N

N

N

N

图4.1主程序框图

在执行完初始化程序后,首先判断有无报警信号,若没有报警信号(报警信号检测端P1.4为高),则判断用户是否按下修改键准备修改报警,若用户没有按下修改键则继续判断有无报警信号,若用户按下了修改键则需要用户继续输入报警时拨打的,以停止键判断是否输完,若没输完继续输,输完后存入E2PROM存储器CAT24C021中,若有报警信号(报警信号检测端P1.4为低),首先判断设置的标志位是否为1,若不为1,则单片机立刻控制P口,令P1.5为低,执行摘机后从CAT24C021中读取报警,并显示要拨打的,最后把发送到MT8880拨打报警。

程序初始化和主程序如下:

ORG2000H

CSBITP1.0;7279片选端

CLKBITP1.1;7279时钟输入端

DATBITP1.2;7279数据口

RSOBITP1.3;MT8880部寄存器控制端

TCBITP1.4;烟雾报警检测端

ZJBITP1.5;摘机端

SCLBITP1.6;24C021串行时钟端

SDABITP1.7;24C021数据/地址输入/输出端

HAOMADATA40H;输入后存单元存放首址

HAOMA1DATA30H;从24C021读出后存单元存放首址

EEPARSDATA3BH;24C021片存贮单元首址

NDATA50H;位数的存储单元

LJMPMAIN

ORG2003H

LJMPINT0_KEY

ORG200BH

LJMPT0_DINGSHI

;********************

;主程序

;********************

ORG2100H

MAIN:

MOVSP,#67H

MOVP1,#00110000B;P1口初始化

LCALLDEL25ms

MOVA,#0A4H;复位7279

LCALLFS;调用7279发送一字节子程序

SETBCS;撤消7279的选中

MOVR2,#0CH;开始时显示P

LCALLDTR;调用7279显示子程序

MOVTMOD,#01H;设置为16位定时器0

MOVTH0,#3CH;定时初值为100ms

MOVTL0,#0B0H

MOV52H,#00H;赋计数初值

SETBIT0;外部中断为边沿触发

MOVIE,#83H;中断允许

MOVIP,#02H;设定时中断为高级中断

SETBTR0;开定时器

MOV4CH,#01H;将119存储在EEPROM中

MOV4DH,#01H

MOV4EH,#09H

MOVEEPARS,#10H

MOVR0,#4CH

MOV22,03H

LCALLWRITE

LCALLDEL1s

MOVN,#00H

MOVR0,#HAOMA

MOVR7,#97H

SETB20H;建立标志

CLR21H

SETBTC

LCALLDEL1s;开始监控

BB:

JNBTC,ZJ1;检测有无报警信号

CJNER2,#0BH,ST0

LJMPST1

ST0:

LJMPBB

ST1:

JNB20H,BB;开始修改键已按下,循环等待输入

MOV22H,N;停止输入键已按下

MOVR0,#HAOMA

MOVEEPARS,#13H

LCALLWRITE;将输入的写入24C021中

MOVN,#00H;重新赋值,以便下一次的修改

MOVR0,#HAOMA

MOVR7,#97H

LJMPBB

ZJ1:

21H,ZJ2

MOVEEPARS,#1FH

MOVR1,#3FH

MOV23H,#01H

LCALLREAD;从24C021中读出输入的位数

LCALLDEL1s

MOVA,R1

MOVN,A

MOVR2,A

LCALLDTR;显示位数

LCALLDEL1s

MOV23H,N

MOVEEPARS,#13H

MOVR1,#HAOMA1

LCALLREAD;从24C021中读出输入的N位

LCALLDEL1s

CLRZJ;摘机

LCALLBOHAO;调用拨号子程序

LCALLDEL8s

MOV23H,#03H

MOVEEPARS,#10H

MOVR1,#3CH

LCALLREAD;从24C021中读出119

LCALLBOHAO1;调用拨号子程序

LCALLDEL8s

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

当前位置:首页 > 高中教育 > 高考

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

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