久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
超聲波測距代碼,調了一下午都沒能正確顯示距離
[打印本頁]
作者:
KUNGONG
時間:
2017-8-11 20:21
標題:
超聲波測距代碼,調了一下午都沒能正確顯示距離
這個是我剛剛寫的一個超聲波測距的代碼,麻煩大佬幫忙看看是哪出錯了啊,調了一下午都沒能正確顯示距離,若有大佬幫忙解決,小的定當感激不盡
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
int time;
int succeed_flag;
uchar timeL;
uchar timeH;
sbit Trig =P1^0;
sbit Echo =P3^2;
sbit rs =P2^0;
sbit lcden=P2^2;
sbit rw =P2^1;
uchar table[]={
0x30,0x31,0x32,0x33,0x34,0x35,
0x36,0x37,0x38,0x39,0x3a};
uchar code *table1[]={"x zhou:","y zhou:"};
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void delay_20us()
{
uchar a ;
for(a=0;a<100;a++);
}
void lcdwrdata(uchar dat)
{
rs=1;
lcden=1;
P0=dat;
delay(6);
lcden=0;
delay(6);
}
void lcdwrcom(uchar cdat)
{
rs=0;
lcden=1;
P0=cdat;
delay(6);
lcden=0;
delay(6);
}
void lcd_init()
{
lcdwrcom(0x38);
lcdwrcom(0x0c);
lcdwrcom(0x06);
lcdwrcom(0x01);
}
void display(uint temp)
{
uchar ge,shi,bai;
bai=temp/100;
shi=(temp%100)/10;
ge=temp%10;
rw=0;
delay(200);
lcden=0;
lcd_init();
lcdwrcom(0x00|0x80);
while(*table1[0]!='\0')
{
lcdwrdata(*table1[0]++);
delay(100);
}
lcdwrcom(0x00|0xc0);
while(*table1[1]!='\0')
{
lcdwrdata(*table1[1]++);
delay(100);
}
lcdwrcom(0x08|0xc0);
lcdwrdata(table[ge]);
delay(1);
lcdwrcom(0x09|0xc0);
lcdwrdata(table[shi]);
delay(1);
lcdwrcom(0x0a|0xc0);
lcdwrdata(table[bai]);
delay(1);
}
void main()
{
uint distance;
Trig=0;
EA=1;
TMOD=0x10;
while(1)
{
EA=0;
Trig=1;
delay_20us();
Trig=0;
while(Echo==0);
succeed_flag=0;
EA=1;
EX0=1;
TH1=0;
TL1=0;
TF1=0;
TR1=1;
delay(20);
TR1=0;
EX0=0;
if(succeed_flag==1)
{
time=timeH*256+timeL;
distance=time*0.0172;
}
if(succeed_flag==0)
{
distance=0;
}
display(distance);
}
}
void exter() interrupt 0
{
EX0=0;
timeH =TH1;
timeL =TL1;
succeed_flag=1;
}
void timer1() interrupt 3
{
TH1=0;
TL1=0;
}
作者:
cjjcjj1
時間:
2017-8-12 12:23
提示:
作者被禁止或刪除 內容自動屏蔽
作者:
zhangzhizhilong
時間:
2017-8-14 14:05
建議使用US-100超聲波模塊,支持串口通信,非常好用
作者:
看透不說透
時間:
2017-8-16 11:26
給你一個我們今年電做P題的超聲波測液位的程序,這個可以直接測出液位,我們模塊是用HC-SR04,你也可以用US-100直接把跳線帽抜了用電平觸發模式,因為能力有限不會用串口模式
#ifndef __CSBRABGE_H__
#define __CSBRABGE_H__
/*連接線圖:
---------------------------------------------------
| CSB-----51 | CSB-----51 | CSB-----51 |
| -------------------------------------------------------------- |
| Trig-----P3.6 | Echo-----P3.7 | VCC--5v GND |
---------------------------------------------------*/
#define uchar unsigned char
#define uint unsigned int
/******************接線引腳定義**************************/
sbit csb_t=P3^6;
sbit csb_r=P3^7;
/******************測量范圍限制 *****************************/
#define MAX_AREA 25000
/*****************************************************
函 數 名:void delay_csb(uint t)
功 能:延時
說 明:
入口參數:無
返 回 值:無
*****************************************************/
void delay_csb(uint t)
{
while(t--);
}
/*****************************************************
函 數 名:uint CsbRange(void)
功 能:測距
說 明:占用了定時器0
入口參數:無
返 回 值:返回S 測距結果
*****************************************************/
uint CsbRange(void)
{
uint time,s;
TMOD=0x01;
TH0=0;
TL0=0;
csb_t=1;
delay_csb(10);
csb_t=0;
while(!csb_r);
TR0=1;
while(csb_r);
TR0=0;
time=TH0*256+TL0;
TH0=0;
TL0=0;
s=time*0.17;//測出的實際值
s=-1.1371*s + 562.62;//算出的液位值
return s;
}
#endif
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
日本精品一区二区三区视频
|
午夜天堂精品久久久久
|
一区二区三区高清不卡
|
国产欧美精品一区二区色综合朱莉
|
免费在线观看av的网站
|
亚洲精品中文在线
|
成人深夜福利
|
密室大逃脱第六季大神版在线观看
|
一区二区三区久久久
|
美日韩精品
|
国产精品久久久久久高潮
|
在线播放国产一区二区三区
|
黄色片网站在线观看
|
午夜av成人
|
老司机狠狠爱
|
国产一级成人
|
亚洲va在线va天堂va狼色在线
|
亚洲乱码一区二区
|
国产精品美女久久久久aⅴ国产馆
|
久久久久国产精品免费免费搜索
|
国产精品亚洲欧美日韩一区在线
|
亚洲国产精品网站
|
国产精品成人在线播放
|
国产日韩电影
|
人成久久
|
91日b
|
国产传媒毛片精品视频第一次
|
不卡在线视频
|
亚洲一区中文字幕
|
欧洲免费毛片
|
亚洲天堂av网
|
久久国产婷婷国产香蕉
|
国产精品成人一区
|
国产亚洲精品久久久久动
|
精品综合
|
日韩精彩视频
|
亚洲欧美国产精品久久
|
aaaaaaa片毛片免费观看
|
亚洲高清在线
|
日韩欧美在线不卡
|
成人片网址
|