資源簡介
51黑電子論壇 超聲波測距 51單片機超聲波測距仿真與實物設計 含源程序,視頻,Proteus原理圖
代碼片段和文件信息
#include?//器件配置文件
#include?
//傳感器接口
sbit?RX??=?P3^2;
sbit?TX??=?P3^3;
//按鍵聲明
sbit?S1??=?P1^4;
sbit?S2??=?P1^5;
sbit?S3??=?P1^6;
//蜂鳴器
sbit?Feng=?P2^0;
sbit?W1=P1^0;
sbit?W2=P1^1;
sbit?W3=P1^2;
sbit?W4=P1^3;
//變量聲明
unsigned?int??time=0;
unsigned?int??timer=0;
unsigned?char?posit=0;
unsigned?long?S=0;
unsigned?long?BJS=50;//報警距離80CM
//模式?0正常模式?1調整
char?Mode=0;
bit??flag=0;
bit?flag_KEY=0;
unsigned?char?const?discode[]?={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x400xff/*-*/}; //數碼管顯示碼0123456789-和不顯示
//unsigned?char?const?positon[4]={0xfd0xfb0xf70xfe}; //位選
unsigned?char?disbuff[4] ???={0000}; ?//數組用于存放距離信息
unsigned?char?disbuff_BJ[4] ={0000};//報警信息
void?Display();
//延時20ms(不精確)
void?delay(void)
{
????unsigned?char?abc;
????for(c=2;c>0;c--)
????????for(b=38;b>0;b--)
????????????for(a=60;a>0;a--);
}
//按鍵掃描
void?Key_()
{
if(flag_KEY==0)
{
if(Mode!=0)
{
//+
if(S1==0)
{
delay(); ???//延時去抖
if(S1==0)
{
BJS++; ?//報警值加
flag_KEY=1;
if(BJS>=151)?//最大151
{
BJS=0;
}
// while(S1==0)
// Display();
}
}
//-
if(S2==0)
{
delay();
if(S2==0)
{
BJS--; ?//報警值減
flag_KEY=1;
if(BJS<=1) ?//最小1
{
BJS=150;
}
// while(S2==0)
// Display();
}
}
}
//功能
if(S3==0) //設置鍵
{
delay();
if(S3==0)
{
Mode++; //模式加
flag_KEY=1;
if(Mode>=2) //加到2時清零
{
Mode=0;
}
// while(S3==0)
// Display();
}
}
}
if((P1&0x70)==0x70)
{
flag_KEY=0;
}
}
/**********************************************************************************************************/
//掃描數碼管
void?Display(void) ?
{
//正常顯示
if(Mode==0)
{
P0=0x00;??//關閉顯示
if(posit==1)//數碼管的小數點
{
P0=(discode[disbuff[posit]])|0x80;//按位或,最高位變為1,顯示小數點
}
else?if(posit==0)
{
P0=~discode[11];
}
else
{
P0=discode[disbuff[posit]];
}
switch(posit)
{
case?0?:?W1=0;W2=1;W3=1;W4=1;?break;
case?1?:?W1=1;W2=0;W3=1;W4=1;?break;
case?2?:?W1=1;W2=1;W3=0;W4=1;?break;
case?3?:?W1=1;W2=1;W3=1;W4=0;?break;
}
posit++;
if(posit>3) //每進一次顯示函數,變量加1
posit=0; //加到3時清零
}
//報警顯示
else
{
P0=0x00;
if(posit==1)//數碼管的小數點
{
P0=(discode[disbuff_BJ[posit]])|0x80;
}
else?if(posit==0)
{
P0=0x76; //顯示字母
}
else
{
P0=discode[disbuff_BJ[posit]];
}
switch(posit)
{
case?0?:?W1=0;W2=1;W3=1;W4=1;?break;
case?1?:?W1=1;W2=0;W3=1;W4=1;?break;
case?2?:?W1=1;W2=1;W3=0;W4=1;?break;
case?3?:?W1=1;W2=1;W3=1;W4=0;?break;
}
posit++;
if(posit>3)
posit=0;
}
}
/**********************************************************************************************************/
//計算
void?Conut(void)
{
time=TH0*256+TL0; ??//讀出T0的計時數值
TH0=0;
TL0=0; ??//清空計時器
S=(time*1.7)/100;?????//算
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-07-02?17:29??51黑論壇_超聲波測距\
?????目錄???????????0??2018-07-02?17:29??51黑論壇_超聲波測距\超聲波測距\
?????目錄???????????0??2017-10-30?15:14??51黑論壇_超聲波測距\超聲波測距\1-程序修正\
?????文件????????4631??2017-05-11?22:27??51黑論壇_超聲波測距\超聲波測距\1-程序修正\程序
?????文件???????14976??2017-05-11?22:27??51黑論壇_超聲波測距\超聲波測距\1-程序修正\程序.LST
?????文件???????14706??2017-05-11?22:27??51黑論壇_超聲波測距\超聲波測距\1-程序修正\程序.M51
?????文件????????5385??2017-05-11?22:27??51黑論壇_超聲波測距\超聲波測距\1-程序修正\程序.OBJ
?????文件????????2100??2013-09-05?23:36??51黑論壇_超聲波測距\超聲波測距\1-程序修正\程序.Uv2.bak
?????文件????????5724??2017-05-11?22:27??51黑論壇_超聲波測距\超聲波測距\1-程序修正\程序.c
?????文件????????5919??2017-05-11?22:27??51黑論壇_超聲波測距\超聲波測距\1-程序修正\程序.hex
?????文件??????????40??2017-05-11?22:27??51黑論壇_超聲波測距\超聲波測距\1-程序修正\程序.lnp
?????文件?????????829??2013-09-05?23:41??51黑論壇_超聲波測距\超聲波測距\1-程序修正\程序.opt.bak
?????文件????????1029??2017-05-11?22:28??51黑論壇_超聲波測距\超聲波測距\1-程序修正\程序.plg
?????文件???????55887??2017-05-11?22:28??51黑論壇_超聲波測距\超聲波測距\1-程序修正\程序.uvopt
?????文件???????13202??2013-09-06?19:59??51黑論壇_超聲波測距\超聲波測距\1-程序修正\程序.uvproj
?????文件?????????825??2013-09-05?23:36??51黑論壇_超聲波測距\超聲波測距\1-程序修正\程序_Opt.Bak
?????文件????????1662??2011-04-09?18:58??51黑論壇_超聲波測距\超聲波測距\1-程序修正\程序_Uv2.Bak
?????文件???????55888??2017-05-11?22:27??51黑論壇_超聲波測距\超聲波測距\1-程序修正\程序_uvopt.bak
?????目錄???????????0??2017-10-30?15:13??51黑論壇_超聲波測距\超聲波測距\11-仿真\
?????文件????????1024??2014-05-14?17:36??51黑論壇_超聲波測距\超聲波測距\11-仿真\HC-SR04.hex
?????文件???????56161??2014-10-29?21:53??51黑論壇_超聲波測距\超聲波測距\11-仿真\ISIS.dmp
?????文件??????139481??2016-06-29?11:29??51黑論壇_超聲波測距\超聲波測距\11-仿真\Last?Loaded?chaosengbo.DBK
?????文件????????9728??2016-04-24?17:20??51黑論壇_超聲波測距\超聲波測距\11-仿真\Thumbs.db
?????文件??????146575??2017-04-27?10:53??51黑論壇_超聲波測距\超聲波測距\11-仿真\chaosengbo.DSN
?????文件????????1364??2017-04-27?10:53??51黑論壇_超聲波測距\超聲波測距\11-仿真\chaosengbo.PWI
?????文件????????5608??2014-11-13?11:30??51黑論壇_超聲波測距\超聲波測距\11-仿真\程序.hex
?????文件??????????49??2014-10-29?23:50??51黑論壇_超聲波測距\超聲波測距\11-仿真\說明.txt
?????文件????14351605??2015-01-17?21:02??51黑論壇_超聲波測距\超聲波測距\11-仿真\超聲波仿真如何運行.wmv
?????文件??????106496??2017-03-27?22:27??51黑論壇_超聲波測距\超聲波測距\原理圖.doc
- 上一篇:gre模考軟件
- 下一篇:FastReport 4.9 源碼破解版終極版
評論
共有 條評論