4個超聲波,在顯示里由abcd代替,設(shè)置里調(diào)整報警臨界值,離得越近報警速度越快
51hei截圖20200617154737.png (177.95 KB, 下載次數(shù): 24)
下載附件
硬件組成
2020-6-17 15:48 上傳
51hei截圖20200617154817.png (179.72 KB, 下載次數(shù): 30)
下載附件
d超聲波距離
2020-6-17 15:48 上傳
程序如下
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 ;中斷計數(shù)
DIS_NUM EQU 36H ;顯示區(qū)編號(對應(yīng)超聲波編號)
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 ;響聲計數(shù)
DISBUF EQU 40H ;顯示緩沖區(qū)
POS_NUM EQU 50H ;設(shè)置位置
DOT BIT 00H ;有無小數(shù)點
FLAG BIT 01H ;溢出標志
TFLAG BIT 02H ;200ms時間標志
SETFLAG BIT 03H ;設(shè)置狀態(tài)標志
ALMFLAG BIT 04H ;報警標志
FLASH BIT 05H ;閃爍狀態(tài)
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 ;定時器設(shè)置為模式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 ;如果是設(shè)置狀態(tài)轉(zhuǎn)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 ;有報警轉(zhuǎn)報警處理
SETB FMQ ;蜂鳴器置1
RET
ALARM1:
INC BEEP_C ;計數(shù)變量加1
MOV A,BEEP_C
CJNE A,BEEP_F,ALARM2 ;與當前距離對應(yīng)頻次數(shù)比較
ALARM2:
JC ALARM3 ;小于則返回
MOV BEEP_C,#0 ;否則清計數(shù)變量
CPL FMQ ;蜂鳴器反向
ALARM3:
RET
;-------------------------------------------------------
KEYSCAN:
JB KSET,KSCANA ;設(shè)置鍵未按下轉(zhuǎn)
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,清設(shè)置標志,退出
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 ;關(guān)閉定時器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 ;保護現(xiàn)場
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 ;余數(shù)傳給控制顯示變量
// MOV A,B ;余數(shù)傳給A
// JNZ T1RE ;余數(shù)不為0,則跳轉(zhuǎn)
// INC DIS_NUM ;顯示的超聲波設(shè)備編號+1
// MOV A,DIS_NUM
// MOV B,#4
// DIV AB ;超聲波編號/4
// MOV DIS_NUM,B ;將超聲波編號/4的結(jié)果的余數(shù)傳給超聲波編號,意在使超聲波編號在0~3之間循環(huán)
T1RE:
JB SETFLAG,T1RE1 ;如果是設(shè)置狀態(tài)轉(zhuǎn)
LCALL DISPLAY ;非設(shè)置狀態(tài)顯示
SJMP T1RE2
T1RE1:
LCALL DIS_SET ;設(shè)置狀態(tài)顯示
T1RE2:
POP 00H ;恢復現(xiàn)場
POP PSW
POP B
POP ACC
RETI
;-------------------------------------------------------
;T0中斷程序,表示距離溢出
T0ISR:
SETB FLAG ;溢出
RETI
;-------------------------------------------------------
COUNT:
MOV R3,TH0 ;去定時器結(jié)果
MOV R4,TL0
MOV R7,#17 ;乘以17
LCALL NMUL21
MOV R7,#100 ;除以(100*10)得到厘米數(shù)
LCALL NDIV31
MOV R7,#10
LCALL NDIV31
;以下處理數(shù)據(jù)將,標號以及計算結(jié)果變?yōu)榘偈畟位存入緩沖區(qū)
;前: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的結(jié)果的低位+顯示數(shù)據(jù)的首地址,可得出相對應(yīng)的超聲波存放顯示數(shù)據(jù)的首地址
MOV R0,A ;將地址傳給R0
MOV A,#10 ;把10送A
ADD A,DIS_NO ;每個區(qū)段的首位分別是A,B,C,D
MOV @R0,A ;將要顯示的首位送到對應(yīng)地址中
INC R0 ;地址+1
;計算結(jié)果與700(02BCH)比較,大于它則溢出
MOV A,R4 ;將計算結(jié)果的低位傳給A
CLR C
SUBB A,#0BCH ;用 計算結(jié)果的低位—700的十六進制數(shù)的低位 ,差傳給A
MOV A,R3 ;將計算結(jié)果的高位傳給A
SUBB A,#2 ;用 計算結(jié)果的高位—700的十六進制數(shù)的高位 ,差傳給A
JNC C_ERR ;若cy為0,則表示計算結(jié)果大于700,顯示"----"
JB FLAG,C_ERR ;若溢出標志為1,則顯示"----"
;求百十個位并存儲在相應(yīng)位置
MOV R7,#10 ;將10傳給R7
LCALL NDIV31 ;調(diào)用除法子程序,計算結(jié)果/10
PUSH 07H ;將余數(shù),即計算結(jié)果個位數(shù)入棧
MOV R7,#10 ;
LCALL NDIV31
PUSH 07H ;將余數(shù),即計算結(jié)果十位數(shù)入棧
MOV R7,#10
LCALL NDIV31
MOV A,R7 ;將余數(shù),即計算結(jié)果百位數(shù)傳給A
MOV @R0,A ;百位數(shù)傳到相應(yīng)地址
MOV TMP_H,A ;百位數(shù)存入暫存地址
POP ACC ;十位數(shù)出棧
INC R0 ;地址+1
MOV @R0,A ;十位數(shù)傳到地址
MOV TMP_M,A ;十位數(shù)存入暫存地址
POP ACC ;個位數(shù)出棧
INC R0 ;地址+1
MOV @R0,A ;個位數(shù)傳到地址
MOV TMP_L,A ;個位數(shù)傳到暫存地址
LCALL COMPLIMT ;報警預處理
RET
C_ERR: ;溢出則顯示---
MOV A,#10H ;將數(shù)字16傳給A,代表的是數(shù)據(jù)表中的"-"
MOV @R0,A ;R0為各傳感器顯示數(shù)值的地址
INC R0
MOV @R0,A
INC R0
MOV @R0,A
CLR FLAG ;溢出標志清0
RET
;-------------------------------------------------------
;取一次測出的四個方向距離的最小值和臨界值比較
COMPLIMT:
MOV A,DIS_NO ;送超聲波編號到A
;JNZ COMPLT1 ;非前方超聲波則跳轉(zhuǎn)
MOV TMP_HO,TMP_H ;前方距離送中間變量
MOV TMP_MO,TMP_M
MOV TMP_LO,TMP_L
//COMPLT1: ;比較變量與四組數(shù)據(jù)比較求最小值
// 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 ;比較變量>實測距離值,跳轉(zhuǎn)
// 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,往下執(zhí)行。 若編號=3,cy=0,跳轉(zhuǎn)
COMPLT3: ;到最后一組數(shù)據(jù),那么比較變量與臨界值比較
;JC COMPLTR ;cy=1,即編號<3,跳轉(zhuǎn)
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,跳轉(zhuǎn)
SETB ALMFLAG ;若cy=1,即比較變量<臨界值,即測得的距離<臨界值,置位報警標志
LCALL GET_DAT ;根據(jù)距離大小求報警聲音長短
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存結(jié)果低位,B存高位
ADD A,TMP_LO ;(比較變量中位*10)結(jié)果的低位+比較變量低位
MOV R4,A ;[(比較變量中位*10)結(jié)果的低位+比較變量低位]的結(jié)果存入R4
MOV A,TMP_HO ;比較變量高位傳給A
MOV B,#100 ;把100傳給B
MUL AB ;比較變量高位*100,A存結(jié)果低位,B存高位
ADD A,R4 ;(比較變量高位*100)結(jié)果的低位+R4
MOV R4,A ;[(比較變量高位*100)結(jié)果的低位+R4]的結(jié)果存入R4
MOV A,B ;(比較變量高位*100)結(jié)果的高位傳給A
ADDC A,#0 ;A+cy+0
MOV R3,A ;A->R3
MOV R2,#0
MOV R7,#20 ;距離除以20得聲音長度值
LCALL NDIV31 ;調(diào)用除法子程序,商為R3R4,余數(shù)為R7
MOV A,R4 ;將商的低位傳給A
JNZ GET_DAT1 ;商的低位不等于0,則跳轉(zhuǎn)
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 ;乘數(shù)R7傳給B
MUL AB ;時間低位*R7,結(jié)果的低位為A,高位為B
MOV R4,A ;時間低位*R7的結(jié)果的低位存入R4,即為最終結(jié)果的低位
MOV A,B ;時間低位*R7的結(jié)果的高位傳給A
XCH A,R3 ;(時間低位*R7的結(jié)果的高位)與時間的高位交換
MOV B,R7 ;乘數(shù)傳給B
MUL AB ;時間高位*R7,結(jié)果的低位為A,高位為B
ADD A,R3 ;時間高位*R7結(jié)果的低位 + 時間低位*R7的結(jié)果的高位
MOV R3,A ;將(時間高位*R7結(jié)果的低位 + 時間低位*R7的結(jié)果的高位)的結(jié)果傳給R3
CLR A ;將A清0
ADDC A,B ;時間高位*R7的結(jié)果的高位 + cy
MOV R2,A ;(時間高位*R7的結(jié)果的高位 + cy)->R2
CLR OV
RET
;-----------------------------------
;三字節(jié)無符號除法程序(R2R3R4/R7)=(R2)R3R4 余數(shù)R7
NDIV31:
MOV A,R2 ;時間*17結(jié)果的高位傳給A
MOV B,R7 ;將被除數(shù)傳給B
DIV AB ;高位/17,商放A,余數(shù)放B
PUSH ACC ;將商入棧
MOV R2,B ;將余數(shù)重新傳給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: ;設(shè)置狀態(tài)顯示控制(顯示設(shè)置值大小)
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 ;不閃爍轉(zhuǎn)
JNB FLASHH,DIS_SET11 ;本位不閃爍轉(zhuǎn)
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 ;不加小數(shù)點的跳轉(zhuǎn)
ANL A,#7FH
SET_DIS1:
MOV P0,A
INC SCAN
MOV A,SCAN
MOV B,#4 ;共4位
DIV AB
MOV SCAN,B
RET
;-------------------------------------------------------
DISPLAY: ;正常狀態(tài)顯示(顯示距離)
MOV A,SCAN
JNZ DIS01 ;顯示位控為0,順序執(zhí)行,不為0,跳轉(zhuǎn)
MOV P2,#0F1H ;點亮第一位數(shù)碼管
CLR DOT ;小數(shù)點標志置0
SJMP DISP ;跳轉(zhuǎn)顯示數(shù)據(jù)
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 ;對應(yīng)超聲波編號的顯示區(qū)編號->A
MOV B,#4 ;傳4給B
MUL AB ;顯示區(qū)編號*4,A存低位,B存高位
ADD A,R0 ;首地址 + (顯示區(qū)編號*4結(jié)果的低位)
ADD A,SCAN ;[首地址 + (顯示區(qū)編號*4結(jié)果的低位)]+顯示位控變量
MOV R0,A ;將對應(yīng)的超聲波的某位顯示數(shù)據(jù)的地址傳給R0
MOV A,@R0 ;將對應(yīng)地址的值傳給A
MOVC A,@A+DPTR ;查表
JNB DOT,DISP1 ;判斷是否輸出小數(shù)點
ANL A,#7FH ;需要輸出小數(shù)點,將小數(shù)點對應(yīng)的管腳置0
DISP1:
MOV P0,A ;將查表結(jié)果從P0口輸出
INC SCAN ;顯示位控+1
MOV A,SCAN ;顯示位控傳給A
CJNE A,#4,DISP2 ;顯示位控!=4且<4,跳轉(zhuǎn),cy=1
DISP2:
JC DISRE ;cy=1跳轉(zhuǎn)
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
51hei.png (14.53 KB, 下載次數(shù): 27)
下載附件
2020-6-17 18:05 上傳
文件打包如下:
超聲波報警.rar
(112.41 KB, 下載次數(shù): 49)
2020-6-17 15:52 上傳
點擊文件名下載附件
文件 下載積分: 黑幣 -5
|