資源簡介
51單片機超聲波測距1602顯示,代碼簡潔,高效,注釋完整方便理解

代碼片段和文件信息
#include?
#include?“delay.h“
#include?
#include?
sbit??RX?=??P2?^?1;
sbit??TX?=??P2?^?0;
bit?flag;
unsigned?char?sign;
unsigned?int?S=0;
unsigned?int?time;
void?Init();
void??StartModule();
int?Conut(void);
unsigned?int?ij;
int?chaosheng()
{
Init();
for?(i=0;i<2;i++)
{
StartModule();
?? while(!RX); //當RX為零時等待
?? TR1=1; ????//開啟計數
?? while(RX); //當RX為1計數并等待
?? TR1=0; //關閉計數
j=Conut();
}
return?j; //計算返回
}
void?Init()
{
?TMOD?|=0x10; ???//設T0為方式1,GATE=1;
?TH1=0;
?TL1=0; ?
?TR1=1;
}
/******************************************************************************/
/****************超聲波模塊程序************************************************/
?void??StartModule()? ?????????//啟動模塊
??{
???TX=1; ?????????????????????//啟動一次模塊
???Delay999us();
???TX=0;
??}
?int?Conut(void)
{
?time=TH1*256+TL1;
?TH1=0;
?TL1=0;
?S=(time*1.7)/100;?????//算出來是CM
if((S>=200)||flag?==1)?//超出測量范圍顯示“-”
?{
??flag?=?0;
??TX?=1;
??return?6666?;
??} ?
?else
?????{
?? TX?=1;?
return?S; ?
?????}
????}
?void?zd0()?interrupt?3? ?//T0中斷用來計數器溢出超過測距范圍
??{
????flag=1; ?//中斷溢出標志
??}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1318??2015-10-12?23:26??單個超聲波1602\chaoshengbo.c
?????文件?????????83??2015-09-20?06:52??單個超聲波1602\chaoshengbo.h
?????文件???????3699??2015-10-12?23:37??單個超聲波1602\chaoshengbo.LST
?????文件???????6256??2015-10-12?23:37??單個超聲波1602\chaoshengbo.OBJ
?????文件??????22466??2015-10-12?23:37??單個超聲波1602\ckjs
?????文件???????4660??2015-10-12?23:37??單個超聲波1602\ckjs.hex
?????文件?????????94??2015-10-12?23:37??單個超聲波1602\ckjs.lnp
?????文件??????22678??2015-10-12?23:37??單個超聲波1602\ckjs.M51
?????文件???????2328??2015-10-12?23:40??單個超聲波1602\ckjs.plg
?????文件??????73940??2015-10-12?23:40??單個超聲波1602\cscl.uvopt
?????文件??????13758??2015-10-12?23:15??單個超聲波1602\cscl.uvproj
?????文件??????72822??2015-10-12?23:36??單個超聲波1602\cscl_uvopt.bak
?????文件????????987??2015-10-12?23:29??單個超聲波1602\delay.c
?????文件????????177??2015-10-12?23:15??單個超聲波1602\delay.h
?????文件???????3749??2015-10-12?23:37??單個超聲波1602\delay.LST
?????文件???????3682??2015-10-12?23:37??單個超聲波1602\delay.OBJ
?????文件????????983??2014-11-06?13:18??單個超聲波1602\IO_def.h
?????文件???????4439??2015-05-03?11:41??單個超聲波1602\LCD1602_drv.c
?????文件???????1227??2015-05-03?11:37??單個超聲波1602\LCD1602_drv.h
?????文件???????8642??2015-10-12?23:37??單個超聲波1602\LCD1602_drv.LST
?????文件??????10001??2015-10-12?23:37??單個超聲波1602\LCD1602_drv.OBJ
?????文件????????298??2015-10-12?23:37??單個超聲波1602\main.c
?????文件???????1470??2015-10-12?23:37??單個超聲波1602\main.LST
?????文件???????4258??2015-10-12?23:37??單個超聲波1602\main.OBJ
?????文件???????1110??2014-04-18?21:39??單個超聲波1602\type.h
?????目錄??????????0??2015-10-13?21:32??單個超聲波1602
-----------?---------??----------?-----??----
???????????????265125????????????????????26
- 上一篇:歐姆龍編碼器E6B2-CWZ6C
- 下一篇:flash小程序
評論
共有 條評論