超聲波測(cè)距c語言程序(共4頁)_第1頁
超聲波測(cè)距c語言程序(共4頁)_第2頁
超聲波測(cè)距c語言程序(共4頁)_第3頁
超聲波測(cè)距c語言程序(共4頁)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上/超聲波模塊顯示程序#include #define uchar unsigned char #define uint unsigned int#define ulong unsigned longsbit Tx = P33; /產(chǎn)生脈沖引腳sbit Rx = P32; /回波引腳sbit fmq=P17;uchar code SEG710=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;/數(shù)碼管0-9uint distance4; /測(cè)距接收緩沖區(qū)uchar ge,shi,bai,temp,flag,outcome

2、H,outcomeL,i; /自定義寄存器bit succeed_flag; /測(cè)量成功標(biāo)志void conversion(uint temp_data) /顯示數(shù)據(jù)轉(zhuǎn)換程序 uchar ge_data,shi_data,bai_data ; bai_data=temp_data/100 ; temp_data=temp_data%100; /取余運(yùn)算 shi_data=temp_data/10 ; temp_data=temp_data%10; /取余運(yùn)算 ge_data=temp_data; bai_data=SEG7bai_data; shi_data=SEG7shi_data&0x7f

3、; ge_data =SEG7ge_data; EA=0; bai = bai_data; shi = shi_data; ge = ge_data ; EA=1; /20us延時(shí)函數(shù) void delay_20us() uchar bt ; for(bt=0;bt22;bt+); /1ms基準(zhǔn)延時(shí)程序void delay1ms(unsigned int i)unsigned char j; while(i-) for(j=0;j115;j+) ; /產(chǎn)生1KHZ頻率聲音的函數(shù)void beep() fmq=0;delay1ms(500);fmq=1;delay1ms(500); / 主程序v

4、oid main(void) uint distance_data,a,b; uchar CONT_1; i=0; flag=0;Tx=0; /首先拉低脈沖輸入引腳TMOD=0x11; /定時(shí)器0,定時(shí)器1,16位工作方式TR0=1; /啟動(dòng)定時(shí)器0 IT0=0; /由高電平變低電平,觸發(fā)外部中斷ET0=1; /打開定時(shí)器0中斷EX0=0; /關(guān)閉外部中斷EA=1; /打開總中斷0 while(1) /程序循環(huán) EA=0; Tx=1; delay_20us(); Tx=0; /產(chǎn)生一個(gè)20us的脈沖,在Tx引腳 while(Rx=0); /等待Rx回波引腳變高電平 succeed_flag=0

5、; /清測(cè)量成功標(biāo)志 EX0=1; /打開外部中斷 TH1=0; /定時(shí)器1清零 TL1=0; /定時(shí)器1清零 TF1=0; / TR1=1; /啟動(dòng)定時(shí)器1 EA=1; while(TH1 50);/等待測(cè)量的結(jié)果,周期65.535毫秒(可用中斷實(shí)現(xiàn)) TR1=0; /關(guān)閉定時(shí)器1 EX0=0; /關(guān)閉外部中斷 if(succeed_flag=1) distance_data=outcomeH; /測(cè)量結(jié)果的高8位 distance_data=3) CONT_1=0; b=a; conversion(b); if(b0&b200) fmq=0; delay1ms(100); fmq=1; i=0; /外部中斷0,用做判斷回波電平INTO_() interrupt 0 / 外部中斷是0號(hào) outcomeH =TH1; /取出定時(shí)器的值 outcomeL =TL1; /取出定時(shí)器的值 succeed_flag=1; /至成功測(cè)量的標(biāo)志 EX0=0; /關(guān)閉外部中斷 /定時(shí)器0中斷,用做顯示timer0() interrupt 1 / 定時(shí)器0中斷是1號(hào) TH0=0xfd; /寫入定時(shí)器0初始值 TL0=0x77; switch(flag) case 0x00:P0=ge; P2=0x7f;flag+;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論