欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
AJ-SR04M一體化超聲波51單片機測試程序
[打印本頁]
作者:
sorry199525
時間:
2018-1-18 15:41
標題:
AJ-SR04M一體化超聲波51單片機測試程序
親測可用,51單片機測試超聲波模塊
單片機源程序如下:
#include<reg51.h>
#include<intrins.h>
typedef unsigned char uint8;
typedef unsigned int uint16;
sbit Trig=P3^3;//觸發引腳定義
sbit Echo=P3^2;//測量引腳定義
uint16 distance;//定義全局變量
/******************************************
延時讓Trig引腳產生大于10us的脈沖
********************************************/
void delay()
{
uint8 i;
for(i=0;i<100;i++);
}
//初始化
void init()
{
EA=1;//開總中斷
IT0=0;//外部中斷0,低電平觸發
TMOD|=0x01;//定時器0 工作模式1
TH0=0;
TL0=0;
TR0=0;
}
//串口設置
void UART_init()
{
SCON=0x50;
TMOD=0x20;
TH1=0xFD;
TL1=0xFD;
TR1=1;
}
//發送一個字節
void UART_send_byte(uint8 dat)
{
SBUF=dat;
while(TI==0);
TI=0;
}
//發送一組測得的distance
void UART_send_dat(uint16 temp)
{
UART_send_byte((temp/10000)%10 + '0');
UART_send_byte((temp/1000)%10 + '0');
UART_send_byte((temp/100)%10 + '0');
UART_send_byte((temp/10)%10 + '0');
UART_send_byte('.');
UART_send_byte(temp%10 + '0');
UART_send_byte('c');
UART_send_byte('m');
}
//主函數
main()
{
UART_init();//初始化
init(); //初始化
Trig=0;//先把引腳拉低
while(1)//進入循環
{
Trig=1;
delay();//產生脈沖
Trig=0;
while(Echo==0);//等待引腳被拉高
TR0=1;//打開定時器0
EX0=1;//打開中斷
while(TH0<250);//正在測量數據,需要等待
TR0=0;
TL0=0;
TH0=0;
UART_send_dat(distance);//向串口發送測得的distance
UART_send_byte('\r');
UART_send_byte('\n');
}
}
void extra_interrupt() interrupt 0 //外部中斷0
{
distance=(256*TH0+TL0)*0.184;//測得最小精度位mm(晶振為11059200Hz)
//P0=Echo;
EX0=0;//關閉中斷
}
復制代碼
所有資料51hei提供下載:
AJ-SR04M測試程序(51).zip
(24.05 KB, 下載次數: 60)
2018-1-18 15:40 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
devcang
時間:
2018-1-18 21:55
配置直接輸出串口的,很方便
~
作者:
ljy棉花糖
時間:
2018-10-28 15:50
大神,請問一下,為何我的AJ-SR04M模塊用這程序,指示燈不亮,串口接到的都是些p483n0什么什么的 這是沒驅動成功的原因嗎
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1