標題: 基于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://m.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
久久成人av
|
四虎黄色网址
|
91久久精品日日躁夜夜躁欧美
|
日韩免费一区二区
|
黄色一级免费看
|
黄视频免费观看
|
日本黄色a级片
|
av网站免费在线观看
|
国产三级一区
|
亚洲精品久久久蜜桃
|
www.桃色|
国产麻豆91
|
麻豆亚洲一区
|
国产免费成人
|
91久久久久久久久
|
美女张开腿
|
亚洲伦理视频
|
欧美精产国品一二三区
|
色呦呦国产精品
|
免费av网站在线观看
|
中文字幕一区二
|
日韩在线一区二区
|
日韩伦理在线观看
|
国产日产精品一区二区三区的介绍
|
国产一区二区三区精品视频
|
亚洲国产精品久久
|
国产无精乱码一区二区三区
|
四虎在线免费观看视频
|
在线观看免费毛片
|
特级黄色大片
|
亚洲黄色天堂
|
国产精品国产精品国产专区不卡
|
久久久国产精品人人片
|
国产三级免费观看
|
国产高清一区二区三区
|
欧美性生交
|
亚洲国产免费
|
黄色片免费看
|
亚洲免费精品视频
|
天天碰天天操
|
久久99深爱久久99精品
|