標題:
超聲波測距 51單片機程序
[打印本頁]
作者:
17190187950
時間:
2018-6-21 12:12
標題:
超聲波測距 51單片機程序
超聲波測距并顯示在LCD1602上。
#include<reg51.h>
#include<intrins.h>
#include"lcd1602.h"
uchar s;
sbit TRIG=P1^0;
sbit ECHO=P3^2;
uint time=0;
bit flag=0;
/********************************************************/
void StartModule() //啟動模塊
{
TRIG=1; //啟動一次模塊
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TRIG=0;
}
void Init_Timer()
{
TMOD=0x09; //設(shè)T0為方式1,GATE=1;
TH0=0;
TL0=0;
TR0=1;
ET0=1; //允許T0中斷
EA=1; //開啟總中斷
}
void zd0() interrupt 1 //T0中斷用來計數(shù)器溢出,超過測距范圍
{
flag=1; //中斷溢出標志
}
/********************************************************/
void Conut()
{
time=TH0*256+TL0;
TH0=0;
TL0=0;
s=(time*1.7)/100; //算出來是CM
if((s>=700)) //超出測量范圍顯示“-”
flag=1;
}
/****************************************/
void WPartDistance_1602(uchar dat)
{
uchar bai,shi,ge;
bai=dat/100;
shi=dat/10%10;
ge=dat%10;
WData_1602(0x30+bai);
Delay_ms(5);
WData_1602(0x30+shi);
Delay_ms(5);
WData_1602(0x30+ge);
Delay_ms(5);
WData_1602(0x43);
Delay_ms(5);
WData_1602(0x4d);
Delay_ms(5);
}
void WText_1602()
{
WAdd_1602(0x00+0);
WData_1602(0x44);
Delay_ms(5);
WData_1602(0x69);
Delay_ms(5);
WData_1602(0x73);
Delay_ms(5);
WData_1602(0x74);
Delay_ms(5);
WData_1602(0x61);
Delay_ms(5);
WData_1602(0x6e);
Delay_ms(5);
WData_1602(0x63);
Delay_ms(5);
WData_1602(0x65);
Delay_ms(5);
WData_1602(0x3a);
Delay_ms(5);
}
void WDistance_1602()
{
WAdd_1602(0x40+3);
WPartDistance_1602(s);
}
void WError_1602()
{
WAdd_1602(0x40+3);
WData_1602(0xb0);
Delay_ms(5);
WData_1602(0xb0);
Delay_ms(5);
WData_1602(0xb0);
Delay_ms(5);
}
void Display_1602()
{
WText_1602();
if(flag)
{
flag=0;
WError_1602();
}
else
{
WDistance_1602();
}
}
void main()
{
Init_1602();
Init_Timer();
while(1)
{
StartModule();
while(ECHO); //當(dāng)RX為1計數(shù)并等待
Conut(); //計算
Display_1602();
Delay_ms(80); //80MS
}
}
復(fù)制代碼
超聲波測距2.rar
2018-6-21 12:11 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
42.76 KB, 下載次數(shù): 61, 下載積分: 黑幣 -5
作者:
Avenger
時間:
2019-3-29 14:30
值得學(xué)習(xí)!
作者:
dats333
時間:
2019-5-8 18:20
感謝分享
作者:
spiritdust
時間:
2019-5-13 12:07
用的是什么測距模塊?
作者:
無衣
時間:
2019-5-23 19:21
延時程序在????、TH0=0;
TL0=0;用不了呀
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1