在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 51單片機的315M接收頭接收匯編程序(從機)

            51單片機的315M接收頭接收匯編程序(從機)

            作者: 時間:2016-11-28 來源:網(wǎng)絡 收藏
            ;防盜器子機程序
            FSDY EQU P1.7 ;發(fā)射電源端,高電平為輸出
            FSKZ EQUP1.6 ;發(fā)射控制端,低電平有效
            FSDD EQU P1.5 ;發(fā)射控制D端,高電平控制有效
            FSCC EQU P1.4 ;發(fā)射控制C端,高電平控制有效
            FSBB EQU P1.3 ;發(fā)射控制B端,高電平控制有效
            CGDY EQU P1.2 ;傳感器電源端,高電平為輸出
            SPK1 EQU P1.1 ;報警喇叭,高電平為輸出,暫時不用
            DYAD EQU P1.0 ;電源AD輸入端
            CGQ1 EQU P3.0 ;振動傳感器
            CGQ2 EQU P3.1 ;微波傳感器
            JSVT EQU P3.2 ;接收頭VT端
            JSDD EQU P3.3 ;接收頭D輸出端,有效高電平輸出
            JSCC EQU P3.4 ;接收頭C輸出端,有效高電平輸出
            JSBB EQU P3.5 ;接收頭B輸出端,有效高電平輸出
            LED1 EQU P3.7 ;指示燈
            P1MO EQU 91H
            P1M1 EQU 92H
            P1MA EQU 00000001B
            P1MB EQU 10111110B
            JSBM EQU 00111100B;設置接收端口狀態(tài),屏蔽P3.7、P3.6、P3.1、P3.0
            KJBM EQU 00100000B;設定開機編碼為011(即接收頭B為0、C為1、D為1)
            ZDBM EQU 00110000B;設定振動探測報警編碼為110
            WBBM EQU 00101000B;設定微波探測報警編碼為101
            DYBM EQU 00010000B;設定子機電源低壓報警編碼為010,也是接收尋車
            GJBM EQU 00001000B;設定2分鐘聯(lián)絡子機一次編號為001,也是接收啟動
            DYBJ EQU 80H ;設定電源低電壓(9V以下)報警值
            ;┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
            ;A/D轉換程序。
            ADC_CONTR EQU 0C5H ;A/D轉換寄存器
            ADC_DATA EQU 0C6H ;A/D轉換結果寄存器,
            ;為10位A/D轉換結果的高8位
            ;ADC_LOW2 EQU 0BEH ;A/D轉換結果寄存器,低2位有效,
            ;為10位A/D轉換結果的低2位
            ;如果不用ADC_L0W2的低2位,
            ;只用ADC_DATA的8位,則為8位A/D轉換
            ADC_Powerl0 EQU 11100000B;P1.0作為A/D輸入
            ;定義變量
            ADC_Chl0 EQU 32H ;0通道A/D轉換結果
            ;┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
            ORG 0000H ;程序執(zhí)行開始地址
            LJMP KS ;跳至KS
            ORG 0003H ;外中斷0中斷程序入口
            LJMP INT00 ;中斷返回
            ORG 000BH ;定時器T0中斷程序入口
            LJMP INTT0 ;跳至INTT0中斷服務程序
            ORG 0013H ;外中斷1中斷入口
            RETI ;中斷返回
            ORG 001BH ;定時器T1中斷程序入口
            RETI ;中斷返回
            ORG 0023H ;串口中斷入口地址
            RETI
            ORG 100H
            ;開機初始化
            KS: ACALL CLEAR1 ;設定初值
            MOV PSW,#00H ;設程序狀態(tài)字寄存器為00
            MOV SCON,#00H ;設串行口控制寄存器為00
            CLR LED1 ;指示燈提示通電
            ACALL YS2 ;延時
            SETB LED1 ;關指示燈
            ;----------------------------------------------------------------
            ;開機檢測
            ACALL ADAD
            SUBB A,#DYBJ ;與預定值比較
            ACALL CLEAR1 ;重新設定初值
            JNC KS2 ;電壓低報警,正常才能開防盜器
            MOV A,#20 ;低壓則連續(xù)報警20次
            KS1: ACALL DYFS ;電壓低發(fā)射010報警信號
            CLR LED1 ;紅燈亮
            ACALL YS2 ;延時
            SETB LED1 ;紅燈滅
            ACALL YS2 ;延時
            DEC A
            JNZ KS1
            CLR LED1 ;紅燈閃20次后常亮
            ORL PCON,#2 ;進入掉電模式,只有復位才能啟動
            NOP
            NOP
            NOP
            AJMP KS ;軟件陷阱
            ;--------------------------------------------------
            ;電源電壓檢測(AD轉換)后進入待機狀態(tài)
            ;--------------------------------------------------
            KS2: CLR IT0 ;外部中斷低電平觸發(fā)
            SETB EA ;開總中斷允許
            SETB EX0 ;開外部中斷0
            KS3: ORL PCON,#01H ;進入待機,只有外中斷或復位才能啟動
            NOP ;退出中斷后設置軟件陷阱
            NOP
            NOP
            CJNE A,#KJBM,KS2 ;必須是開機信號,信號不對返回繼續(xù)進入待機
            ;--------------------------------------------------
            ;開始進入防盜狀態(tài)
            ;--------------------------------------------------
            KS0: SETB CGDY ;打開振動和微波探測頭電源
            CLR A ;A清零
            CLR LED1 ;進入報警監(jiān)測狀態(tài),指示燈亮
            SETB SPK1 ;報警器響一下,進入防盜狀態(tài)
            ACALL YS3 ;延時
            CLR SPK1 ;關報警器
            ACALL KJFS ;發(fā)射011回應主機,表示收到并進入防盜狀態(tài)
            SETB LED1 ;指示燈滅
            ACALL YS2
            ;--------------------------------------------------
            ;
            ;--------------------------------------------------
            MOV TMOD,#00010001B;設定時器T1為計數(shù)器方式(方式1)
            MOV TH0,#3CH ;設T1為100mS
            MOV TL0,#0B0H
            SETB ET0 ;允許定時器T1中斷
            SETB TR0 ;啟動計數(shù)器T1
            MOV 30H,#00H ;100ms時間計數(shù)器清零
            MOV R0,#00H ;10s時間到標志位清零
            MOV 34H,#00H
            MOV 33H,#0FH
            MOV 35H,#00H
            MOV R1,#0FH
            ;--------------------------------------------------
            ;正式進入防盜狀態(tài)
            ;--------------------------------------------------
            KS4: JNB CGQ1,KS5 ;檢測振動傳感器是否輸出(有盜情)
            ACALL YS1
            JNB CGQ1,KS5
            CLR TR0 ;關定時中斷
            INC 35H
            MOV A,35H
            CJNE A,#10,S2
            DEC 35H
            SETB SPK1 ;報警器響一下
            ACALL YS2 ;延時
            CLR SPK1 ;關報警器
            SJMP KS5
            S2: ACALL ZDFS ;檢測到振動傳感器有輸出,發(fā)射110報警信號
            ACALL YS2 ;延時
            SETB TR0 ;開定時中斷允許
            KS5: JB CGQ2,KS6 ;檢測微波傳感器是否輸出(有盜情)
            ;ACALL YS1
            ;JB CGQ2,KS6
            CLR TR0 ;關定時中斷
            DJNZ R1,S1
            INC R1
            SETB SPK1 ;報警器響一下,進入防盜狀態(tài)
            ACALL YS2 ;延時
            CLR SPK1 ;關報警器
            SJMP KS6
            S1: ACALL WBFS ;檢測到微波傳感器有輸出,發(fā)射101報警信號
            ACALL YS2 ;延時
            SETB TR0 ;開定時中斷允許
            KS6: CJNE R0,#01H,KS7 ;10S檢測一次電源電壓
            CLR TR0 ;關定時中斷
            ACALL ADAD ;調用電源電壓檢測程序
            ACALL CLEAR2 ;重新設定初值
            SUBB A,#DYBJ ;與預定值比較
            CLR A ;A清零
            MOV R0,#00H ;10s時間到標志位清零
            SETB TR0 ;開定時中斷允許
            JNC KS7 ;電壓低報警
            CLR TR0 ;關定時中斷
            ACALL DYFS ;電壓低發(fā)射010報警信號
            SETB TR0 ;開定時中斷允許
            DJNZ 33H,KS7
            CLR LED1
            CLR TR0 ;關定時中斷
            AJMP KS2
            KS7: MOV A,P3 ;收到子機的反饋信號則判斷是否正確
            ANL A,#JSBM ;屏蔽P3.7、P3.6、P3.1、P3.0
            CJNE A,#GJBM,KS8 ;檢測是否收到主機的關機信號
            CLR ET0 ;無信號則關定時器T1中斷
            CLR CGDY ;關傳感器電源
            CLR LED1 ;進入報警監(jiān)測狀態(tài),指示燈亮
            SETB SPK1 ;報警器響一下,進入防盜狀態(tài)
            ACALL YS2 ;延時
            CLR SPK1 ;關報警器
            ACALL YS3 ;延時
            SETB SPK1 ;報警器響一下,進入防盜狀態(tài)
            ACALL YS3 ;延時
            CLR SPK1 ;關報警器
            ACALL GJFS ;調用關機發(fā)射程序
            SETB LED1 ;進入報警監(jiān)測狀態(tài),指示燈亮
            JNB JSVT,$ ;等待主機停止發(fā)射
            AJMP KS2 ;返回進入待機狀態(tài)
            KS8: CJNE A,#KJBM,S3
            JNB JSVT,$ ;等待主機停止發(fā)射
            AJMP KS0 ;返回進入待機狀態(tài)
            S3: CJNE A,#DYBM,S4
            SETB SPK1 ;報警器響一下,進入防盜狀態(tài)
            ACALL YS3 ;延時
            CLR SPK1 ;關報警器
            MOV R1,#01H
            S4: AJMP KS4
            ;****************************************************************
            ;----------------------------------------------------------------
            ;以下為子程序
            ;----------------------------------------------------------------
            ;----------------------------------------------------------------
            ;以下為開機發(fā)射程序
            ;----------------------------------------------------------------
            ;主機開機子機發(fā)射編碼011給主機以聯(lián)通
            KJFS: CLR LED1 ;指示燈亮
            CLR FSBB ;B端為0
            SETB FSCC ;C端為1
            SETB FSDD ;D端為1
            CLR FSKZ ;允許發(fā)射
            ACALL TZFS ;調用停止發(fā)射程序
            RET ;返回
            ;----------------------------------------------------------------
            ;以下為振動輸出(有盜情)的發(fā)射程序
            ;----------------------------------------------------------------
            ;振動輸出(有盜情)發(fā)射編碼110給主機進行報警
            ZDFS: CLR LED1 ;指示燈亮
            SETB FSBB ;B端為1
            SETB FSCC ;C端為1
            CLR FSDD ;D端為0
            CLR FSKZ ;允許發(fā)射
            ACALL TZFS ;調用停止發(fā)射程序
            RET ;返回

            上一頁 1 2 下一頁

            評論


            技術專區(qū)

            關閉