目錄
?具體實現功能
設計介紹
資料內容
全部內容
資料獲取
?具體實現功能
(1)超聲波實時測量小車與障礙物間的距離,并用LCD1602顯示。
(2)當測得的距離超過50時,前進電機轉動(模擬后輪)表示前進。
(3)當測得的距離小于50時,前進電機轉動(模擬后輪)和轉向避障電機轉動(模擬前輪)表示轉向。
仿真演示視頻:
基于51單片機的超聲波智能避障小車仿真
設計介紹
51單片機簡介
51單片是一種低功耗、高性能CMOS-8位微控制器,擁有靈巧的8位CPU和可編程Flash,使得51單片機為眾多嵌入式控制應用系統提供靈活、高效的解決方案。
本設計所使用的芯片可兼容以下所有的51系列單片機(包括AT系列和STC系列)。
資料內容
仿真實現(protues8.7)
本設計利用protues8.7軟件實現仿真設計,具體如圖。
程序(Keil5)
本設計利用KEIL5軟件實現程序設計。
主函數如下:
/*********************************************************/
// 主函數
/*********************************************************/
void main()
{uint dist; // 保存超聲波模塊測量到的結果Trig_P=0;TMOD = 0x01; // 選擇定時器0,并且確定是工作方式1(為了超聲波模塊測量距離計時用的)LCD1602_init();//LCD1602初始化dianji1=0;while(1){gSpeed=0.607*(240/10)+331.4; // 根據公式 v=0.607T+331.4 計算出當前溫度值對應的超聲波速度,這時的單位是“米/秒” gSpeed=gSpeed/10000; // 將超聲波的速度從單位“m/s”轉為“cm/us”,方便后面的計算dist=GetDistance(); // 通過超聲波模塊獲取距離Table[0]='D';Table[1]='i';Table[2]='s';Table[3]='t';Table[4]=':';Table[5]=dist/100+0x30;Table[6]=dist%100/10+0x30;Table[7]=dist%10+0x30; LCD1602_Disp_ZF(0x80,Table,8);if(dist>=20&&dist<=50) //避障{dianji1=1;dianji2=1;}else if(dist>50){dianji1=1;dianji2=0;}if(dist<20) //緊急剎車{dianji1=0;dianji2=0;}if(dist<=50) //報警{beep=0;}else {beep=1;}}
}
程序運行結果如圖:
全部內容
全部資料包括程序(keil5)、protues仿真(protues8.7)、設計說明、答辯PPT、開發資料、資料使用介紹、仿真視頻、最小系統介紹視頻等。
資料獲取
https://docs.qq.com/doc/DT2hxRVdTWFdZdnVa