久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 超聲波報警系統+51單片機+keil+匯編語言程序詳細注釋 [打印本頁]

作者: tancen    時間: 2020-6-17 15:53
標題: 超聲波報警系統+51單片機+keil+匯編語言程序詳細注釋
4個超聲波,在顯示里由abcd代替,設置里調整報警臨界值,離得越近報警速度越快



程序如下
TXQ        EQU        P1.0                ;超聲波接口
RXQ        EQU P1.1
TXH        EQU        P1.2
RXH        EQU P1.3
TXZ        EQU P1.4
RXZ        EQU P1.5
TXY        EQU P1.6
RXY        EQU P1.7

FRON EQU P2.4
BEHD EQU P2.5
LEFT EQU P2.6
RIGT EQU P2.7

KSET        EQU P3.0        ;按鍵接口
KADD        EQU P3.1
KSUB        EQU P3.2
FMQ                EQU P3.7

SCAN        EQU 30H                ;顯示位控變量
SETH        EQU 31H                ;門限百位
SETM        EQU 32H                ;門限十位
SETL        EQU 33H                ;門限個位
DIS_NO        EQU 34H                ;超聲波編號
CNT                EQU 35H                ;中斷計數
DIS_NUM        EQU 36H                ;顯示區編號(對應超聲波編號)
DIS_CNT        EQU 37H                ;用于控制顯示切換速度
TMP_H        EQU 38H                ;測時距離暫存高
TMP_M        EQU 39H                ;測時距離暫存中
TMP_L        EQU 3AH                ;測時距離暫存低
TMP_HO        EQU 3BH                ;比較時距離高
TMP_MO        EQU 3CH                ;比較時距離中
TMP_LO        EQU 3DH                ;比較時距離低
BEEP_F        EQU 3EH                ;響聲頻次,越大頻率越低
BEEP_C        EQU 3FH                ;響聲計數
DISBUF        EQU 40H                ;顯示緩沖區
POS_NUM        EQU 50H                ;設置位置
        
DOT                BIT 00H                ;有無小數點
FLAG        BIT 01H                ;溢出標志
TFLAG        BIT 02H                ;200ms時間標志
SETFLAG        BIT 03H                ;設置狀態標志
ALMFLAG        BIT 04H                ;報警標志
FLASH        BIT 05H                ;閃爍狀態
FLASHH        BIT 06H                ;1=高位閃爍
FLASHM        BIT 07H                ;1=中位閃爍
FLASHL        BIT 08H                ;1=低位閃爍
;-------------------------------------------------------
        ORG 0000H
        LJMP MAIN
        ORG 000BH
        LJMP T0ISR
        ORG 001BH
        LJMP T1ISR
        ORG 0030H
;-------------------------------------------------------
MAIN:
        MOV TMOD,#11H        ;定時器設置為模式1
        MOV TH0,#0
        MOV TL0,#0
        MOV TH1,#0F0H        ;4毫秒定時
        MOV TL1,#60H
        SETB ET0                ;開定時器0中斷
        SETB ET1                ;開定時器1中斷
        SETB TR1                ;啟動定時器1
        SETB EA                        ;開總中斷
        MOV SETH,#1                ;缺省門限150cm
        MOV SETM,#5
        MOV SETL,#0
        
        MOV SCAN,#0                ;初始化一些變量
        MOV CNT,#0
        MOV DIS_NO,#0
        CLR TFLAG
LOOP:
        LCALL KEYSCAN                ;掃描按鍵
        JNB TFLAG,LOOP                ;200毫秒定時未到,等待
        JB SETFLAG,LOOP                ;如果是設置狀態轉LOOP
LOOP1:
        CLR TFLAG                        ;清定時標志
//        LCALL DIST_Q                ;測前方距離
//        LCALL DIST_H                ;測后方距離
//        LCALL DIST_Z                ;測左前距離
//        LCALL DIST_Y                ;測右前距離
        

L1:JB FRON,L2
   LCALL DELAYUS
   JB FRON,L2
   LCALL DIST_Q
L2:JB BEHD,L3
   LCALL DELAYUS
   JB BEHD,L3
   LCALL DIST_H
L3:JB LEFT,L4
   LCALL DELAYUS
   JB LEFT,L4
   LCALL DIST_Z
L4:JB RIGT,LOOP
   LCALL DELAYUS
   JB RIGT,LOOP
   LCALL DIST_Y
   SJMP LOOP
;-------------------------------------------------------
;報警控制
ALARM:
        JB ALMFLAG,ALARM1        ;有報警轉報警處理
        SETB FMQ                        ;蜂鳴器置1
        RET
ALARM1:
        INC BEEP_C                        ;計數變量加1
        MOV A,BEEP_C
        CJNE A,BEEP_F,ALARM2        ;與當前距離對應頻次數比較
ALARM2:
        JC ALARM3                                ;小于則返回
        MOV BEEP_C,#0                        ;否則清計數變量
        CPL FMQ                                        ;蜂鳴器反向
ALARM3:
        RET
;-------------------------------------------------------
KEYSCAN:
        JB KSET,KSCANA                        ;設置鍵未按下轉
        LCALL DELAY                                ;延時去抖
        JB KSET,KSCANA                        ;再判斷一次
        JNB KSET,$                                ;等待按鍵抬起
        INC POS_NUM                                ;位置變量加1
        MOV A,POS_NUM                        
        MOV B,#4                                ;0到3之間切換
        DIV AB
        MOV POS_NUM,B
        MOV A,B
        CJNE A,#0,KSCANF1
        CLR SETFLAG                                ;位置變量為0,清設置標志,退出
        RET
KSCANF1:
        CJNE A,#1,KSCANF2                ;為1,個位閃爍
        SETB FLASHL
        CLR FLASHM
        CLR FLASHH
        SETB SETFLAG
        RET
KSCANF2:
        CJNE A,#2,KSCANF3                ;為2,十位閃爍
        SETB FLASHM
        CLR FLASHH
        CLR FLASHL
        SETB SETFLAG
        RET
KSCANF3:
        SETB FLASHH                                ;為3,百位閃爍
        CLR FLASHM
        CLR FLASHL
        SETB SETFLAG
        RET
KSCANA:
        JB KADD,KSCANS                        ;加鍵
        LCALL DELAY
        JB KADD,KSCANS
        JNB KADD,$
        MOV A,POS_NUM
        DEC A
        JNZ KSCANA1
        INC SETL                                ;位置變量為1,個位加1
        MOV A,SETL
        MOV B,#10
        DIV AB
        MOV SETL,B
        RET
KSCANA1:
        DEC A
        JNZ KSCANA2
        INC SETM                                ;位置變量為2,十位加1
        MOV A,SETM
        MOV B,#10
        DIV AB
        MOV SETM,B
        RET
KSCANA2:
        INC SETH                                ;位置變量為3,百位加1
        MOV A,SETH
        MOV B,#3
        DIV AB
        MOV SETH,B
        RET
KSCANS:
        JB KSUB,KSCANR                        ;減鍵
        LCALL DELAY
        JB KSUB,KSCANR
        JNB KSUB,$
        MOV A,POS_NUM
        DEC A
        JNZ KSCANS1
        DEC SETL                                ;位置變量為1,個位減1
        MOV A,SETL
        JNB ACC.7,KSCANR
        MOV SETL,#9
        RET
KSCANS1:
        DEC A
        JNZ KSCANS2
        DEC SETM                                ;位置變量為2,十位減1
        MOV A,SETM
        JNB ACC.7,KSCANR
        MOV SETM,#9
        RET
KSCANS2:
        DEC SETH                                ;位置變量為3,百位減1
        MOV A,SETH
        JNB ACC.7,KSCANR
        MOV SETH,#2
KSCANR:
        RET
;-------------------------------------------------------
;前方測距
DIST_Q:
        MOV TH0,#0                ;初始值為0
        MOV TL0,#0
        SETB TXQ                ;拉高TXQ
        LCALL DELAYUS        ;延時20us左右
        CLR TXQ                        ;拉低TX
        JNB RXQ,$                ;等待RXQ變高
        SETB TR0                ;啟動定時器0
        JB RXQ,$                ;等待RXQ變低
        CLR TR0                        ;關閉定時器0
        MOV DIS_NO,#0        ;超聲波編號為0
        LCALL COUNT                ;計算距離
        RET
;-------------------------------------------------------
;后方測距
DIST_H:
        MOV TH0,#0
        MOV TL0,#0
        SETB TXH               
        LCALL DELAYUS
        CLR TXH
        JNB RXH,$                ;等待RXH變高
        SETB TR0
        JB RXH,$                ;等待RXH變低
        CLR TR0
        MOV DIS_NO,#1        ;超聲波編號為1
        LCALL COUNT
        RET
;-------------------------------------------------------
;左方測距
DIST_Z:
        MOV TH0,#0
        MOV TL0,#0
        SETB TXZ
        LCALL DELAYUS
        CLR TXZ
        JNB RXZ,$                ;等待RXZ變高
        SETB TR0
        JB RXZ,$                ;等待RXZ變低
        CLR TR0
        MOV DIS_NO,#2        ;超聲波編號為2
        LCALL COUNT
        RET
;-------------------------------------------------------
;右方測距
DIST_Y:
        MOV TH0,#0
        MOV TL0,#0
        SETB TXY
        LCALL DELAYUS
        CLR TXY
        JNB RXY,$                ;等待RXY變高
        SETB TR0
        JB RXY,$                ;等待RXY變低
        CLR TR0
        MOV DIS_NO,#3        ;超聲波編號為3
        LCALL COUNT
        RET
;-------------------------------------------------------
;延時20us
DELAYUS:
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        RET
;-------------------------------------------------------
;T1中斷程序
T1ISR:
        PUSH ACC                ;保護現場
        PUSH B
        PUSH PSW
        PUSH 00H
        CLR TR1
        MOV TH1,#0F0H        ;4ms
        MOV TL1,#60H
        SETB TR1
        INC CNT
        MOV A,CNT
        CJNE A,#50,T1COMP        ;200ms測一次
T1COMP:
        JC T1RE
        MOV CNT,#0
        SETB TFLAG                        ;置時間到標志
        CPL FLASH                        ;閃爍控制取反
        LCALL ALARM                        ;報警控制
//        INC DIS_CNT                        ;變量加1,這個變量控制顯示切換速度
//        MOV A,DIS_CNT
//        MOV B,#5                        ;這里為5,也就是1秒切換一次
//        DIV AB                                ;控制顯示切換變量/5
//        MOV DIS_CNT,B                ;余數傳給控制顯示變量
//        MOV A,B                                ;余數傳給A
//        JNZ T1RE                        ;余數不為0,則跳轉
//        INC DIS_NUM                        ;顯示的超聲波設備編號+1
//        MOV A,DIS_NUM
//        MOV B,#4
//        DIV AB                                ;超聲波編號/4
//        MOV DIS_NUM,B                ;將超聲波編號/4的結果的余數傳給超聲波編號,意在使超聲波編號在0~3之間循環
T1RE:
        JB SETFLAG,T1RE1        ;如果是設置狀態轉
        LCALL DISPLAY                ;非設置狀態顯示
        SJMP T1RE2
T1RE1:
        LCALL DIS_SET                ;設置狀態顯示
T1RE2:
        POP 00H                                ;恢復現場
        POP PSW
        POP B
        POP ACC
        RETI
;-------------------------------------------------------
;T0中斷程序,表示距離溢出
T0ISR:
        SETB FLAG                        ;溢出
        RETI
;-------------------------------------------------------
COUNT:
        MOV R3,TH0                        ;去定時器結果
        MOV R4,TL0
        MOV R7,#17                        ;乘以17
        LCALL NMUL21
        MOV R7,#100                        ;除以(100*10)得到厘米數
        LCALL NDIV31
        MOV R7,#10
        LCALL NDIV31
;以下處理數據將,標號以及計算結果變為百十個位存入緩沖區
;前:DISBUF+0,DISBUF+1,DISBUF+2,DISBUF+3        
;后:DISBUF+4,DISBUF+5,DISBUF+6,DISBUF+7        
;左:DISBUF+8,DISBUF+9,DISBUF+10,DISBUF+11        
;右:DISBUF+12,DISBUF+13,DISBUF+14,DISBUF+15        
        MOV R0,#DISBUF          ;顯示的首地址送R0
        MOV A,DIS_NO          ;把超聲波的編號送A
        MOV B,#4                  ;把4送B
        MUL AB                          ;超聲波的編號*4
        ADD A,R0                  ;超聲波的編號*4的結果的低位+顯示數據的首地址,可得出相對應的超聲波存放顯示數據的首地址
        MOV R0,A                  ;將地址傳給R0                                                  
        MOV A,#10                  ;把10送A
        ADD A,DIS_NO          ;每個區段的首位分別是A,B,C,D
        MOV @R0,A                  ;將要顯示的首位送到對應地址中
        INC R0                          ;地址+1
;計算結果與700(02BCH)比較,大于它則溢出
        MOV A,R4                  ;將計算結果的低位傳給A
        CLR C                          
        SUBB A,#0BCH          ;用  計算結果的低位—700的十六進制數的低位  ,差傳給A
        MOV A,R3              ;將計算結果的高位傳給A
        SUBB A,#2                  ;用  計算結果的高位—700的十六進制數的高位  ,差傳給A
        JNC C_ERR                  ;若cy為0,則表示計算結果大于700,顯示"----"
        JB FLAG,C_ERR          ;若溢出標志為1,則顯示"----"
;求百十個位并存儲在相應位置        
        MOV R7,#10                        ;將10傳給R7
        LCALL NDIV31                ;調用除法子程序,計算結果/10
        PUSH 07H                        ;將余數,即計算結果個位數入棧
        MOV R7,#10                        ;
        LCALL NDIV31
        PUSH 07H                    ;將余數,即計算結果十位數入棧
        MOV R7,#10
        LCALL NDIV31
        MOV A,R7                        ;將余數,即計算結果百位數傳給A
        MOV @R0,A                        ;百位數傳到相應地址
        MOV TMP_H,A                        ;百位數存入暫存地址
        POP ACC                                ;十位數出棧
        INC R0                                ;地址+1
        MOV @R0,A                        ;十位數傳到地址
        MOV TMP_M,A                        ;十位數存入暫存地址
        POP ACC                                ;個位數出棧
        INC R0                                ;地址+1
        MOV @R0,A                        ;個位數傳到地址
        MOV TMP_L,A                        ;個位數傳到暫存地址
        LCALL COMPLIMT        ;報警預處理
        RET
C_ERR:                                ;溢出則顯示---
        MOV A,#10H                ;將數字16傳給A,代表的是數據表中的"-"
        MOV @R0,A                ;R0為各傳感器顯示數值的地址
        INC R0
        MOV @R0,A
        INC R0
        MOV @R0,A
        CLR FLAG                ;溢出標志清0
        RET
;-------------------------------------------------------
;取一次測出的四個方向距離的最小值和臨界值比較
COMPLIMT:        
        MOV A,DIS_NO                ;送超聲波編號到A
        ;JNZ COMPLT1                        ;非前方超聲波則跳轉
        MOV TMP_HO,TMP_H        ;前方距離送中間變量
        MOV TMP_MO,TMP_M
        MOV TMP_LO,TMP_L
//COMPLT1:                                ;比較變量與四組數據比較求最小值
//        CLR C
//        MOV A,TMP_LO                ;
//        SUBB A,TMP_L                ;比較變量低位-實測距離低位
//        MOV A,TMP_MO
//        SUBB A,TMP_M                ;比較變量中位-實測距離中位-cy
//        MOV A,TMP_HO
//        SUBB A,TMP_H                ;比較變量高位-實測距離高位-cy
//        JC COMPLT2                        ;比較變量>實測距離值,跳轉
//        MOV TMP_HO,TMP_H        ;比較變量<實測距離值,實測距離值->比較值
//        MOV TMP_MO,TMP_M
//        MOV TMP_LO,TMP_L
//COMPLT2:
//        MOV A,DIS_NO                ;將超聲波編號傳給A
//        CJNE A,#3,COMPLT3        ;編號<3,cy=1,往下執行。 若編號=3,cy=0,跳轉
COMPLT3:                                ;到最后一組數據,那么比較變量與臨界值比較
        ;JC COMPLTR                        ;cy=1,即編號<3,跳轉
        CLR C
        MOV A,TMP_LO               
        SUBB A,SETL                        ;比較變量低位-臨界值低位-cy
        MOV A,TMP_MO
        SUBB A,SETM                        ;比較變量中位-臨界值中位-cy
        MOV A,TMP_HO
        SUBB A,SETH                        ;比較變量高位-臨界值高位-cy
        JNC COMPLT4                        ;若cy=0,跳轉
        SETB ALMFLAG                ;若cy=1,即比較變量<臨界值,即測得的距離<臨界值,置位報警標志
        LCALL GET_DAT                ;根據距離大小求報警聲音長短
        RET
COMPLT4:
        CLR ALMFLAG                        ;復位報警標志
COMPLTR:
        RET
;-------------------------------------------------------
;計算報警聲音時長(高位*100+中位*10+低位)/20
GET_DAT:
        MOV A,TMP_MO                ;比較變量中位傳給A
        MOV B,#10                        ;把10傳給B
        MUL AB                                ;比較變量中位*10,A存結果低位,B存高位
        ADD A,TMP_LO                ;(比較變量中位*10)結果的低位+比較變量低位
        MOV R4,A                        ;[(比較變量中位*10)結果的低位+比較變量低位]的結果存入R4
        MOV A,TMP_HO                ;比較變量高位傳給A
        MOV B,#100                        ;把100傳給B
        MUL AB                                ;比較變量高位*100,A存結果低位,B存高位
        ADD A,R4                        ;(比較變量高位*100)結果的低位+R4
        MOV R4,A                        ;[(比較變量高位*100)結果的低位+R4]的結果存入R4
        MOV A,B                                ;(比較變量高位*100)結果的高位傳給A
        ADDC A,#0                        ;A+cy+0
        MOV R3,A                        ;A->R3
        MOV R2,#0
        MOV R7,#20                        ;距離除以20得聲音長度值
        LCALL NDIV31                ;調用除法子程序,商為R3R4,余數為R7
        MOV A,R4                        ;將商的低位傳給A
        JNZ GET_DAT1                ;商的低位不等于0,則跳轉
        MOV A,#1                        ;商的低位=0,送1到A
GET_DAT1:
        MOV BEEP_F,A                ;把商的低位或者1傳給蜂鳴器響聲頻次
        RET
;-------------------------------------------------------
;(R3R4*R7)=(R2R3R4)
NMUL21:
        MOV A,R4                ;時間低位傳給A
        MOV B,R7                ;乘數R7傳給B
        MUL AB                        ;時間低位*R7,結果的低位為A,高位為B
        MOV R4,A                ;時間低位*R7的結果的低位存入R4,即為最終結果的低位
        MOV A,B                        ;時間低位*R7的結果的高位傳給A
        XCH A,R3                ;(時間低位*R7的結果的高位)與時間的高位交換
        MOV B,R7                ;乘數傳給B
        MUL AB                        ;時間高位*R7,結果的低位為A,高位為B
        ADD A,R3                ;時間高位*R7結果的低位 + 時間低位*R7的結果的高位
        MOV R3,A                ;將(時間高位*R7結果的低位 + 時間低位*R7的結果的高位)的結果傳給R3
        CLR A                        ;將A清0
        ADDC A,B                ;時間高位*R7的結果的高位 + cy
        MOV R2,A                ;(時間高位*R7的結果的高位 + cy)->R2
        CLR OV
        RET
;-----------------------------------        
;三字節無符號除法程序(R2R3R4/R7)=(R2)R3R4 余數R7
NDIV31:
        MOV A,R2                ;時間*17結果的高位傳給A
        MOV B,R7                ;將被除數傳給B
        DIV AB                        ;高位/17,商放A,余數放B
        PUSH ACC                ;將商入棧
        MOV R2,B                ;將余數重新傳給B
        MOV B,#10H                ;把16傳給B
NDV311:
        CLR C                        ;CY清0
        MOV A,R4                ;低位R4傳給A
        RLC A                        ;左移A(R4)
        MOV R4,A                ;將A傳給R4
        MOV A,R3                ;中位R3傳給A
        RLC A                        ;左移A(R3)
        MOV R3,A                ;將A傳給R3
        MOV A,R2                ;高位R2傳給A
        RLC A                        ;左移A(R2)
        MOV R2,A                ;將A傳給R2
        MOV F0,C                ;將CY的值傳給F0
        CLR C                        ;CY清0
        SUBB A,R7                ;A(R2)-R7
        JB F0,NDV312
        JC NDV313
NDV312:
        MOV R2,A
        INC R4
NDV313:
        DJNZ B,NDV311
        POP ACC
        CLR OV
        JZ NDV314
        SETB OV
NDV314:
        XCH A,R2
        MOV R7,A
RET
;-------------------------------------------------------
DIS_SET:                                ;設置狀態顯示控制(顯示設置值大小)
        MOV A,SCAN
        JNZ DIS_SET1
        MOV P2,#0F1H                        ;第一位顯示
        MOV A,#16
        CLR DOT
        SJMP SET_DIS
DIS_SET1:
        DEC A
        JNZ DIS_SET2
        MOV P2,#0F2H                        ;第二位顯示
        MOV A,SETH
        JNB FLASH,DIS_SET11        ;不閃爍轉
        JNB FLASHH,DIS_SET11        ;本位不閃爍轉
        MOV A,#17                        ;否則本位熄滅
DIS_SET11:
        SETB DOT
        SJMP SET_DIS
DIS_SET2:
        DEC A
        JNZ DIS_SET3
        MOV P2,#0F4H
        MOV A,SETM
        JNB FLASH,DIS_SET21
        JNB FLASHM,DIS_SET21
        MOV A,#17
DIS_SET21:
        CLR DOT
        SJMP SET_DIS
DIS_SET3:
        MOV P2,#0F8H
        MOV A,SETL
        JNB FLASH,DIS_SET31
        JNB FLASHL,DIS_SET31
        MOV A,#17
DIS_SET31:
        CLR DOT
SET_DIS:
        MOV DPTR,#LEDTAB        ;段碼首地址
        MOVC A,@A+DPTR                ;查表
        JNB DOT,SET_DIS1        ;不加小數點的跳轉
        ANL A,#7FH
SET_DIS1:
        MOV P0,A
        INC SCAN
        MOV A,SCAN
        MOV B,#4                        ;共4位
        DIV AB
        MOV SCAN,B
        RET
;-------------------------------------------------------
DISPLAY:                                ;正常狀態顯示(顯示距離)
        MOV A,SCAN
        JNZ DIS01                        ;顯示位控為0,順序執行,不為0,跳轉
        MOV P2,#0F1H                        ;點亮第一位數碼管
        CLR DOT                                ;小數點標志置0
        SJMP DISP                        ;跳轉顯示數據
DIS01:
        DEC A
        JNZ DIS02
        MOV P2,#0F2H
        SETB DOT
        SJMP DISP
DIS02:
        DEC A
        JNZ DIS03
        MOV P2,#0F4H
        CLR DOT
        SJMP DISP
DIS03:
        MOV P2,#0F8H
        CLR DOT
DISP:
        MOV DPTR,#LEDTAB
        MOV R0,#DISBUF                  ;顯示首地址傳給R0
        MOV A,DIS_NO                  ;對應超聲波編號的顯示區編號->A
        MOV B,#4                          ;傳4給B
        MUL AB                                  ;顯示區編號*4,A存低位,B存高位
        ADD A,R0                          ;首地址 + (顯示區編號*4結果的低位)
        ADD A,SCAN                          ;[首地址 + (顯示區編號*4結果的低位)]+顯示位控變量
        MOV R0,A                          ;將對應的超聲波的某位顯示數據的地址傳給R0
        MOV A,@R0                          ;將對應地址的值傳給A
        MOVC A,@A+DPTR              ;查表
        JNB DOT,DISP1                  ;判斷是否輸出小數點
        ANL A,#7FH                          ;需要輸出小數點,將小數點對應的管腳置0
DISP1:
        MOV P0,A                          ;將查表結果從P0口輸出
        INC SCAN                          ;顯示位控+1
        MOV A,SCAN                          ;顯示位控傳給A
        CJNE A,#4,DISP2                  ;顯示位控!=4且<4,跳轉,cy=1
DISP2:
        JC DISRE                          ;cy=1跳轉
        MOV SCAN,#0                          ;顯示位控=0
DISRE:
        RET
;-------------------------------------------------------
DELAY:
        MOV R2,#20
DLY:
        MOV R3,#249
        DJNZ R3,$
        DJNZ R2,DLY
        RET
;-------------------------------------------------------
LEDTAB:
        DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0BFH,0FFH
        END

文件打包如下:
超聲波報警.rar (112.41 KB, 下載次數: 49)






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 视频在线亚洲 | 巨大黑人极品videos精品 | 国产午夜精品一区二区三区嫩草 | 在线观看视频一区 | 欧美精品在线视频 | 大久 | 亚洲一区视频在线播放 | 亚洲欧美国产精品久久 | 免费一级片 | 国产精品网址 | 欧美2区 | 一级黄色淫片 | 国产一区二区三区免费 | 国产成人影院 | 欧美一级二级三级 | 久久久女女女女999久久 | 亚洲成人一区二区三区 | 在线a视频网站 | 色婷婷综合久久久久中文一区二区 | 免费国产一区 | 欧美一区二区三区国产精品 | 亚洲精品久久久久久久久久久久久 | 一本综合久久 | 国产伦精品一区二区 | 国产精品国产精品国产专区不卡 | 国产激情一区二区三区 | 日本不卡一区 | 99亚洲精品 | 成人国产免费观看 | 波多野结衣二区 | 国产毛片久久久 | 91看片在线 | 欧美一区二区三区在线免费观看 | 亚洲一级毛片 | 日韩欧美在线一区 | 亚洲免费在线观看 | 国产成人99久久亚洲综合精品 | 在线看片网站 | 婷婷色国产偷v国产偷v小说 | 色伊人久久 | 免费在线观看h片 |