admin管理员组

文章数量:1531330

2024年7月2日发(作者:)

家庭电话自动拨号报警装置设计

摘 要

本次设计经过对比分析国内外多种报警器的内部结构和功能,设计了一种

以AT89C51 单片机作为核心的电话自动拨号报警器。通过二氧化碳传感器检测

空气中的二氧化碳浓度来确定是否发生火灾,通过热释电红外传感器来检测是

否发生了盗情,再有双音低频电路和DTMF模块进行自动拨号报警,从而达到防

火、防盗的目的。它可保存多组号码,可检查显示已存储的号码。从传感器得

到信号时(即有警情),可自动拨号,达到报警的目的。安装不同的传感器可组

成不同的报警功能,用于不同的场合。

关键词: AT89C51;自动拨号报警;DTMF模块;双音低频

The Home Phone Automatic Dialing Alarm

Device Design

ABSTRACT

This design through comparison and analysis at home and abroad a variet

y of internal structure and the function of alarm. We design a automatic teleph

one dialing alarm system with AT89C51 as the core. By carbon dioxide sensor

s to detect the concentration of carbon dioxide in the air to determine whether

there is a fire, It has dual frequency automatic dialing alarm and DTMF circ

uit modules, So as to achieve the purpose of fire prevention, guard against the

ft. Installation of different sensors of different alarm function for different occa

sions.

Keywords: AT89C51; Automatic dialing alarm;DTMF module; Dual frequency

独 创 性 声 明

本人郑重声明:所呈交的毕业设计是本人在指导老师指导下取得的研究成

果。除了文中特别加以注释和致谢的地方外,设计中不包含其他人已经发表的

研究成果。与本研究成果相关的所有人所做出的任何贡献均已在设计中作了明

确的说明并表示了谢意。

签名:__________________

________年______月_____日

授权声明

本人完全了解许昌学院有关保留、使用本科生毕业论文(设计)的规定,

即:有权保留并向国家有关部门或机构送交毕业论文(设计)的复印件和磁

盘,允许毕业论文(设计)被查阅和借阅。本人授权许昌学院可以将毕业论文

(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或

扫描等复制手段保存、汇编论文(设计)。

本人论文(设计)中有原创性数据需要保密的部分为(如没有,请填写

“无”):

学生签名:

年 月 日

指导教师签名:

年 月 日

目 录

前 言 .................................................... 1

1.电话自动拨号报警器的功能和总体设计 ..................... 1

1.1

电话自动拨号报警器的功能 .................................... 1

1.2

电话自动拨号报警器的硬件设计方案 ............................ 1

1.3

电话自动拨号的主电路图 ...................................... 2

2.各功能模块设计 ......................................... 4

2.1

单片机的介绍 ................................................ 4

2.2

摘挂机电路模块 .............................................. 7

2.3

显示和键盘模块 .............................................. 8

2.4

DTMF收发模块 ................................................ 8

2.5

电话号码存储模块 ........................................... 13

2.6

报警信号输入 ............................................... 13

3.报警器的软件设计 ...................................... 15

3.1

系统软件设计 ............................................... 15

3.2

主程序设计 ................................................. 16

4.仿真电路 .............................................. 17

4.1

系统原理 ................................................... 17

4.2

元器件选择 ................................................. 19

总 结 .................................................. 21

参考文献 ................................................ 22

附 录 .................................................. 23

致 谢 .................................................. 23

家庭电话自动拨号报警装置设计

前 言

改革开放以来,经济高速发展。在城市大发展的过程中,大量外地人口涌

入城市,给社会治安带来很大压力。工厂、机关和居家失盗、失火事件时有发

生,个别地方尤为严重,损失惊人。由此引起社会各界人士的普遍关注,有些部

门和小区开始派人白天夜间巡逻,并购置防护铁门、铁栏杆等被动防范措施。

在保护了人身财产安全的同时,增加了很多的安全隐患。而且,由于报警的不

及时,造成了很多不必要的损失。本文介绍的电路就能解决这个问题,该电路

接到电话机的电话线上使用,不需要人员的操准,能自动、及时的完成报警动

作。这样不仅减少了对于工作人员的需求,而且还可以提高出警的准确性、迅

速性,对于人身财产的安全起到很好的防护作用。

1. 电话自动拨号报警器的功能和总体设计

本次设计为基于单片机的电话自动拨号报警系统。系统分为五个模块:单

片机控制模块,报警信号输入模块,电话号码存储模块,摘挂机控制模块,

DTMF收发模块。

1.1 电话自动拨号报警器的功能

它的功能有电话号码的输入、存储、断电不会丢失。可以保存多组号码。

可以检查显示已存储的号码。从传感器得到信号时(即有警情),可以自动拨

号,达到报警的目的。安装不同的传感器可组成不同的报警功能,用于不同的

场合。利用传感器的报警信号作为单片机的中断信号,从而启动单片机进行自

动电话的拨号功能。

1.2 电话自动拨号报警器的硬件设计方案

系统硬件框图见图1-1所示,本系统是利用电话网来传输数字和语音信息

的,系统在工作时报警检测电路中二氧化碳传感器的输出电压会随着空气中二

氧化碳气体浓度的变化而变化,当发生火灾时,随着二氧化碳气体浓度升高,

传感器输出电压也会随之变高,当输出电压高于预先设定的比较器反向输入端

的基准值时就会产生报警信息,检测电路就把警情信息转换为电平信号传送到

1

单片机,单片机收到警情信号后,立即控制摘机电路摘机,同时控制双音多频

发送电路拨打预先存在E2PROM存储器CAT24C021中的电话号码,实现自动拨号

报警功能。当有人非法入室时,人体传感器通过红外探测采集盗窃信号输入,

系统将会自动摘机并检测电话是否处于可拨号状态。若是,则拨预存的电话号

码,若不是,则挂机并延时后重复上述过程。在拨号以后,系统会判断电话线

的状态是否为回铃音以及对方是否摘机,如果是,则播放录制好的语音报警内

容,否则,挂机以后延时重拨。

报警信号输入模

DTMF收发模块 电话线

电话存储模块

摘挂机控制模块

图1-1 基于单片机的电话自动拨号报警器的系统硬件

1.3 电话自动拨号的主电路图

执行完初始化程序后,首先判断有无报警信号,若没有报警信号,则判断

用户是否按下修改键修改报警电话号码,若用户没有按下修改键,则继续判断

有无报警信号,若用户按下了修改键则需要用户继续输入报警时所要拨打的电

话号码,以停止键来判断是否输完,若没输完则继续输,输完后则存入E2PROM

存储器CAT24C021中,若有报警信号,首先判断设置的标志位是否为1,若不

为1,则单片机立刻控制P口,令P1.5为低,执行摘机后,从CAT24C021中读

取报警电话号码,并显示要拨打的电话号码,最后把电话号码发送到MT8880拨

打报警电话号码。

2

图1-1 模拟摘挂机及DTMF信号放大部分电路图

图1-2 传感器的电话号码存储部分电路图

3

图1-3 MT8880接口电路部分电路图

2. 各功能模块设计

各系统模块的构成元件和功能如表2-1所示。

表2-1 系统模块的构成元件和功能

系统模块

单片机

主要构成元件

AT89C51

功能简介

通过程序对整个系统进行控制

接收从电话线上来的多音多频信号并将其

双间多频发送装

HA868(Ⅲ)P/TD型电话机转化为数字信号,然后送入单片机才将欲拨

及其内部拨号芯片W19930 电话号码转化为双间多频信号送上电话线,

实现拨号功能

SR9F26单片永久记忆型语存储语音,以使在报警时,将事先存入的送

出通知对方

完成电话线上的信号(如回铃音、拨号音、

语音装置

音芯片

信号检测装置

传感器

电话机单元

74LS14

忙音、无效号码音以及振铃信号的判断

P2288

HA868(Ⅲ)P/TD型电话机

产生报警信号

产生双音频拨号信号

2.1 单片机的介绍

AT89C51单片机引脚图如图2-1所示。

4

图2-1 AT89C51单片机引脚图

2.1.1 单片机AT89C51的主要特性

它可以与MCS-51兼容,具有4K字节可编程闪烁存储器。它的寿命为1000

写/擦循环,它的数据保留时间为10年,它全静态工作时频率为0Hz-24Hz,它

可以进行三级程序存储器锁定。它有128*8位内部RAM,32可编程I/O线, 5

个中断源和两个16位定时器/计数器。它同时具有低功耗的闲置和掉电模式,

片内振荡器和时钟电路,它也可编程串行通道

[1]

2.1.2 单片机AT89C51的管脚说明

GND接地。VCC接供电电压。P0口是一个8位漏级开路双向的I/O口。P0

口能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在

FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0口输出原码,

此时P0口外部必须被拉高。P1口是一个内部提供上拉电阻的8位双向I/O

口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为

高电平时,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是缘于

内部上拉。在FLASH编程和校验时,P1口作为第八位地址接收。P2口为一个内

部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当

P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输

入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口

当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地

5

址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数

据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程

和校验时接收高八位地址信号和控制信号。P3口管脚是8个带内部上拉电阻的

双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部

上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出

电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能

口,如表2-2所示,P3口同时为闪烁编程和编程校验接收一些控制信号

[2]

表2-2 P3口特殊功能口

口管脚

P3.0

P3.1

P3.2

P3.3

P3.4

P3.5

P3.6

P3.7

备选功能

RXD(串行输入口)

TXD(串行输出口)

INT0(外部中断0)

INT1(外部中断1)

T0(记时器0外部输入)

T1(记时器1外部输入)

WR(外部数据存储器写选通)

RD(外部数据存储器读选通)

RST为复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高

电平时间。ALE/PROG表示当访问外部存储器时,地址锁存允许的输出电平用于

锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平

时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因

此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是每当用作外部

数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上

置0。此时, ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外该引脚被

略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN外部程序

存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次PSEN有

效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。当EA保

持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程

序存储器。注意加密方式1时,EA将内部锁定为RESET,当EA端保持高电平

6

时,此间有内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程

电源VPP。XTAL1为反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2

是来自反向振荡器的输出

[3]

2.1.3 AT89C51芯片擦除

三个锁定位和整个PEROM阵列的电擦除可以通过正确的控制信号组合,并

且使ALE管脚处于低电平10ms来完成。在芯片擦除的操作中,代码阵列会全部

被写为“1”,并且在任何非空存储字节将被重复编程以前,该操作必须先被执

行。

此外AT89C51本身设有稳态逻辑,它可以在低到零频率的条件下静态逻

辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM、定

时器、计数器、串口和中断系统仍在工作。在掉电模式下,将保存RAM的内容

并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止

[4]

2.2 摘挂机电路模块

按照国家相关的标准规定:所有电话机,处于摘机状态的直流电阻都应不

大于300Ω。处于挂机状态时,其漏电流应不大于5uA。当处于用户摘机时,电

话机会通过叉簧接上大约300Ω的负载,使整个电话线回路中流过大约30mA的

电流。当交换机检测到这种电流后,便会停止铃流发送,并将线路中的电压变

成十几伏的直流,以完成接续

[5]

电路图如图2-2所示,其工作原理是:当微处理器的P1.5口是低电平时,

由于电阻R11、R12和光耦内部的LED形成了回路,光耦内部发光二极管将被点

亮,发光二极管点亮后照射到光敏三极管上,光线相当于基极电流的作用,从

而激发产生集电极电流,光敏三极管将导通,发光二极管D8被点亮,从而三极

管Q3基极有个较大的电压,三极管导通并达到饱和,继电器闭合。当微处理器

的P1.5口是高电平时,光耦不导通,发光二极管D8也不亮,三极管Q3截止,

继电器不会闭合。

7

图2-2 模拟摘挂机电路图

2.3 显示和键盘模块

该模块是用来显示报警电话号码的。键盘显示电路用HD7279芯片,HD7279

是一片具有串行接口可同时驱动8位共阴式数码管(或64只独立LED)的智能

显示驱动芯片,它同时可连接多达64键的键盘矩阵,单片就可以完成LED显示

键盘接口的全部功能。HD7279内部有译码器,可直接接受BCD码或16进制

码。并且具有2种译码方式,它还具有多种控制指令,比如闪烁、消隐、段寻

址、左移、右移等。HD7279芯片具有片选信号,可以方便地实现多于64键的

键盘接口和多于8位的显示。HD7279芯片和微处理器之间采用串行接口,其接

口电路和外围电路相对简单,占用I/O口线少,达到简化硬件电路的目的。

2.4 DTMF收发模块

DTMF信号的发生器和DTMF按键的号码盘相连,每掀一个号码键,电话机就

会发生两个相对应的音频信号组合,用它来控制交换机以连接到被叫用户。

DTMF按键盘可采用八中取二,或者七中取二的音频方式,8个频率可分为两组,

按频率的高低可分为高频群和低频群,每个群各有4个频率,每撤消键盘上一个

号码,高频群和低频群将各送一个频率进行组合,输出就成了双音多频信号,

这样共有16种组合,号码和频率的对应关系如表2-3所示。每个号码所对应的两

个频率互相不为整数比.其中高频群中频率1633HZ用做备用频率,就成了七中取

二的方式,此时就只有12个号码。而这12个号码所代表的拉伯数字“0—9”以

及“*”、“#”通常就够用了,其中符号“*”、“#”可以用来表示一些特殊

8

的功能,如“暂停”、“重发”。当采用十六键时高频群中的最高频率1633HZ

做为备用频率,(A)—(D)预定为数据通信和其它功能

[6]

表2-3 号码和频率的对应关系

高 频 群

按键号码

H1

1209HZ

H1

1

697HZ

H2

4

770HZ

H3

7

852HZ

H4

*

941HZ

0 # D

8 9 C

5 6 B

2 3 A

H2

1336HZ

H3

1477HZ

H4

1633HZ

产的DTMF收发器,MT8880芯片作为收发电话双音多频信号的解码核心。

MT8880是一个带有呼叫处理滤波器的单片DTMF收发器。它的主要特点是:数

据传送稳定,集成度高,抗干扰强,具有多种工作模式,容易与微机接口,可

编程控制等。其引脚图如图2-3所示。

OSC0为3.5795MHz的晶振接入端,若外加时钟从OSC1经电容耦合输入时,

OSC0端开路。D0、D1、D2、D3为数据总线端,当CS=1时, D0、D1、D2、D3呈

9

考虑到简化设计、降低成本、减少体积等因素,本设计采用MITEL公司生

图2-3 8880芯片管脚图

主要管脚功能简介:V

SS

、V

CC

为电源接入端,一般采用5V供电。OSC1、

高阻态。VREF为基准电压输出端。IN+、IN-为芯片内部运放同相、反相输入

端。GS为增益选择端,此引脚与IN-之间接一个反馈电阻可调节运放的增益。

R/W为读/写控制端,与TTL兼容,高电平时控制片内的数据读入微处理器。

TONE OUT为双音多频或行/列单频输出端。CS为片选信号端,当CS为TTL低电

平时,该芯片被选通。CP为系统时钟输入端。RSI为芯片内部寄存器控制端。

Est为初始控制输出端,当检测出一种有效的单音对时,则Est为高电平。

St/GT为控制输入/时间监测输入端。IRQ/CALL为中断请求或电话信号音检测输

出端

[7]

当MT8880发送DTMF信号时,被发送的信号从数据总线D1~D3经数据总线

缓冲器送到发送数据的寄存器,控制可编程行、列计数器,经D/A变换器合成

DTMF信号。在音频突发开门控制和控制逻辑作用下,从TONE发送出去。

MT8880芯片内部的控制寄存器和状态寄存器中的数据写入和读出由RSI及R/W

信号控制,具体内容如表2-4所示。

表2-4 内部寄存器数据的写入、读出控制

RSI

0

0

1

1

R/W

0

1

0

1

功能

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

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

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

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

控制寄存器CRA,CRB及状态寄存器SR的各比特位b0~b3的名称如表2-5

所示。

表2-5 内部寄存器各比特位的名称

寄存器

CRA

CRB

SR

B0

TOUT

BURST

中断允许

B1

MC

TEST

突发模式下TDR空

B2

IRQ

S/D

RDR满

B3

RS

C/R

延时控制

在CRA中,TOUT允许TONE输出,高电平有效。MC为模式控制,当B1=1

时,为单频模式,当B1=0时, 为DTMF模式。IRQ为中断允许,当B2=1时,中

断有效,当B2=0时,中断无效。RS为寄存器选择,当B3=1时,下一个写周期

选择写CRB,一次性选择完成。在CBR中,BURST为突发选择,当B0=1时,选

10

择发送连续的DTMF 信号,当B0=0时,选择MT8880工作于突发模式,在该模

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

在B1为高电平时,为选择测试模式。S/D产生单/双音。当B2为高电平时,产

生行/列单音信号,当B2为低电平时,产生DTMF信号。C/R行/列单音产生。

当B2=1、B3=0时,选择行对应的单音频,当B2=1、B3=1时,选择列对应的单

音频。在SR中,B0中断允许位。当B0=0时,中断禁止,读出数据后清零;当

B0=1时,中断发生,B1、B2被设定。B1为突发模式下TDR是否空的标志。当

B1=0时,表示SR读完数据后或非突发模式下清零;当B1=1时,突发模式下的

暂停时间完,TDR空,准备发送新的数据。B2为RDR满的标志。B2=0表示SR

读完数据后清零;B2=1表示RDR中已有有效数据。B3为延时控制。B3=0表示

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

效检测

[8]

本设计选择的工作模式为DTMF模式,用突发方式发送,控制寄存器CRA中

的4比特位是1001(B),B0=1表示允许8脚有DTMF信号输出,B1=0表示选择

DTMF模式,B2=0表示中断不允许,B3=1表示下一周期是写CRB控制寄存器。

控制寄存器CRB的4比特位是0000(B),B0=0表示选择电路工作于突发模式,

B1=0表示工作在非试验模式,B2=0表示选择只产生DTMF信号,而不产生行/列

单音信号,B3=0或B3=1均可。因MT8880产生的DTMF波功率和从电话线来的

DTMF波的幅值很小,所以在MT8880的发射端加了一级运放LM386进行功率和

幅值的放大,再经耦合线圈送到电话线上。电路原理图如图2-4及图2-5所

示。

11

图2-4 MT8880接口电路

图2-5 DTMF信号放大电路图

MT8880从TONE端输出双音频信号时,它的输出电阻最小为10KΩ,电容

C11可用来清除高频干扰,在没接放大器的情况下,该端输出的双音频信号的

峰峰值在2.4V左右。该信号不能直接加到耦合线圈两端,因为耦合线圈阻值较

小,分压后加在耦合线圈两端的电压值也很小,而且功率也很小,所以传送到

电话线上的信号特别弱,程控交换机无法识别,将造成发送DTMF信号失败,而

12

考虑到放大器输入电阻很大,所以可利用放大器使MT8880发出的双音频信号正

常输出。经调试最后选取放大器为LM386,改变电位器R18可改变其放大倍

数,为了使放大倍数调为0.5倍,可调节R18=5KΩ,这样在放大器的输出端就

可以获得峰峰值为1V左右的双音频信号,其中C9、C10选用10µF,而C8选用

220µF。

2.5 电话号码存储模块

本设计用E2PROM存储芯片CAT24C021,CAT24C021是集E2PROM存储器、复

位微控制器和看门狗定时器三种功能与一体的I2C串行CMOS E2PROM器件。电

路图如图2-6所示。

图2-6 电话号码存储电路图

CAT24C021的看门狗定时器给微控制器提供一个独立的保护。当系统出现

故障时,1.6秒后看门狗会定时溢出,而CAT24C021会发出一个复位信号。通

过SDA管脚控制对看门狗进行操作。如果CPU在1.6秒后没有触发SDA,看门

狗的计数器会溢出,给CPU一个复位信号。SDA管脚上电平的任何跳变都将会

清零看门狗定时器。而只要产生复位信号,看门狗定时器都将不再计时并且保

持清零状态。

当预置报警电话号码时,可借助7279键盘把号码送入单片机,单片机可判

断出是键盘上的哪个键被按下,将此数据由单片机读入,供CAT24C021写入。

当需要读取报警的电话号码时,由单片机读出CAT24C021的存储号码,送至

MT8880,输出对应的DTMF信号,传送到电话线上

[9]

2.6 报警信号输入

根据设计要求本部分采用了以二氧化碳传感器GE-E和比较器LM393为核心

13

的烟雾报警器,该二氧化碳传感器稳定性好、灵敏度高、检测范围为100-

10000PPM

[10]

。传感器结构及典型连接电路分别如图2-7和图2-8所示。

图2-7 传感器结构

图2-8 传感器典型连接电路图

电源Vh对传感器加热丝加热,当气体浓度变化时,1端与4端的电阻会产

生变化,经分压原理可知输出电压VL的大小与电阻R成正比,也就是与气体浓

度成正比。二氧化碳传感器GS-E的技术指标如表2-5所示。

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

参数名称 加热电压 测量电压 洁净空气中的电阻 响应时间 恢复时间 灵敏度

符号

单位

参数值

Vb

V

5

Vc

V

5-10

R0

千欧

分档

tres

<10

trec

<40

β

>5

输出电压的决定因素有三个:(1)图中电阻R的大小。(2)系统所加的电源

电压。(3)空气中二氧化碳气体的浓度

[11]

本次设计的电路图如图2-9所示,电源电压用+5V,在正常情况下,空气中

的二氧化碳的浓度是一定的,可以调节分压电位器R29的大小来改变传感器正

14

常情况下的输出电压,在本设计中,将正常情况下的输出电压调成1.0V。

图2-9 二氧化碳传感器电路图

盗情检测的红外传感装置由P2288,BIS001及其外围元件组成。传感器采

用的是P2888型号的热释电红外传感器,也叫人体传感器。当有人进入探测范

围时,传感器输出正向电压到单片机,从而启动单片机按设定的程序工作。

热释电红外探测器是由菲涅耳透镜、电子电路和热释电红外传感器组成的

光电检测装置,它不接触就可以检测人体在运动时所辐射出的红外线,并且转

换成电信号输出

[12]

3. 报警器的软件设计

3.1 系统软件设计

软件设计主要分为以下部分:主程序,电话号码输入,电话号码存储到

E2PROM存储器CAT24C021和从CAT24C021读出电话号码以及拨号。在设计中主

要注意各部分之间的衔接是否有冲突,由于本次设计P口不够用所以7279的

KEY端接在外部中断INT0,采用中断方式来读键值。单片机I/O口线的中断口

分配如表3-1所示。

15

表3-1 单片机I/O口线的中断口分配

中断口

P1.0

P1.1

P1.2

P1.3

P1.4

P1.5

P1.6

P1.7

INT0

中断口分配

7279的CS端

7279的CLK端

7279的DATA端

MT8880的RS0端

报警信号输入端

摘机控制端

CAT24C021的SCL端

CAT24C021的SDA端

7279的KEY端

3.2 主程序设计

主程序框图如图3-1所示,执行完初始化程序后,首先判断有无报警信

号,若没有报警信号,则判断用户是否按下修改键修改报警电话号码。若用户

没有按下修改键,则继续判断有无报警信号。若用户按下了修改键则需要用户

继续输入报警时所要拨打的电话号码,以停止键来判断是否输完。若没输完则

继续输,输完后则存入E2PROM存储器CAT24C021中。若有报警信号,首先判断

设置的标志位是否为1,若不为1,则单片机立刻控制P口,令P1.5为低,执

行摘机后,从CAT24C021中读取报警电话号码,并显示要拨打的电话号码,最

后把电话号码发送到MT8880拨打报警电话号码。

16

开始

程序初始化

有报警信号?

N

Y

N

21H=1(拨号组

拨号完毕?)

有开始修改键

按下吗?

N

Y

从24C021读出电话

号码存入内存单元

Y

继续

输入

号码

有报警信号

吗?

Y

摘机

N

N

显示用户的电话号码并拨

号,且延时等待对方应答

是停止输入

键吗?

Y

显示报警电话号码并拨号,且

延时等待对方应答

电话号码存入

24C021

挂机

21H位置1

图3-1 主程序框图

4. 仿真电路

4.1 系统原理

首先是装载程序。因为设定号码的操作不是频繁进行的,只要达到号码设

定的目的就可以了,所以可用两个键设定号码取代数字按键。电路自动复位,

17

数码管会显示“P”,就进入了输号、查号的操作选择状态,如图4-1。按“输

号”键,就进入了输入电话号码的状态,发光二极管熄灭,数码管开始时显示

图4-1 复位状态显示图

“0”,以后每按该键一次,显示的数字就会加1,若显示的数为所需的数字

时,只要长按该键,确认该位数字,显示的数字就又会返回到“0”,进入下一

位数字的输入,当最后一位号码输入后,按“查号”键,结束输号,单片机将

输入的电话号码保存并且断电不丢失,进入空闲状态,数码管显示“U"。如图

4-2所示。

图4-2 空闲状态显示图

按“查号”键时,发光二极管亮,可以查看已保存的电话号码。每按键一

次,就会显示一位数字,从左到右,与输入时的顺序一致,若数码管显示为

“U”,则表示号码查看结束,同时进入空闲状态。

当数码管显示“U”时,装置处于空闲警戒状态,当从传感器传来警情时,

自动拨号报警。自动拨号后数码管会显示“b”且二极管亮,如图4-3所示。说

明当前处于等待回应状态,等待时间可通过软件设置,最后又进入“U”空闲警

戒状态,当传感器再一次接收到报警信号时,就会再次自动拨号报警。

18

图4-3 拨号状态显示图

4.2 元器件选择

本次设计核心为单片机AT89C51。选择的元器件如下:AT89C51单片机,

24C16B非易失性E2PROM存储器,7SEG-COM-AN-GRN数码管、LED-GREEN发光二

极管,74HC02或非门,2N5401晶体三极管,BRIDGE二极管电桥,PULLUP上拉

电阻、RES电阻、PULLDOWN下拉电阻、RX8排阻,CAP电容、CAP-ELEC电解电

容,BUTTON按钮,CRYSTAL晶振12MHz。仿真设计电路图如图4-4所示。

C1

20pF

C3

20pF

Q1

2N5401

X1

19

CRYSTAL

U3

XTAL1P0.0/AD0

P0.1/AD1

P0.2/AD2

P0.3/AD3

P0.4/AD4

P0.5/AD5

P0.6/AD6

P0.7/AD7

P2.0/A8

P2.1/A9

P2.2/A10

P2.3/A11

P2.4/A12

P2.5/A13

P2.6/A14

P2.7/A15

P3.0/RXD

P3.1/TXD

P3.2/INT0

P3.3/INT1

P3.4/T0

P3.5/T1

P3.6/WR

P3.7/RD

39

38

37

36

35

34

33

32

21

22

23

24

25

26

27

28

10

11

12

13

14

15

16

17

p10

1

p11

2

p12

3

p13

4

p14

5

p15

6

p16

7

p17

8

RN1

16

15

14

13

12

11

10

9

RX8

R1

PULLDOWN

18

R7

XTAL2

PULLDOWN

C2

9

1uF

BR1

R3

10k

29

30

31

RST

D1

LED-GREEN

PSEN

ALE

EA

Q2

2N5401

BRIDGE

U1

6

5

7

SCK

SDA

WP

24C16B

Q3

2N5401

p10

p11

p12

p13

p14

p15

p16

p17

1

2

3

4

5

6

7

8

P1.0

P1.1

P1.2

P1.3

P1.4

P1.5

P1.6

P1.7

AT89C51

Q4

2N5401

R11

10k

R2

PULLUP

R8

10k

U2:A

2

1

3

74HC02

R4

R5

R6

R12

10k

PULLUP

PULLUP

R13

PULLDOWN

PULLUP

R9

10k

R14

PULLDOWN

R10

10k

4-4 仿真设计电理图

单片机从初始状态开始,上电后处于等待状态,先按“输号”键输入号

码,号码将存储到存储器中,直到传感器给单片机一个报警信号,以此作为单

片机的中断信号,单片机启动,从存储器中读取之前存储的号码,进行拨号,

19

拨号后重新回到等待报警状态

[13]

。其工作流程图如图4-5所示。

系统初始化

等待状态

报警信号

Y

报警状态

N

自动拨号

返回

图4-5 工作流程图

20

总 结

本系统的特点是通过传感器检测,当检测到超过预先设定的值时,即发生

报警,而单片机检测到报警信号后,则控制双音频发送电路自动循环拨打预先

存储在E2PROM存储器CAT24C021中的电话号码。它的功能主要有电话号码的输

入、存储、断电不会丢失,可以保存多组号码,可以检查显示已存储的号码。

从传感器得到信号时(即有警情),可以自动拨号,达到报警的目的。安装不同

的传感器可组成不同的报警功能,用于不同的场合。利用传感器的报警信号作

为单片机的中断信号,从而启动单片机进行自动电话的拨号功能。

本次系统设计和调试的过程就是把平时的学习和实践相结合的过程。本次

设计应用的知识有单片机、传感器等。如何把这些知识结合在一起并组成一个

整体,这是我们在以前的学习中所没有遇到过的。本次毕业设计让我学会怎样

用平时所学的知识去解决实际问题,弥补了在这方面的不足。在本次设计过程

中,遇到很多的问题都需要自己去认真的进行分析、总结、探讨并最终解决。

在这样一个过程中,不但让我学会了如何去利用课本和参考资料,而且懂得了

如何去思考这样的问题,并且如何去解决这样的问题,让自己更加的自立。由

于经验不足,对电路布局等方面仍有不够完善的地方,在今后的工作学习中会继

续多学多动手争取更大的进步。这些对我今后的学习和工作都会有很大帮助。

21

参考文献

[1] 李广弟,冷祖祁,等. 单片机基础[M]. 北京:航空航天大学出版社,2007:22-25

[2] 张鑫. 单片机原理及应用(第2版)[M]. 北京:电子工业出版社,2010:23-25

[3] 何立民. 单片机应用系统设计(系统配置与接口技术)[M]. 北京:航空航天大学出版

社,2001:55-57

[4] 齐志艺,吴曼荔,等. 单片机教学改革的思考与探索[J]. 硅谷,2009(13):5-6

[5] 李令奇. 电话机原理与维修[M]. 北京:人民邮电出版社,2005:47-49

[6] 胡汉才. 单片机原理及其接口技术学习辅导与实践教程[M]. 北京:清华大学出版社,

2010:36-78

[7] 愈国亮. MCS-51单片机原理与应用[M]. 北京:清华大学出版社,2008:30-36

[8] 余发山,胡伟,李景延,等. 单片机原理及应用技术[M]. 徐州:中国矿业大学出版

社,2003:12-15

[9] 陈国华. 电子防盗报警器电路大全[M]. 北京:电子工业出版社,2003:34-38

[10] 赵负图. 传感器集成电路手册[M]. 北京:化学工业出版社,2003:15-18

[11] 张福学. 现代实用传感器技术[M]. 北京:中国计量出版社,2005:46-63

[12] 王俊峰,孟令启,等. 现代传感器应用技术[M]. 北京:机械工业出版社,2007:123-146

[13] 周景润. 基于PROTEUS的电路及单片机设计与仿真(第2版)[M]. 北京:航空航天大

学出版社,2010:234-289

22

附 录

ORG 0000H

LJMP MIN

ORG 0003H ;外部中断0

LJMP INT0

ORG 000BH ;定时器0

LJMP T0

ORG 0013H ;外部中断1

RETI

ORG 001BH ;定时器1

LJMP T1

ORG 0023H ;串行口

RETI

ORG 0030H

MIN:

MOV TMOD,#26H ;模式控制寄存器

MOV TH0,#00H ;T0 计数初值

MOV TL0,#00H

MOV TH1,#26H ;T1 计数初值

MOV TL1,#0F0H

SETB EA ;开中断总允许

SETB ET1 ; 开定时器中断

SETB ET0 ;开计数器中断

SETB EX0 ;开外部中断

SETB IT0 ;设定为边沿触发方式

23

SETB PT0 ;设计T0 为高优先级

SETB PT1 ;设计T1 为高优先级

CLR PX0 ;设计INT0 为低优先级

MIN0:

NOP

LJMP MIN0

END

INT0:

PUSH PSW

CLR EX0 ;关外部中断

LCALL DEL ; 调用延时子程序

SETB P2.0 ;摘机

SETB P2.1

SETB TR1 ;启动 T1

SETB TR0 ;启动 T0

MOV A,#00H ;对计数中断的次数进行计数

MOV 41H,#100H ;毫秒计数初值

MOV 42H,#300H ;5 秒计数初值

CLR 4FH ;标志位

TT:

JNB 4FH, TT ;等待5 秒到

CLR CY

CLR TR1 ;停止T1

CLR TR0 ;停止T0

CJNE A,#07H,DONE ; 判断是否为拨号音

LCALL FANHUI ;调用返回程序

DONE:

JNC DONE1 ; 判断cy 并跳转

24

DONE1:

SETB P2.2 ;拨号并延时50ms

ACALL DELAY50

CLR P2.2

SETB TR1 ;启动 T1

SETB TR0 ;启动 T0

MOV A,#00H ;对计数中断的次数进行计数

MOV 41H,#100H

MOV 42H,#300H

CLR 4FH

LINGYIN:

JNB 4FH, LINGYIN ;判断判断位并跳转

CLR CY

CLR TR1

CLR TR0

ACALL PANDUAN ;调用判断子程序

SET EX0

POP PSW

RETI

DEL: ;延时20 秒

MOV R7,#20H

DEL1:

MOV R6,#200H

DEL2:

MOV R5,#125H

DEL3:

DJNZ R5,DEL3

DJNZ R6,DEL2

25

DJNZ R7,DEL1

RET

DELAY: ;延时5 秒

MOV R7,#05H

DELAY1:

MOV R6,#200H

DELAY2:

MOV R5,#125H

DELAY3:

DJNZ R5, DELAY3

DJNZ R6, DELAY2

DJNZ R7,DELAY1

RET

DELA: ;延时2.5 秒

MOV R7,#05H

DELA1:

MOV R6,#100H

DELA2:

MOV R5,#125H

DELA3:

DJNZ R5, DELA3

DJNZ R6, DELA2

DJNZ R7,DELA1

RET

DELAY50: ;延时50m 秒

MOV R7,#200H

DELAY501:

MOV R6,#125H

26

DELAY502:

DJNZ R6,DELAY502

DJNZ R7,DELAY501

RET

T1: ; 定时器

PUSH PSW

MOV TH1,#0D8H

MOV TL1,#0F0H

DJNZ 40H,TT1

MOV 40H,#100

DJNZ 41H,TT1

MOV 41H,#300

SETB 4FH

TT1:

POP PSW

RETI

T0: ; 计数器

PUSH PSW

ADD A,#01

POP PSW

RETI

PANDUAN: ; 对计数值进行计数判断

CJNE A,#04, PANDUAN1

LJMP FANHUI

PANDUAN1:

JC PANDUAN2

LJMP FANHUI

PANDUAN2:

27

CJNE A,#00,FANHUI

JNC CAOZUO

LJMP FANHUI

CAOZUO:

SET P0.0

SET P0.1

SET P0.2

ACALL DELL

CLR P0.0

CLR P0.1

CLR P0.2

RET

FANHUI: CLR P2.0

CLR P2.1

ACALL DELAY

SJMP INT0

RET

28

致 谢

首先感谢我的指导老师王红艳老师。在整个的设计过程中,王老师对我热

心指导、严格要求,在选题、系统总体设计与技术方案上,给予我宝贵的建

议,帮助我建立了正确的设计思想,保证了课题的研究和开发工作的顺利完

成。我从他那里学到的不仅仅是学术方面的知识,更重要的是严谨的治学态

度。

感谢电信学院的各位老师,正是因为他们一丝不苟,任劳任怨的教学,我

们才能具有扎实的基本功来进行设计工作。

感谢所有的对我有过帮助的同学,是你们的细心的验证、不断的推敲造就

了我的程序功能的实现。

最后,在我即将毕业之际对电信学院所有老师表示深深的谢意,在您们的

指导下我学到了电气自动化专业的相关技能,培养了我动手操作的能力,在您

们的帮助下我实现了自己的目标,谢谢您们!

29

本文标签: 信号设计单片机拨号自动