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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

PIC18F4520單片機超聲波測距主要部分程序

作者:huqin   來源:本站原創   點擊數:  更新時間:2014年04月03日   【字體:
測試環境MPLAB IDE v8.73a
單片機型號PIC18F4520
所需器件超聲波模塊
電路連接圖如下:


超聲波測距子函數:
unsigned int chaosheng()

 unsigned int temp1,temp2;//定義兩個無符號整型的變量用于存儲距離值
 INPUT = 1;
 delay(50);//延時
 INPUT = 0;
 while(!OUTPUT);//當超聲波的輸出引腳輸出高電平時,打開定時器0,開始計時
 TMR1ON = 1;
 while(OUTPUT);//當超聲波的輸出引腳輸出低電平時,關閉定時器0,停止計時
 TMR1ON = 0;
 //計算超聲波測出的距離
 temp1 = TMR1L;//將TMR1的低8位賦值給temp1變量
 temp2 = TMR1H;//將TMR1的高8位賦值給temp2變量
 temp2 = (temp2 << 8) + temp1;//temp2左移8位,加上temp1
 TMR1H = 0;//TMR1的高8位清零,為下一次測距做準備
 TMR1L = 0;//TMR1的低8位清零,為下一次測距做準備
 
 //距離 = 時間/2 * 速度
 //距離:distance;時間:temp2/2單位為μs;速度:340m/s
 //這里注意下單位,需要進行換算讓最終距離的單位為cm/s
 distance = temp2 * 1.7/100;//有一定的誤差,可以軟件填補誤差,根據實測值,在右側的表達式上加減一誤差數值。
   
 return distance;//返回超聲波測得的距離值,這里的distance為全局變量,可以在其他程序中用到,例如液晶顯示部分,可以作為實參傳遞給其對應程序,用于顯示。
 
}

最后:很欣賞Google的面試題:用3句話向老太太講清楚什么是數據庫。喬布斯說:“最好的東西就是關注簡單”,因為簡單的東西比復雜的東西更難做到。
關閉窗口

相關文章

主站蜘蛛池模板: 人人澡人人射 | 一区二区亚洲 | 国产高清视频一区 | 亚洲色欧美另类 | 亚洲精品99| 中文字幕不卡在线观看 | 中文字幕久久久 | 国产精品久久一区二区三区 | 91资源在线| 三级黄片毛片 | 国产精品 欧美精品 | 亚洲精品乱码久久久久久久久久 | 91网站在线播放 | 精品久久久久久亚洲精品 | 91夜色在线观看 | 国产aⅴ爽av久久久久久久 | 在线看无码的免费网站 | 欧美freesex黑人又粗又大 | 中文字幕国产视频 | 免费特黄视频 | 日日操日日干 | 色视频在线观看 | 日本亚洲精品 | 午夜精品一区二区三区在线视频 | 日韩一级免费电影 | 久热伊人 | 天天躁日日躁性色aⅴ电影 免费在线观看成年人视频 国产欧美精品 | 久久久一区二区三区四区 | 亚洲国产成人av好男人在线观看 | 日韩在线视频一区二区三区 | 久久亚洲春色中文字幕久久久 | 在线一区二区三区 | 久久久久国产精品一区二区 | 黄视频免费观看 | 日日操夜夜摸 | 九九在线精品视频 | 在线免费观看欧美 | 亚洲国产成人精品久久 | 国精久久| 色偷偷噜噜噜亚洲男人 | 亚洲人成人一区二区在线观看 |