資料齊全的超聲波測(cè)距學(xué)習(xí)板
超聲波測(cè)距學(xué)習(xí)板,可應(yīng)用于汽車(chē)倒車(chē)、建筑施工工地以及一些工業(yè)現(xiàn)場(chǎng)的位置監(jiān)控,也可用于如液位、井深、管道長(zhǎng)度的測(cè)量等場(chǎng)合。測(cè)量精度1cm,測(cè)量時(shí)與被測(cè)物體無(wú)直接接觸,能夠清晰穩(wěn)定地顯示測(cè)量結(jié)果。
超聲波測(cè)距原理:
超聲波發(fā)生器的內(nèi)部結(jié)構(gòu)有兩個(gè)壓電晶片和一個(gè)共振板,當(dāng)它的兩極外加上固有振蕩頻率的脈沖電壓時(shí)壓電晶片會(huì)發(fā)生共振并產(chǎn)生超聲波。如果共振板接收到超聲波時(shí),也會(huì)迫使壓電晶片產(chǎn)生振動(dòng),反過(guò)來(lái)將機(jī)械能轉(zhuǎn)換為電信號(hào),成為超聲波接收器。
在超聲波測(cè)距電路中,發(fā)射端連續(xù)輸出一系列脈沖方波,然后判斷接收端,實(shí)現(xiàn)超聲測(cè)距一般有以下兩種方法:
① 讀取輸出端脈沖電壓的平均值,該電壓 (其幅值基本固定 )與距離成正比,測(cè)量電壓即可測(cè)得距離;
② 測(cè)量輸出脈沖的寬度,即發(fā)射超聲波與接收超聲波的時(shí)間間隔 t,故被測(cè)距離為 S=1/2vt。
我們的產(chǎn)品采用第二種方案。由于超聲波的傳播速度和溫度有關(guān),如果溫度變化不大,則可認(rèn)為聲速基本不變 。如果測(cè)距精度要求很高,則應(yīng)通過(guò)溫度補(bǔ)償?shù)姆椒右孕U。超聲波測(cè)距適用于高精度的中長(zhǎng)距離測(cè)量。因?yàn)槌暡ㄔ跇?biāo)準(zhǔn)空氣中的傳播速度為331.45米/秒,由單片機(jī)負(fù)責(zé)計(jì)時(shí),單片機(jī)使用12M晶振,所以此系統(tǒng)的測(cè)量精度理論上可以達(dá)到毫米級(jí)。
超聲波測(cè)距的算法設(shè)計(jì):
超聲波在空氣中傳播速度為每秒鐘340米(15℃時(shí))。X2是聲波返回的時(shí)刻,X1是聲波發(fā)聲的時(shí)刻,X2-X1得出的是一個(gè)時(shí)間差的絕對(duì)值,假定X2-X1=0.01S,則有(340×0.01S)/2=1.7。這就是根據(jù)超聲波從發(fā)出到遇到反射物后返回的時(shí)間換算后得到的1.7米距離。
產(chǎn)品1:超聲波測(cè)距成品學(xué)習(xí)板 缺貨,停止郵購(gòu)!
產(chǎn)品性能特點(diǎn):
我們的超聲波測(cè)距成品學(xué)習(xí)板大小為90*75*10毫米,板上自帶:超聲波收發(fā)傳感器、接收放大電路、四位LED數(shù)碼顯示、四位按鍵(四個(gè)按鈕和蜂鳴器屬于功能預(yù)留,程序中無(wú)定義),電源部分自帶整流、濾波、穩(wěn)壓電路,允許交流7~15V或者直流9~16V輸入,經(jīng)過(guò)實(shí)際測(cè)試,測(cè)量范圍可達(dá)0.27~3.5米,測(cè)量精度為1厘米。因?yàn)槲覀兡芴峁┩暾脑闯绦,客?hù)不但可以學(xué)習(xí)超聲波測(cè)距的知識(shí),還可以直接將這項(xiàng)技術(shù)用于產(chǎn)品開(kāi)發(fā),是不可多得的資料。
單片機(jī)系統(tǒng)及顯示電路:
超聲波學(xué)習(xí)板采用STC89C52單片機(jī),晶振為12M,單片機(jī)用P1.0口輸出超聲波換能器所需的40K方波信號(hào),利用外中斷口0監(jiān)測(cè)超聲波接收電路輸出的返回信號(hào),顯示電路采用簡(jiǎn)單的4位共陽(yáng)LED數(shù)碼管,段碼用74HC245D,位碼用PNP三極管9012驅(qū)動(dòng).
主要由單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波檢測(cè)接收電路三部分組成。采用STC89C52來(lái)實(shí)現(xiàn)對(duì)CX20106A紅外接收芯片和TCT40-10系列超聲波轉(zhuǎn)換模塊的控制。單片機(jī)通過(guò)P1.0引腳經(jīng)反相器來(lái)控制超聲波的發(fā)送,然后單片機(jī)不停的檢測(cè)INT0引腳,當(dāng)INT0引腳的電平由高電平變?yōu)榈碗娖綍r(shí)就認(rèn)為超聲波已經(jīng)返回。計(jì)數(shù)器所計(jì)的數(shù)據(jù)就是超聲波所經(jīng)歷的時(shí)間,通過(guò)換算就可以得到傳感器與障礙物之間的距離。
答疑解惑:
1、為什么你們選40KHZ的超聲波傳感器?
因?yàn)槌暡ㄔ诳諝庵袀鞑r(shí)衰減很大,衰減的程度與頻率成正比,但是頻率越高則分辨力也會(huì)越高,所以短距離測(cè)量時(shí)一般選頻率高的傳感器(100KHZ以上),長(zhǎng)距離測(cè)距只能選頻率低的傳感器。
2、為什么你們的最小檢測(cè)距離為27厘米?
為了防止超聲波發(fā)射傳感器發(fā)出超聲波沿電路板或者外殼直接進(jìn)入超聲波接收傳感器內(nèi)引起誤判斷,所以程序要求超聲波發(fā)射若干時(shí)間后必須停止若干時(shí)間,這個(gè)時(shí)間大約是超聲波在空氣中傳播20多厘米的時(shí)間,這段時(shí)間內(nèi)是不接受信號(hào)的,主要就是為了躲開(kāi)直接傳導(dǎo)的信號(hào)避免引起誤判斷。
3、電路板上的四個(gè)按鈕和蜂鳴器有啥作用?
這是為后續(xù)開(kāi)發(fā)應(yīng)用所預(yù)留的,例如你可以在程序中定義為開(kāi)關(guān)功能,按下一個(gè)按鍵,電路板開(kāi)始測(cè)距、按下另一個(gè)按鍵電路板停止測(cè)距,或者定義為多檔距離報(bào)警設(shè)定,當(dāng)檢測(cè)到低于設(shè)定距離時(shí),驅(qū)動(dòng)蜂鳴器報(bào)警。其實(shí)我們的電路板您也可以加以改進(jìn),例如用1602的液晶模塊代替數(shù)碼管顯示、增加語(yǔ)音電路實(shí)現(xiàn)語(yǔ)音播報(bào)探測(cè)距離等等。
4、為什么我的板不管前面有無(wú)遮擋物總是顯示27呢?
這是因?yàn)闃?biāo)有T字樣的超聲波接收頭沒(méi)有收到正確的回波信息導(dǎo)致工作異常引起的,我們發(fā)現(xiàn)接收頭比較嬌嫩,輕微的磕碰就會(huì)導(dǎo)致內(nèi)部器件錯(cuò)位影響正常工作,但是你只要稍稍旋轉(zhuǎn)或者上下?lián)軇?dòng)一下接收頭,很多情況就會(huì)排除故障又能正常工作了。
超聲波測(cè)距板配套12V 1A直流穩(wěn)壓電源 10元一個(gè)
超聲波專(zhuān)用發(fā)射接收頭 缺貨,停止郵購(gòu)! (標(biāo)有T字樣的是發(fā)射頭,標(biāo)有R字樣的是接收頭)
點(diǎn)擊這里可以看到超聲波測(cè)距學(xué)習(xí)板的PDF原理圖 以下是附帶的詳細(xì)使用資料截圖:
以下是部分匯編源程序,購(gòu)買(mǎi)我們產(chǎn)品后我們可以通過(guò)電子郵件將完整的單片機(jī)匯編語(yǔ)言源程序和燒寫(xiě)文件發(fā)送給客戶(hù)。
;///////////////////////////////////////////////////////
; USE BY :超聲波測(cè)距器
; IC :AT89C51
; TEL :
; OSCCAL :XT (12M)
; display :共陽(yáng)LED顯示
;///////////////////////////////////////////////////////
;測(cè)距范圍7CM-11M,堆棧在4FH以上,20H用于標(biāo)志
;顯示緩沖單元在40H-43H,使用內(nèi)存44H、45H、46H用于計(jì)算距離
;
VOUT EQU P1.0 ; 紅外脈沖輸出端口
speak equ p1.1
;********************************************
;* 中斷入口程序 *
;********************************************
;
ORG 0000H
LJMP START
ORG 0003H
LJMP PINT0
ORG 000BH
reti
ORG 0013H
RETI
ORG 001BH
LJMP INTT1
ORG 0023H
RETI
ORG 002BH
RETI
;
;********************************************
;* 主 程 序 *
;********************************************
;
START: MOV SP,#4FH
MOV R0,#40H ;40H-43H為顯示數(shù)據(jù)存放單元(40H為最高位)
MOV R7,#0BH
CLEARDISP: MOV @R0,#00H
INC R0
DJNZ R7,CLEARDISP
MOV 20H,#00H
MOV TMOD,#11H ;T1為 T0為16位定時(shí)器
MOV TH0,#00H ;65毫秒初值
MOV TL0,#00H
MOV TH1,#00H
MOV TL1,#00H
MOV P0,#0FFH
MOV P1,#0FFH
MOV P2,#0FFH
MOV P3,#0FFH
MOV R4,#04H ;超聲波肪沖個(gè)數(shù)控制(為賦值的一半)
SETB PX0
SETB ET1
SETB EA
SETB TR1 ;開(kāi)啟測(cè)距定時(shí)器
start1: LCALL DISPLAY
JNB 00H,START1 ;收到反射信號(hào)時(shí)標(biāo)志位為1
CLR EA
LCALL WORK ;計(jì)算距離子程序
clr EA
MOV R2,#32h;#64H ;測(cè)量間隔控制(約4*100=400MS)
LOOP: LCALL DISPLAY
DJNZ R2,LOOP
CLR 00H
setb et0
mov th0,00h
mov tl0,00h
SETB TR1 ;重新開(kāi)啟測(cè)距定時(shí)器
SETB EA
SJMP Start1
;
;****************************************************
;* 中斷程序* *
;****************************************************
;T1中斷,發(fā)超聲波用 ;T1中斷,65毫秒中斷一次
INTT1: CLR EA
CLR TR0
clr ex0
MOV TH0,#00H
MOV TL0,#00H
MOV TH1,#00H
MOV TL1,#00H
SETB ET0
SETB EA
SETB TR0 ;啟動(dòng)計(jì)數(shù)器T0,用以計(jì)
intt11:
CPL VOUT ;40KHZ
nop
nop
nop
nop
nop
nop
nop
nop
nop
DJNZ R4,intt11
;超聲波發(fā)送完畢,
MOV R4,#04H
lcall delay_250 ;延時(shí),避開(kāi)發(fā)射的直達(dá)聲波信號(hào)
SETB EX0 ;開(kāi)啟接收回波中斷
RETIOUT: RETI
;外中斷0,收到回波時(shí)進(jìn)入
PINT0: nop
jb p3.2,pint0_exit
CLR TR0 ;關(guān)計(jì)數(shù)器
CLR EA ;
CLR EX0 ;
MOV 44H,TL0 ;將計(jì)數(shù)值移入處理單元
MOV 45H,TH0 ;
mov th0,#00h
mov tl0,#00h
jnb p3.2,$
SETB 00H ;接收成功標(biāo)志
pint0_exit:
RETI
;
;****************************************************
;* 顯示程序 *
;****************************************************
; 40H為最高位,43H為最低位,先掃描高位
DISPLAY: MOV R1,#40H;G
MOV R5,#7fH;G
PLAY: MOV A,R5
MOV P0,#0FFH
MOV P2,A
MOV A,@R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
LCALL DL1MS
INC R1
MOV A,R5
JNB ACC.4,ENDOUT;G
RR A
MOV R5,A
AJMP PLAY
ENDOUT: MOV P2,#0FFH
MOV P0,#0FFH
RET
;
TAB: DB 18h, 7Bh, 2Ch, 29h, 4Bh, 89h, 88h, 3Bh, 08h, 09h,0ffh
;共陽(yáng)段碼表 "0" "1" "2" "3" "4"
"5""6" "7" "8" "9" "不亮""A""-"
;
;****************************************************
;* 延時(shí)程序 *
;****************************************************
;
DL1MS:
push 06h
push 07h
MOV R6,#14H
DL1: MOV R7,#19H
DL2: DJNZ R7,DL2
DJNZ R6,DL1
pop 07h
pop 06h
RET
;
;****************************************************
;* 距離計(jì)算程序 (=計(jì)數(shù)值*17/1000cm) *
;****************************************************
;
work: PUSH ACC
PUSH PSW
PUSH B
MOV PSW, #18h
MOV R3, 45H
MOV R2, 44H
MOV R1, #00D
MOV R0, #17D
LCALL MUL2BY2
MOV R3, #03H
MOV R2, #0E8H
LCALL DIV4BY2
LCALL DIV4BY2
MOV 40H, R4
MOV A,40H
JNZ JJ0
MOV 40H,#0AH ;最高位為零,不點(diǎn)亮
JJ0: MOV A, R0
MOV R4, A
MOV A, R1
MOV R5, A
MOV R3, #00D
MOV R2, #100D
LCALL DIV4BY2
MOV 41H, R4
MOV A,41H
JNZ JJ1
MOV A,40H ;次高位為0,先看最高位是否為不亮
SUBB A,#0AH
JNZ JJ1
MOV 41H,#0AH ;最高位不亮,次高位也不亮
JJ1: MOV A, R0
MOV R4, A
MOV A, R1
MOV R5, A
MOV R3, #00D
MOV R2, #10D
LCALL DIV4BY2
MOV 42H, R4
MOV A,42H
JNZ JJ2
MOV A,41H ;次次高位為0,先看次高位是否為不亮
SUBB A,#0AH
JNZ JJ2
MOV 42H,#0AH ;次高位不亮,次次高位也不亮
JJ2: MOV 43H, R0
POP B
POP PSW
POP ACC
RET
;
;****************************************************
;* 兩字節(jié)無(wú)符號(hào)數(shù)乘法程序 *
;****************************************************
; R7R6R5R4 <= R3R2 * R1R0
超聲波測(cè)距學(xué)習(xí)板全部元件清單:
AT_ISP DC3-10 座子
STC_ISP 3 芯單排針
C6 330P
C7 104
C8 104
C9 473
C10 3.3UF/25V
C11 104
C15 470UF/25V
C16 470UF/25V
C17 3.3UF/25V
C19 3.3UF/25V
C20 20P
C25 20P
D1 (電源指示燈) φ3 LED(紅色)
D2 206 橋堆
DS1 0.5 寸數(shù)碼管
DS2 0.5 寸數(shù)碼管
DS3 0.5 寸數(shù)碼管
DS4 0.5 寸數(shù)碼管
J3( POWER) 電源插座
J4 CX20106
LS1 [TX(F)] 超聲波發(fā)射管
LS4 [RX(S)] 超聲波接收管
LS3(SPEAK) +5V 有源蜂鳴器
Q1 9012
Q2 9012
Q3 9012
Q4 9012
Q6 9012
R8 1K
R9 1K
R10 2K
R11 2K
R12 2K
R13 2K
R14 4.7
R15 200K
R16 220K
R17 1K
R18 1K
R19 1K
R20 1K
R25 1K
R26 1K
R28 1K
R29 1K
R30 1K
R31 2K
R32 10K
RL1 排阻A103
S1(K1) 12X12 按鍵
S2(K2) 12X12 按鍵
S3(K3) 12X12 按鍵
S4(K4) 12X12 按鍵
S10(RST) 6X6 按鍵
XT1 12MHZ
U7 7805
U5(AT89S51) IC-40P 座子
U6(74LS245) IC-20P 座子
U4(74LS04) IC-14P 座子
4 個(gè)數(shù)碼管插座IC-40P 座子
超小型超聲波測(cè)距頭 SRF05(配合單片機(jī)使用) 每個(gè)15元
這是一款體積很小,集成度較高的超聲波測(cè)距模塊,性能參數(shù)和國(guó)外的SRF05、SRF02等超聲波測(cè)距模塊類(lèi)似。
技術(shù)參數(shù):
1:工作電壓:DC5V
2:靜態(tài)電流:小于2mA
3:電平輸出:0~5V
4:測(cè)量精度:0.3cm
5:感應(yīng)角度:不大于15度
6:探測(cè)距離:10cm-300cm
引腳功能:
1、VCC 正電源腳:5V直流的正極,4.2~6V電壓范圍。
2、Trig 控制端:需要測(cè)距時(shí)外部電路提供一個(gè)高電平信號(hào),一般由外部單片機(jī)的IO口控制。
3、Echo 接收端:測(cè)量到的距離數(shù)據(jù)會(huì)對(duì)應(yīng)輸出一個(gè)高電平,高電平的寬度和距離成正比。
4、OUT 開(kāi)關(guān)量輸出端:無(wú)意義,功能預(yù)留。
5、GND 電源地:接5V直流的負(fù)極。
這是模塊的內(nèi)部電路圖,主要器件的型號(hào)出于保密都打磨掉了,但是依然可以看出,U2應(yīng)該是40KH的振蕩器,驅(qū)動(dòng)超聲波發(fā)射頭發(fā)射信號(hào),U1是單片機(jī),P25低電平時(shí)U2獲得電源發(fā)射信號(hào),U3應(yīng)該是輸出整型電路,通過(guò)P00和單片機(jī)通訊。
模塊的使用方法:?jiǎn)纹瑱C(jī)平時(shí)將Trig 控制端置低電平,需要測(cè)距時(shí)Trig 控制端置高電平,當(dāng)Trig 控制端高電平大于10微秒時(shí)模塊啟動(dòng)測(cè)距,這是單片機(jī)等待Echo 接收端變成高電平,一旦檢測(cè)到高電平,就可以開(kāi)定時(shí)器計(jì)時(shí),當(dāng)Echo 接收端變成低電平時(shí)就可以讀定時(shí)器的值,測(cè)距距離(米)=(高電平時(shí)間(秒)*聲速(340M/S))/2 例如測(cè)量到的時(shí)間為0.01秒,那么距離為1.7米。
我們的模塊還提供全套測(cè)距程序:C51,PIC18F877,超聲波LCD1602顯示,超聲波LCD12864顯示,數(shù)碼管顯示,串口顯示等,測(cè)距參考程序。
/*
SMC1602A(16*2)模擬口線(xiàn)接線(xiàn)方式
連接線(xiàn)圖:
---------------------------------------------------
|LCM-----51 | LCM-----51 | LCM------51 |
--------------------------------------------------|
|DB0-----P1.0 | DB4-----P1.4 | RW-------P3.4 |
|DB1-----P1.1 | DB5-----P1.5 | RS-------P3.3 |
|DB2-----P1.2 | DB6-----P1.6 | E--------P3.5 |
|DB3-----P1.3 | DB7-----P1.7 | VLCD接1K電阻到GND|
---------------------------------------------------
接線(xiàn):模塊TRIG接 P3.7 ECH0 接P3.6
[注:stc89c52使用12M或11.0592M晶振,實(shí)測(cè)使用11.0592M]
=============================================================*/
#include <AT89x51.H> //器件配置文件
#include <intrins.h>
#define RX P3_6
#define TX P3_7
#define LCM_RW P2_3 //定義LCD引腳
#define LCM_RS P2_4
#define LCM_E P2_2
#define LCM_Data P1
#define Key_Data P3_3 //定義Keyboard引腳
#define Key_CLK P3_2
#define Busy 0x80 //用于檢測(cè)LCM狀態(tài)字中的Busy標(biāo)識(shí)
void LCMInit(void);
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);
void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code
*DData);
void Delay5Ms(void);
void Delay400Ms(void);
void Decode(unsigned char ScanCode);
void WriteDataLCM(unsigned char WDLCM);
void WriteCommandLCM(unsigned char WCLCM,BuysC);
unsigned char ReadDataLCM(void);
unsigned char ReadStatusLCM(void);
unsigned char code mcustudio[] ={"==Range Finder=="};
unsigned char code email[] = {"heyaodz@163.com "};
unsigned char code Cls[] = {" "};
unsigned char code ASCII[15] = {'0','1','2','3','4','5','6','7','8','9','.','-','M'};
static unsigned char DisNum = 0; //顯示用指針
unsigned int time=0;
unsigned long S=0;
bit flag =0;
unsigned char disbuff[4] ={ 0,0,0,0,};
//寫(xiě)數(shù)據(jù)
void WriteDataLCM(unsigned char WDLCM)
{
ReadStatusLCM(); //檢測(cè)忙
LCM_Data = WDLCM;
LCM_RS = 1;
LCM_RW = 0;
LCM_E = 0; //若晶振速度太高可以在這后加小的延時(shí)
LCM_E = 0; //延時(shí)
LCM_E = 1;
}
//寫(xiě)指令
void WriteCommandLCM(unsigned char WCLCM,BuysC) //BuysC為0時(shí)忽略忙檢測(cè)
{
if (BuysC) ReadStatusLCM(); //根據(jù)需要檢測(cè)忙
LCM_Data = WCLCM;
LCM_RS = 0;
LCM_RW = 0;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
}
//讀數(shù)據(jù)
unsigned char ReadDataLCM(void)
{
LCM_RS = 1;
LCM_RW = 1;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
return(LCM_Data);
}
//讀狀態(tài)
unsigned char ReadStatusLCM(void)
{
LCM_Data = 0xFF;
LCM_RS = 0;
LCM_RW = 1;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
while (LCM_Data & Busy); //檢測(cè)忙信號(hào)
return(LCM_Data);
}
void LCMInit(void) //LCM初始化
{
LCM_Data = 0;
WriteCommandLCM(0x38,0); //三次顯示模式設(shè)置,不檢測(cè)忙信號(hào)
Delay5Ms();
WriteCommandLCM(0x38,0);
Delay5Ms();
WriteCommandLCM(0x38,0);
Delay5Ms();
WriteCommandLCM(0x38,1); //顯示模式設(shè)置,開(kāi)始要求每次檢測(cè)忙信號(hào)
WriteCommandLCM(0x08,1); //關(guān)閉顯示
WriteCommandLCM(0x01,1); //顯示清屏
WriteCommandLCM(0x06,1); // 顯示光標(biāo)移動(dòng)設(shè)置
WriteCommandLCM(0x0F,1); // 顯示開(kāi)及光標(biāo)設(shè)置
}
//按指定位置顯示一個(gè)字符
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)
{
Y &= 0x1;
X &= 0xF; //限制X不能大于15,Y不能大于1
if (Y) X |= 0x40; //當(dāng)要顯示第二行時(shí)地址碼+0x40;
X |= 0x80; //算出指令碼
WriteCommandLCM(X, 1); //發(fā)命令字
WriteDataLCM(DData); //發(fā)數(shù)據(jù)
}
//按指定位置顯示一串字符
void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code
*DData)
{
unsigned char ListLength;
ListLength = 0;
Y &= 0x1;
X &= 0xF; //限制X不能大于15,Y不能大于1
while (DData[ListLength]>0x19) //若到達(dá)字串尾則退出
{
if (X <= 0xF) //X坐標(biāo)應(yīng)小于0xF
{
DisplayOneChar(X, Y, DData[ListLength]); //顯示單個(gè)字符
ListLength++;
X++;
}
}
}
//5ms延時(shí)
void Delay5Ms(void)
{
unsigned int TempCyc = 5552;
while(TempCyc--);
}
//400ms延時(shí)
void Delay400Ms(void)
{
unsigned char TempCycA = 5;
unsigned int TempCycB;
while(TempCycA--)
{
TempCycB=7269;
while(TempCycB--);
};
}
/********************************************************/
void Conut(void)
{
time=TH0*256+TL0;
TH0=0;
TL0=0;
S=(time*1.8)/10; //算出來(lái)是MM
if((S>=7000)||flag==1) //超出測(cè)量范圍顯示“-”
{
flag=0;
DisplayOneChar(0, 1, ASCII[11]);
DisplayOneChar(1, 1, ASCII[10]); //顯示點(diǎn)
DisplayOneChar(2, 1, ASCII[11]);
DisplayOneChar(3, 1, ASCII[11]);
DisplayOneChar(4, 1, ASCII[11]);
DisplayOneChar(5, 1, ASCII[12]); //顯示M
}
else
{
disbuff[0]=S/1000;
disbuff[1]=S/100%10;
disbuff[2]=S/10%10;
disbuff[3]=S%10;
DisplayOneChar(0, 1, ASCII[disbuff[0]]);
DisplayOneChar(1, 1, ASCII[10]); //顯示點(diǎn)
DisplayOneChar(2, 1, ASCII[disbuff[1]]);
DisplayOneChar(3, 1, ASCII[disbuff[2]]);
DisplayOneChar(4, 1, ASCII[disbuff[3]]);
DisplayOneChar(5, 1, ASCII[12]); //顯示M
}
}
/********************************************************/
void zd0() interrupt 1 //T0中斷用來(lái)計(jì)數(shù)器溢出,超過(guò)測(cè)距范圍
{
flag=1; //中斷溢出標(biāo)志
RX=0;
}
/********************************************************/
void StartModule() //啟動(dòng)模塊
{
TX=1; //啟動(dòng)一次模塊
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TX=0;
}
void Timer_Count(void)
{
TR0=1; //開(kāi)啟計(jì)數(shù)
while(RX); //當(dāng)RX為1計(jì)數(shù)并等待
TR0=0; //關(guān)閉計(jì)數(shù)
Conut(); //計(jì)算
}
/********************************************************/
void delayms(unsigned int ms)
{
unsigned char i=100,j;
for(;ms;ms--)
{
while(--i)
{
j=10;
while(--j);
}
}
}
/*********************************************************/
void main(void)
{
unsigned int valA;
unsigned char TempCyc;
Delay400Ms(); //啟動(dòng)等待,等LCM講入工作狀態(tài)
LCMInit(); //LCM初始化
Delay5Ms(); //延時(shí)片刻(可不要)
DisplayListChar(0, 0, mcustudio);
DisplayListChar(0, 1, email);
ReadDataLCM();//測(cè)試用句無(wú)意義
for (TempCyc=0; TempCyc<10; TempCyc++)
Delay400Ms(); //延時(shí)
DisplayListChar(0, 1, Cls);
TMOD=0x01; //設(shè)T0為方式1,GATE=1;
TH0=0;
TL0=0;
ET0=1; //允許T0中斷
EA=1; //開(kāi)啟總中斷
while(1)
{
delayms(60);
RX=1;
StartModule();
for(valA=7510;valA>0;valA--)
{
if(RX==1)
{
Timer_Count();
}
}
}
}
一體化超聲波移動(dòng)報(bào)警探測(cè)器 每套40元
超聲波移動(dòng)探測(cè)器是一種新型的檢測(cè)器件,它工作時(shí)向周?chē)臻g發(fā)射超聲波信號(hào),當(dāng)周?chē)臻g出現(xiàn)移動(dòng)的物體時(shí),會(huì)引起超聲波聲場(chǎng)的擾動(dòng),從而觸發(fā)探測(cè)器報(bào)警,輸出下拉信號(hào)。
應(yīng)用說(shuō)明:
本產(chǎn)品主要的應(yīng)用領(lǐng)域是汽車(chē)內(nèi)部的報(bào)警檢測(cè),它可以實(shí)現(xiàn)車(chē)門(mén)被打開(kāi)瞬間或者是小偷從打開(kāi)的車(chē)窗中拿走物品時(shí)立即報(bào)警,一般汽車(chē)防盜報(bào)警器都配備振動(dòng)傳感器,振動(dòng)傳感器通常也是采用三極管集電極開(kāi)路輸出方式,所以我們的超聲波移動(dòng)探測(cè)器可以直接代替原車(chē)的振動(dòng)傳感器,甚至可以直接和原車(chē)的振動(dòng)傳感器并聯(lián),就能實(shí)現(xiàn)振動(dòng)和超聲波移動(dòng)雙檢測(cè)(請(qǐng)有一定技術(shù)把握時(shí)操作)
本產(chǎn)品也可用于樓房、小區(qū)通道、商鋪等無(wú)人值守的地方進(jìn)行探測(cè),和常用的紅外檢測(cè)技術(shù)相比,紅外對(duì)環(huán)境要求很高,不能使用在室外或者空氣流通大的場(chǎng)合,而超聲波對(duì)環(huán)境的要求低很多適應(yīng)性更強(qiáng)。本產(chǎn)品固定也很方便,配有的萬(wàn)向座可以方便地調(diào)節(jié)到任何角度。
性能參數(shù):
A、工作電壓:DC10~15V(內(nèi)部有78L08穩(wěn)壓后供電)
B、輸出方式:NPN三極管集電極開(kāi)路輸出,藍(lán)線(xiàn)輸出下拉信號(hào)
C、探測(cè)距離:0~5米(無(wú)法精確控制距離,只能改變檢測(cè)靈敏度,可以通過(guò)背后的旋鈕調(diào)節(jié))
D、工作頻率:40KHz
E、工作電流:15mA
F、產(chǎn)品體積:90*40*25毫米
G、輸出引線(xiàn):紅線(xiàn):電源正極;黑線(xiàn):電源地;藍(lán)線(xiàn):輸出線(xiàn)。
模塊的輸出線(xiàn)有兩個(gè)白色的插頭,請(qǐng)對(duì)照上左圖插入插頭,當(dāng)模塊接入12V的直流工作電壓后,紅藍(lán)兩只LED燈交替閃爍,說(shuō)明超聲波發(fā)送接收正常,當(dāng)檢測(cè)到周?chē)谢顒?dòng)物體時(shí),中間的綠色LED點(diǎn)亮0.5秒,并輸出報(bào)警信號(hào)。
這種傳感器采用三極管集電極開(kāi)路輸出的驅(qū)動(dòng)模式,沒(méi)有活動(dòng)物體時(shí)藍(lán)線(xiàn)輸出接近電源電壓的高電平,當(dāng)傳感器檢測(cè)到信號(hào)時(shí)NPN三極管導(dǎo)通,三極管的集電極電壓下拉到0.1V左右,通過(guò)一個(gè)470歐姆的保護(hù)電阻輸出到藍(lán)色的輸出線(xiàn)上,這種結(jié)構(gòu)可以和單片機(jī)系統(tǒng)直接接口,只要首先單片機(jī)將端口置1,當(dāng)單片機(jī)檢測(cè)到端口電平變低得時(shí)就能輸出報(bào)警信號(hào)了。
相關(guān)產(chǎn)品鏈接:
全部產(chǎn)品價(jià)格 銀行帳號(hào)及郵購(gòu)需知 訂貨流程 立即訂貨!
手機(jī):15358760528 電話(huà)/傳真:0513-83342087 聯(lián)系人:謝剛
辦公地址:郵編226200 江蘇省啟東市江海中路511號(hào)水晶苑 A1
電子制作實(shí)驗(yàn)室網(wǎng)站 www.xinjiapolvyou.cn 啟東剛成電子有限公司簡(jiǎn)介