<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機(jī)的315M發(fā)射頭發(fā)送匯編程序

          51單片機(jī)的315M發(fā)射頭發(fā)送匯編程序

          作者: 時間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
          ;防盜器主機(jī)程序
          FSDD EQU P1.7 ;發(fā)射控制D端,高電平控制有效
          FSCC EQU P1.6 ;發(fā)射控制C端,高電平控制有效
          FSBB EQU P1.5 ;發(fā)射控制B端,高電平控制有效
          BJQ1 EQU P1.1 ;報警器,低電平報警
          SPK1 EQU P1.0 ;喇叭,驅(qū)動方式為脈沖信號
          LED1 EQU P3.0 ;指示燈
          JSVT EQU P3.2 ;接收頭VT端
          JSDD EQU P3.3 ;接收頭D輸出端,有效高電平輸出
          JSCC EQU P3.4 ;接收頭C輸出端,有效高電平輸出
          JSBB EQU P3.5 ;接收頭B輸出端,有效高電平輸出
          DYJC EQU P3.7 ;主機(jī)電源電壓檢測端,電源電壓低于9V報警提示
          P1MO EQU 91H
          P1M1 EQU 92H
          P1MA EQU 00000000B;定義P1口狀態(tài)
          P1MB EQU 11100011B;設(shè)P1.7、P1.6、P1.5、P1.1、P1.0口為推挽輸出
          JSBM EQU 00111100B;設(shè)置接收端口狀態(tài),屏蔽P3.7、P3.6、P3.1、P3.0
          KJBM EQU 00011000B;設(shè)定開機(jī)編碼為011(即接收頭B為0、C為1、D為1)
          ZDBM EQU 00110000B;設(shè)定振動探測報警編碼為110
          WBBM EQU 00101000B;設(shè)定微波探測報警編碼為101
          DYBM EQU 00010000B;設(shè)定子機(jī)電源低壓報警編碼為010
          LLBM EQU 00001000B;設(shè)定3分鐘聯(lián)絡(luò)子機(jī)一次編號為001
          ORG 0000H ;程序執(zhí)行開始地址
          LJMP KS1 ;跳至KS1
          ORG 0003H ;外中斷0中斷程序入口
          RETI ;中斷返回
          ORG 000BH ;定時器T0中斷程序入口
          LJMP INTT0 ;中斷返回
          ORG 0013H ;外中斷1中斷入口
          RETI ;中斷返回
          ORG 001BH ;定時器T1中斷程序入口
          RETI ;跳至INTT1中斷服務(wù)程序
          ORG 0023H ;串口中斷入口地址
          RETI
          ORG 0100H
          ;開機(jī)初始化
          KS1: MOV P1MO,#P1MA ;定義P1口狀態(tài)
          MOV P1M1,#P1MB ;設(shè)P1口部分為推挽輸出
          CLR SPK1 ;關(guān)喇叭
          CLR BJQ1 ;關(guān)報警器
          CLR FSDD ;發(fā)射電路不發(fā)射(D端為0)
          CLR FSCC ;發(fā)射電路不發(fā)射(C端為0)
          CLR FSBB ;發(fā)射電路不發(fā)射(B端為0)
          MOV SP,#50H ;設(shè)推棧初值
          MOV R0,#05H ;設(shè)低壓報警次數(shù)初值
          MOV PSW,#00H ;設(shè)程序狀態(tài)字寄存器為00
          MOV SCON,#00H ;設(shè)串行口控制寄存器為00
          CLR LED1 ;指示燈提示通電
          ACALL DIDI ;DI聲提示通電
          SETB LED1 ;關(guān)指示燈
          ACALL DYJC1 ;電壓檢測
          ;----------------------------------------------------------------
          KS2: JB JSVT,$ ;檢測是否接收到信號
          ACALL YS1
          JB JSVT,KS2
          MOV A,P3 ;收到子機(jī)的反饋信號則判斷是否正確
          ANL A,#JSBM ;屏蔽P3.7、P3.6、P3.1、P3.0
          CJNE A,#KJBM,KS2 ;檢查是否是開機(jī)信號
          KS3: CLR LED1 ;發(fā)光管點亮指示
          SETB BJQ1 ;開報警聲提示
          ACALL YS2 ;延時
          CLR BJQ1 ;關(guān)報警聲
          SETB LED1 ;發(fā)光管滅
          JNB JSVT,$ ;等待發(fā)射信號停止發(fā)射
          MOV TMOD,#00010001B;設(shè)定時器T1為計數(shù)器方式(方式1)
          MOV TH0,#3CH ;設(shè)T1為100mS
          MOV TL0,#0B0H
          SETB EA ;開總中斷允許
          SETB ET0 ;允許定時器T1中斷
          SETB TR0 ;啟動計數(shù)器T1
          MOV R1,#00H ;100ms時間計數(shù)器清零
          MOV R3,#0AH
          L0: JB JSVT,$ ;檢測是否接收到信號
          ACALL YS1
          JB JSVT,L0
          MOV A,P3 ;收到子機(jī)的反饋信號則判斷是否正確
          ANL A,#JSBM ;屏蔽P3.7、P3.6、P3.1、P3.0
          CJNE A,#KJBM,L1 ;檢查是否是開機(jī)信號
          CLR EA ;關(guān)總中斷
          SJMP KS3 ;重新開始
          L1: CJNE A,#ZDBM,L2 ;檢測收到的信號是否是振動探測報警信號
          CLR TR0 ;關(guān)計數(shù)器T1
          CLR LED1 ;是報警信號則發(fā)光管亮
          SETB BJQ1 ;開報警聲
          ;ACALL YS3 ;延時
          ;CLR BJQ1 ;關(guān)報警聲
          ;SETB LED1 ;發(fā)光管滅
          SETB TR0 ;啟動計數(shù)器T1
          SJMP L0 ;返回繼續(xù)檢測
          L2: CJNE A,#WBBM,L3 ;檢測收到的信號是否是微波探測報警信號
          CLR TR0 ;關(guān)計數(shù)器T1
          SETB BJQ1 ;開報警聲
          ACALL YS3 ;延時
          CLR BJQ1 ;關(guān)報警聲
          SETB TR0 ;啟動計數(shù)器T1
          SJMP L0 ;返回繼續(xù)檢測
          L3: CJNE A,#DYBM,L4 ;檢測收到的信號是否是子機(jī)低壓報警信號
          CLR TR0 ;關(guān)計數(shù)器T1
          CLR LED1 ;發(fā)光管亮
          ACALL DIDI ;是則3聲DI報警
          ACALL DIDI
          ACALL DIDI
          ACALL DIDI
          ACALL DIDI
          ACALL DIDI
          DJNZ R3,L5
          L6: ACALL DIDI
          ACALL YS2
          SJMP L6 ;返回繼續(xù)檢測
          L5: SETB TR0 ;啟動計數(shù)器T1
          SJMP L0 ;返回繼續(xù)檢測
          L4: CJNE A,#LLBM,L0 ;檢測收到的信號是否是關(guān)機(jī)信號
          CLR TR0 ;關(guān)計數(shù)器T1
          ACALL DIDI ;是則3聲DI報警
          ACALL DIDI
          ACALL DIDI
          ACALL DIDI
          JNB JSVT,$ ;等待發(fā)射信號停止發(fā)射
          CLR BJQ1 ;關(guān)報警聲
          AJMP KS2 ;返回繼續(xù)檢測

          上一頁 1 2 下一頁

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();