新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機的家庭,汽車防盜報警系統設計

        單片機的家庭,汽車防盜報警系統設計

        作者: 時間:2013-02-21 來源:網絡 收藏

        從實際出發,設計一種家庭用、與電話線連接、操作簡單、工作穩定可靠的遠程智能防盜報警裝置。當人們外出時,往往希望實施自動監測報警以使家庭財產免受損失。針對這一需求,研制出了一系列自動報警系統,如門磁式、觸摸式和紅外線監測自動報警系統等。本文將介紹的遠程智能防盜報警裝置,可同時監視多個重要點(如門、窗等),發現盜情及時撥叫號碼,并能利用普通電話線進行告警信號呼叫,其性能穩定可靠,實用性、適用性強,且具有較高的靈活性。

        基于汽車防盜器報警聲的源程序

        ;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 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 织金县| 中卫市| 栾城县| 拜城县| 游戏| 绵竹市| 南乐县| 子洲县| 浮山县| 北流市| 恭城| 永济市| 凉城县| 鹤山市| 襄樊市| 沙雅县| 黎平县| 富民县| 资源县| 宜春市| 松滋市| 苏尼特左旗| 开封市| 肥西县| 大名县| 南川市| 亳州市| 沅陵县| 万全县| 商洛市| 阿拉善右旗| 马鞍山市| 延边| 永康市| 安顺市| 固阳县| 乾安县| 揭西县| 重庆市| 武鸣县| 灵川县|