資源簡介
基于51單片機和分立式探頭的超聲波雷達測距系統,包括完整的硬件電路圖和完整的C代碼,以及詳細的設計指導文檔,分為基礎部分和高級部分,基本部分為超聲波測距并報警,高級部分加入距離顯示,溫度補償和十段發光條指示功能。現將整個項目的所有資料打包共享。
代碼片段和文件信息
#include??//頭文件
sbit?k1=P3^4;?//按鍵
sbit?csbout=P1^0;?????????????????????????//超聲波發送?
sbit?csbint=P3^2;?????????????????????????//超聲波接收?
sbit?bg=P3^3;?
#define?LED?P0?//數碼管顯示形??
sbit?LED1=P2^4;?//LED控制?
sbit?LED2=P2^5;?//LED控制?
sbit?LED3=P2^6;?//LED控制?
sbit?bj=P2^0;//報警
#define?csbc?0.0347?
unsigned?char?clmqzdcsbscsbdsbuffer[3]xm1xm2xm0jpjs;//顯示標識??
unsigned?char?convert[10]={0x180x7b0x2c0x290x4b0x890x880x3b0x080x09};//0~9段碼?
unsigned?int?stixxjsj1sj2sj3mqssx1;?
void?csbcj();?
void?delay(j);??????????//延時函數?
void?scanLED();?????????//顯示函數?
void?timeToBuffer();????//顯示轉換函數?
void?keyscan();? //按鍵函數
void?k1cl();?
void?k2cl();?
void?k3cl();?
void?k4cl();?
void?offmsd();?
void?main()????????????????????????????????????????//主函數?
{?
????????EA=1;???????????????????????????????????????????//開中斷?
TMOD=0x11;?????????????????????????????????//設定時器0為計數,設定時器1定時?
????????ET0=1;?????????????????????????????????????????//定時器0中斷允許?
????????ET1=1;?????????????????????????????????????????//定時器1中斷允許?
????????TH0=0x00;?
????????TL0=0x00;?
????????TH1=0x9E;?
????????TL1=0x57;? //賦初值
????????csbds=0;? //超聲波定時清零?
????????csbout=1;? //超聲波輸出置位?
????????cl=0;? //測量標識清零?
????????csbs=8; //
????????jpjs=0;? //鍵盤計時清零?
????????sj1=50;/////////測試報警距離
????????sj2=200;?
????????sj3=580;?
????????k4cl();?
????????TR1=1;
????????while(1)?
??????????{?
????????????????keyscan();?
????????????????if(jpjs<1)?
????????????????{?
????????????????????????csbcj();????????????????//調用超聲波測距程序?
????????????????????????if(s>sj3)????????????????//大于時顯示“CCC”?
????????????????????????{?
????????????????????????????????buffer[2]=0xC6;?????????
????????????????????????????????buffer[1]=0xC6;?????????
????????????????????????????????buffer[0]=0xC6;?????????
????????????????????????}?
????????????????????????else?if(s ????????????????????????{?
????????????????????????????????buffer[2]=0xBF;?????????
????????????????????????????????buffer[1]=0xBF;?????????
????????????????????????????????buffer[0]=0xBF;?
????????????????????????}?
????????????????????????else?timeToBuffer();?????????
????????????????}?
????????????????else?timeToBuffer();????????????????//將值轉換成LED段碼?
????????????????offmsd();?
??????????????????scanLED();????????????????????????//顯示函數?
????????????????if(s ????????????????bg=0;?
????????????????bg=1;?
????????}?
}?
void?scanLED()?????????????????????????????//顯示功能模塊?
{?
????????LED=buffer[0];?
????????LED3=0;?
????????delay(200);?
????????LED3=1;?
????????LED=buffer[1];?
????????LED2=0;?
????????delay(200);?
????????LED2=1;?
?????????
????????LED=buffer[2];?
????????LED1=0;?
????????delay(200);?
????????LED1=1;?
}?
void?timeToBuffer()????????????????????//轉換段碼功能模塊?
{?
????????xm0=s/100;?????????
????????xm1=(s-100*xm0)/10;?
????????xm2=s-100*xm0-10*xm1;?
????????buffer[2]=convert[xm2];?????????
???
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????11583??2014-09-05?15:42??超聲波雷達測距\基礎版\1-c程序\csbc
?????文件???????4931??2014-09-05?15:42??超聲波雷達測距\基礎版\1-c程序\csbc.hex
?????文件?????????41??2014-09-05?15:42??超聲波雷達測距\基礎版\1-c程序\csbc.lnp
?????文件??????16990??2014-09-05?15:42??超聲波雷達測距\基礎版\1-c程序\csbc.M51
?????文件????????388??2014-09-05?15:42??超聲波雷達測距\基礎版\1-c程序\csbc.plg
?????文件??????55657??2014-09-05?15:42??超聲波雷達測距\基礎版\1-c程序\csbc.uvopt
?????文件??????13396??2014-09-04?10:15??超聲波雷達測距\基礎版\1-c程序\csbc.uvproj
?????文件??????55654??2014-09-05?15:42??超聲波雷達測距\基礎版\1-c程序\csbc_uvopt.bak
?????文件??????13392??2014-09-04?10:15??超聲波雷達測距\基礎版\1-c程序\csbc_uvproj.bak
?????文件???????7345??2014-09-05?15:42??超聲波雷達測距\基礎版\1-c程序\csbo.c
?????文件??????12205??2014-09-05?15:42??超聲波雷達測距\基礎版\1-c程序\csbo.LST
?????文件??????12551??2014-09-05?15:42??超聲波雷達測距\基礎版\1-c程序\csbo.OBJ
?????文件???????6376??2009-05-07?14:37??超聲波雷達測距\基礎版\1-c程序\STARTUP.A51
?????文件??????14048??2014-09-05?15:42??超聲波雷達測距\基礎版\1-c程序\STARTUP.LST
?????文件????????749??2014-09-05?15:42??超聲波雷達測距\基礎版\1-c程序\STARTUP.OBJ
?????文件?????156911??2014-03-26?00:11??超聲波雷達測距\基礎版\6-制作詳解\0.36或0.56四位數碼管\4引腳圖.png
????..A.SH.?????43520??2014-11-13?15:36??超聲波雷達測距\基礎版\6-制作詳解\0.36或0.56四位數碼管\Thumbs.db
?????文件?????130633??2014-03-26?00:09??超聲波雷達測距\基礎版\6-制作詳解\0.36或0.56四位數碼管\引腳圖.png
?????文件??????67908??2014-03-26?00:12??超聲波雷達測距\基礎版\6-制作詳解\0.36或0.56四位數碼管\此圖為共陰?共陽為led的陽極接到一起.png
?????文件??????44796??2014-03-25?22:22??超聲波雷達測距\基礎版\6-制作詳解\DC電源插口\CON2為電源插針(電路中可以不接).jpg
?????文件??????32060??2014-03-25?22:22??超聲波雷達測距\基礎版\6-制作詳解\DC電源插口\DC電源接口及開關(簡易版).jpg
?????文件???????6039??2014-03-25?22:22??超聲波雷達測距\基礎版\6-制作詳解\DC電源插口\DC電源插口內部透視圖.jpg
?????文件??????15132??2014-03-25?22:22??超聲波雷達測距\基礎版\6-制作詳解\DC電源插口\DC電源插口原理圖.jpg
?????文件?????????92??2014-03-25?22:22??超聲波雷達測距\基礎版\6-制作詳解\DC電源插口\DC電源插口原理圖介紹說明.txt
?????文件??????49452??2014-03-26?00:37??超聲波雷達測距\基礎版\6-制作詳解\DC電源插口\DC電源插口硬件圖.jpg
????..A.SH.?????82432??2014-11-13?15:36??超聲波雷達測距\基礎版\6-制作詳解\DC電源插口\Thumbs.db
?????文件??????16626??2014-03-25?22:22??超聲波雷達測距\基礎版\6-制作詳解\三極管\NPN型原理圖.jpg
?????文件??????10402??2014-03-25?22:22??超聲波雷達測距\基礎版\6-制作詳解\三極管\PNP型原理圖.jpg
????..A.SH.?????45056??2014-11-13?15:38??超聲波雷達測距\基礎版\6-制作詳解\三極管\Thumbs.db
?????文件???????3296??2014-03-25?22:22??超聲波雷達測距\基礎版\6-制作詳解\三極管\三極管介紹.txt
............此處省略76個文件信息
- 上一篇:基于STM32的數字示波器設計
- 下一篇:西安建筑矢量地圖
評論
共有 條評論