標題: 基于at89s52 LED超聲波測距··· [打印本頁]
作者: daming 時間: 2014-12-29 01:15
標題: 基于at89s52 LED超聲波測距···
#include<reg52.h>
sbit TX =P3^6; //信號發送端
sbit RX =P3^7; //信號接收端
unsigned long S;
unsigned int time;
unsigned char qian,bai,shi,ge;
code unsigned char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //數碼管值
void delay(unsigned int i) //定義一個小延時,哈哈
{
while(--i);
}
void sent() //定義一個發送
{
TX=1; //發送端發送信號
delay(25); //給一個大于10US的信號
TX=0; //關閉發送端信號
}
void Count()
{
time=TH0*256+TL0; //計算時間
TH0=0; //復位
TL0=0; //復位
S=(time*1.7)/10; //計算距離,單位MM
if(S<5000)
{
qian=tab[S/1000]; //定義第四位
bai=tab[S/100%10]; //定義第三位
shi=tab[S/10%10]; //定義第二位
ge=tab[S%10]; //定義第一位
P1=ge; //送出顯示
P0=3;
delay(300);
P1=shi;
P0=2;
delay(300);
P1=bai;
P0=1;
delay(300);
P1=qian;
P0=0;
delay(300);
}
}
void receive() //定義一個接收
{
TR0=1; //定時器0開
while(RX); //持續延時RX為高電平的時間
TR0=0; //定時器0關
Count(); //調用Count
}
main()
{
int lv;
EA=1; //總中斷開
ET0=1; //定時器中斷0開
ET1=1; //定時器中斷1開
TMOD=0X11; //定義TO,T1由TCON控制,工作方式為方式1
TH0=0;
TL0=0;
TH1=0;
TL1=0;
while(1)
{
RX=1; //給RX一個高電平
sent(); //給發送端一個>10us的信號
for(lv=2000;lv>0;lv--)
{
if(RX==1)
{
receive(); //調用RECEIVE
}
}
}
}
//寫了我一天的時間,唉,效率還是太低···努力,努力···
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
人人干天天干
|
成人免费在线
|
国精品一区
|
久久人人网
|
久久久精品视频一区二区三区
|
国产精品69毛片高清亚洲
|
久久91av|
精品久久香蕉国产线看观看亚洲
|
91高清视频在线观看
|
久久午夜精品
|
综合色站导航
|
久久久久久国产
|
欧美a在线看|
国产精品成av人在线视午夜片
|
国产成人综合网
|
中国大陆高清aⅴ毛片
|
亚洲精品一区二区三区四区高清
|
亚洲精品福利视频
|
久久精品日产第一区二区三区
|
99精品九九
|
久久久日韩精品一区二区三区
|
国产精品一区二区在线
|
日韩久久久久
|
久久久久国产视频
|
久久91|
国产高清av免费观看
|
亚洲免费在线
|
中文精品视频
|
日本视频免费观看
|
北条麻妃99精品青青久久主播
|
日本不卡一区二区三区在线观看
|
国产精品久久久久久久三级
|
一本大道久久a久久精二百
欧洲一区二区三区
|
国产精品亚洲精品
|
国产视频二区
|
97超碰成人|
中文天堂在线观看
|
国产91在线播放精品91
|
www.狠狠干|
国产一区二区在线视频
|
7777久久
|