专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

单片机的家庭,汽车防盗报警系统设计

作者:佚名   来源:本站原创   点击数:  更新时间:2007年07月03日   【字体:

    从实际出发,设计一种家庭用、与电话线连接、操作简单、工作稳定可靠的远程智能防盗报警装置。当人们外出时,往往希望实施自动监测报警以使家庭财产免受损失。针对这一需求,研制出了一系列自动报警系统,如门磁式、触摸式和红外线监测自动报警系统等。本文将介绍的远程智能防盗报警装置,可同时监视多个重要点(如门、窗等),发现盗情及时拨叫号码,并能利用普通电话线进行告警信号呼叫,其性能稳定可靠,实用性、适用性强,且具有较高的灵活性。

基于单片机汽车防盗器报警声的源程序

;ST套件产生汽车防盗器报警声
;本实例的目的是让大家学会用单片机产生声音的方法,学会计算程序所用时间
;本实例的功能是能PIC16F84产生汽车防盗器的报警声,频率分两个0.1s第一个
;0.1S频率从1.8K-3.5K匀速增加第二个0.1S频率从3.5K-1.8K匀速减少,
;程序复位后,按S2喇叭叫两声,按S3喇叭叫15秒,中途可按S5停止.
;PIC单片机学习网
;烧写时应注意:配置位已经在程序中写明,加载HEX文件时会自动加载,烧写时不用再手动设置配置位。
;实验时请注意套件跳线选择;
;*****************************************************
  LIST P=16F84A,R=DEC         ;定义器件,默认为十进制
;-----------------------------------------------------
  __CONFIG B'11111111110001';_CP_OFF&_WDT_OFF&_PWRITE_ON&_XT_OSC
                                              ;没有代码保护
                                              ;看门狗关闭
                                              ;上电廷时器开启
                                              ;振荡器模式为XT
;-----------------------------------------------------
RTCC EQU 01H                ;定义各寄存器
PC EQU 02H
STATUS EQU 03H
C EQU 0
RP0 EQU 5
;----------------------
PORTA EQU 05H
PORTB EQU 06H

TRISA EQU 5H
TRISB EQU 6H
;-----------------------
SOUNDDELAY1 EQU 10H    ;声音频率变化计数器,从1.8~3.55KHZ
FRE_COUNT EQU 11H      ;同一频率的重复次数保存地址
FRE_REPEAT EQU 12H    
SOUND_TEMP EQU 13H
TEMP EQU 14H           ;暂存寄存器
S_LOOP EQU 46          ;93-47=46
S_MAX EQU 93           ;最低频率1.8K  93*3=280US*2
S_MIN EQU 47           ;最高频率3.55K  47*3=140*2
S_REPEAT EQU 4         ;同一频率重复次数
;----------------------RA
KEY1 EQU 3
KEY2 EQU 4
;----------------------RB
KEY3 EQU 0
KEY4 EQU 1
;--------------------
    ORG 0000H
MAIN
    CLRF PORTA
    CLRF PORTB          ;初始化IO口

    BSF STATUS,RP0     ;设置数据寄存器体1
    MOVLW 0011000B
    MOVWF TRISA        ;设置各开关端口为输入其它为输出
    MOVLW 00000011B
    MOVWF TRISB
    BCF STATUS,RP0     ;恢复数据寄存器体0
LOOP
    BTFSS PORTA,KEY1   ;扫描按键
    GOTO SET_1
    BTFSS PORTA,KEY2
    GOTO SET_2
    GOTO LOOP
;--------------------------------------------
SET_1
    BTFSC PORTA,KEY1    ;去抖动
    GOTO LOOP
    CALL SOUNDDELAY
    BTFSC PORTA,KEY1    ;按S2叫两声
    GOTO LOOP
    CALL SOUND200MS
    CALL SOUND200MS
    GOTO LOOP
;--------------------------------------------
SET_2
    BTFSC PORTA,KEY2    ;去抖动
    GOTO LOOP
    CALL SOUNDDELAY
    BTFSC PORTA,KEY2    ;按S3叫15秒
    GOTO LOOP
    CALL SOUND15S
    GOTO LOOP
;- - ----------------------------------------
SOUND200MS
    MOVLW S_LOOP
    MOVWF FRE_COUNT     ;46=93-47
SOUND_LH_LP
    MOVLW S_REPEAT      ;同一频率重复次数送FRE_REPEAT
    MOVWF FRE_REPEAT
    MOVFW FRE_COUNT
    ADDLW S_MIN        ;计数值加最小值
    MOVWF TEMP
REPEAT0_LP
    MOVFW TEMP
    BSF PORTA,0      
    CALL SOUNDDELAY0   ;廷时W*3US
    BCF PORTA,0
    MOVFW TEMP
    CALL SOUNDDELAY0
    DECFSZ FRE_REPEAT,1 ;每四次减频率计数一次
    GOTO REPEAT0_LP
    DECFSZ FRE_COUNT,1
    GOTO SOUND_LH_LP
SOUND_HL
    MOVLW S_LOOP
    MOVWF FRE_COUNT   ;46=93-47
SOUND_HL_LP
    MOVLW S_REPEAT    ;同一频率重复次数送FRE_REPEAT
    MOVWF FRE_REPEAT
    MOVFW FRE_COUNT
    SUBLW S_MAX       ;最大值减计数值
    MOVWF TEMP
REPEAT1_LP
    MOVFW TEMP
    BSF PORTA,0
    CALL SOUNDDELAY0    ;廷时W*3US
    BCF PORTA,0
    MOVFW TEMP
    CALL SOUNDDELAY0
    DECFSZ FRE_REPEAT,1;四次减频率计数一次
    GOTO REPEAT1_LP
    DECFSZ FRE_COUNT,1
    GOTO SOUND_HL_LP
SOUND_END
    RETLW 0
;------------------------------
SOUNDDELAY:        ;廷时255*3US+2US
    MOVLW 255
SOUNDDELAY0
    MOVWF SOUNDDELAY1     ;廷时W*3US+1US
SOUNDDELAYUS_1
    DECFSZ SOUNDDELAY1,1
    GOTO SOUNDDELAYUS_1
    RETLW 0
;---------------------
SOUND15S                    ;报警15秒
    MOVLW 73
    MOVWF SOUND_TEMP
SOUND1S_LP
    CALL SOUND200MS
    BTFSS PORTB,KEY4       ;按S5退出
    RETLW 0
    DECFSZ SOUND_TEMP,1
    GOTO SOUND1S_LP
    RETLW 0
;------------------------
    END
 


基本工作原理


    如图1所示,远程智能防盗报警装置由信号检测电路、复位电路、电话号码输入电路、89C51单片机、语音电路、模拟摘机挂机电路、DTMF编码发送电路、铃流信号检测电路和忙音信号检测电路等构成。


图1

    DTMF编码发送电路送出的是由用户经电话号码输入电路预先设定好并存储在CPU中的电话号码,该号码可随意设置,可以是市内程控电话(如单位电话或110等)、手机或寻呼机等。


    当信号检测电路测到有人闯入时,即发出触发信号作为报警信号,经放大送入CPU。CPU延时10s,若是主人进入,则可在这10s内利用复位电路使CPU初始化,否则准备报警。CPU首先检察铃流信号检测电路的输出情况,若输出为一高电平,则说明用户电话机振铃,不能摘机拨号,需进行延时处理,只有当输出为低电平时,CPU指示模拟摘机电路摘机,发送DTMF电话号码,呼叫预设的受话方。这时就会有两种情况出现:受话方占线和受话方振铃。若出现第一种情况,系统进行模拟挂机、延时后再摘机拨号;如果受话方振铃、摘机,即开始发送录制在APR9600中的信号音或语音信号,最后挂机。


电路构成及工作原理


1 信号检测电路


    图2中传感器为P2288被动式热释电人体红外传感器。它采用平衡检差方式工作,只感应7~14μm波长的活动人体红外辐射线,不会受环境温度及可见光的影响,传感器加装菲涅尔透镜可感应10m以内的人体辐射红外线。活动人体辐射的红外线被传感器检测到后,传感器将产生微弱的电信号,经滤波、放大,送给双向比较器。为防误动作,信号将与门限电平进行比较,产生脉冲信号输出,将高电平作为告警信号,送入CPU。


图2

2 电话号码输入电路

    图3中DTMF编码器为CSC5087,它可根据不同的按键产生一组双音频信号,CCITT(国际电报电话咨询委员会)规定了按键与高、低频组的组合。例如,按下“8”键,发出DTMF信号频率为fL=852Hz、fH=1336Hz。

 
图3

    DTMF译码器为SC8870,它将每一个DTMF信号译成一个4位二进制代码输出,16个DTMF信号分别对应0000~1111共16个二进制代码。例如,对CSC5087送出的fL=852Hz、fH=1336Hz的DTMF信号,SC8870译码后输出“1000”代码,对应按键“8”。


3 语音电路


    语音电路用于录制和播放用户所要报警的语音信号或其他报警信息,相应信息可由用户预先设定并可随时修改。


    本系统中的语音电路选用语音录放芯片APR9600,该芯片是采用模拟存储技术的一款音质好、噪声低、不怕断电、可反复录放的新型语音电路,单片电路可录放32~60s。APR9600具有多种手动控制方式,多段控制时电路简单,采样速度及录放音时间可调,每个单键均有开始、停止和循环多种功能。


4 铃流信号检测电路


    铃流信号检测电路用来检测电话线路上有无25Hz/90V铃流信号。如图4所示,极性保护电路由整流、滤波和稳压等电路组成。铃流信号经该电路后输出的高电平信号并不是规则的矩形波,还需经过由G1、G2两级施密特反相器构成的整形电路。这时,输出的高电平送入CPU,进行延时处理,等待铃流信号消失。


图4

5 忙音信号检测电路


    如前所述,拨叫DTMF电话号码后,受话方若正在接听电话,线路上送回忙音信号(周期为0.7s,占空比为50%的450Hz音频信号),CPU根据这一信号发出模拟挂机和延时指令。


    如图5所示,忙音检测由极性保护电路和NE567锁相环构成。NE567(Ⅰ)的检振频率为450Hz,用来确定线路中有无450Hz音频信号。因为忙音信号不是连续的音频信号,NE567(Ⅰ)的输出也不为连续的低电平,而是高低相间、频率为1.429Hz的振荡信号。NE567(Ⅱ)用来完成忙音识别,检振频率为1.429Hz,若前一级锁相环的输出信号频率刚好为1.429Hz,输出为一低电平,作为忙音存在的指示信号,送入CPU中,完成相关动作。


图5

关闭窗口