久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
51單片機(jī)小車測距避障并調(diào)速的源碼
[打印本頁]
作者:
51dasttwbd
時間:
2018-5-22 21:32
標(biāo)題:
51單片機(jī)小車測距避障并調(diào)速的源碼
簡單的編程 ,使用51單片機(jī)STC89C52進(jìn)行編程, 期間用到1個超聲波HC-SR04, 1個電機(jī)驅(qū)動模塊L298N 實(shí)現(xiàn)了 簡單的避障和 調(diào)速的功能,
源程序如下:
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit ENA_pwm = P2^6; //PWM信號端
sbit ENB_pwm = P2^7; //PWM信號端
sbit L298N_INA = P1^0;
sbit L298N_INB = P1^1;
sbit L298N_INC = P1^2;
sbit L298N_IND = P1^3;
sbit Trlg1 = P2^0;
sbit Echo1 = P2^1;
unsigned char pwm_val_left =0; //變量定義
unsigned char pwm_val_right =0;
unsigned char push_val_left =0;// 左電機(jī)占空比N/10
unsigned char push_val_right=0;// 右電機(jī)占空比N/10
unsigned int time = 0; //傳輸時間
unsigned long S = 0; //距離
bit flag = 0; //超出測量范圍標(biāo)志位
void delay(uint z) //毫秒級延時
{
uint x,y;
for(x = z; x > 0; x--)
{
for(y = 114; y > 0 ; y--);
}
}
void Delay10us_CSB(uchar i) //10us延時函數(shù) 超聲波模塊使用
{
uchar j;
do
{
j = 10;
do
{
_nop_();
_nop_();
}
while(--j);
}
while(--i);
}
void Go_forward()
{
push_val_left=4;
push_val_right=4;
L298N_INA = 0;
L298N_INB = 1;
L298N_INC = 1;
L298N_IND = 0;
}
void Go_back()
{
push_val_left=4;
push_val_right=4;
L298N_INA = 1;
L298N_INB = 0;
L298N_INC = 0;
L298N_IND = 1;
}
void Go_left()
{
push_val_left=3;
push_val_right=3;
L298N_INA = 0;
L298N_INB = 1;
L298N_INC = 1;
L298N_IND = 1;
}
/*
void Go_right()
{
push_val_left=3;
push_val_right=3;
L298N_INA = 1;
L298N_INB = 0;
L298N_INC = 0;
L298N_IND = 0;
}
*/
void Stop()
{
L298N_INA = 0;
L298N_INB = 0;
L298N_INC = 0;
L298N_IND = 0;
}
void pwm_out_left_moto(void)
{
if(pwm_val_left<=push_val_left)
ENA_pwm=1;
else
ENA_pwm=0;
if(pwm_val_left==10) // 0~10 , 0最小,10最大
pwm_val_left=0;
}
void pwm_out_right_moto(void)
{
if(pwm_val_right<=push_val_right)
ENB_pwm=1;
else
ENB_pwm=0;
if(pwm_val_right==10) // 0~10 , 0最小,10最大
pwm_val_right=0;
}
/*定時器1中斷輸出PWM信號*/
void timer1() interrupt 3
{
TH1=(65536-10)/256;
TL1=(65536-10)%256;
pwm_val_left++;
pwm_val_right++;
pwm_out_left_moto();
pwm_out_right_moto();
}
void timer0() interrupt 1 //T0中斷用來計數(shù)器溢出,超過測距范圍
{
flag=1; //中斷溢出標(biāo)志
}
void CSB_module()
{
Trlg1=1;
Delay10us_CSB(10);
Trlg1=0;
}
/*計算超聲波所測距離并顯示*/
void Conut()
{
time=TH0*256+TL0;
TH0=0;
TL0=0;
S=(float)(time*1.085)*0.17; //算出來是MM
if((S>=7000)||flag==1) //超出測量范圍
{
flag=0;
}
}
void bizhang()
{
if(S > 100)//設(shè)置避障距離(單位毫米)
{
Go_forward();
}
else
{
Stop();
delay(20);
Go_back();
delay(30);
Go_left();
}
}
void main()
{
Stop();
delay(1000);//延時1秒
TMOD |= 0x20;//定時器1工作模式2,8位自動重裝。用于產(chǎn)生PWM
TMOD |= 0x01;//定時器0工作模塊1,16位定時模式。T0用測ECH0脈沖長度
TH1 = 220; //
TL1 = 220; //100HZ T1
TH0 = 0;
TL0 = 0;//T0,16位定時計數(shù)用于記錄ECHO高電平時間
ET1 = 1;//允許T1中斷
ET0 = 1;//允許T0中斷
TR1 = 1;//啟動定時器1
EA = 1;//啟動總中斷
while(1)
{
CSB_module(); //啟動超聲波測距
while(!Echo1); //當(dāng)(ECHO信號回響)為零時等待
TR0=1; //開啟計數(shù)
while(Echo1);
TR0=0; //關(guān)閉計數(shù)
Conut(); //計算距離
bizhang(); //避障
delay(30);
}
}
復(fù)制代碼
全部資料51hei下載地址:
pwm調(diào)速小車避障.rar
(24.86 KB, 下載次數(shù): 148)
2018-5-22 21:32 上傳
點(diǎn)擊文件名下載附件
源程序
下載積分: 黑幣 -5
作者:
99九十九
時間:
2018-6-25 15:50
能測速嗎
作者:
123321gjx
時間:
2019-4-13 12:32
終于靠譜了
作者:
Leslieyang
時間:
2019-5-26 23:16
有沒有使用51單片機(jī)STC89C51進(jìn)行編程的
作者:
Leslieyang
時間:
2019-5-26 23:29
哥,能不能仔細(xì)解釋下,許多地方看不懂
作者:
winkle
時間:
2019-7-16 11:26
這個可讀性不錯
作者:
嘟嘟胖子
時間:
2019-7-17 13:46
備注很詳細(xì),資料不錯,學(xué)習(xí)一下。
作者:
質(zhì)壁分離
時間:
2020-4-27 22:36
本帖最后由 質(zhì)壁分離 于 2020-4-27 23:06 編輯
很詳細(xì),對于學(xué)習(xí)很有幫助,謝謝。
作者:
3146768670
時間:
2021-1-30 16:12
這個資料不錯奧,謝謝樓主
作者:
3146768670
時間:
2021-1-30 16:13
Leslieyang 發(fā)表于 2019-5-26 23:16
有沒有使用51單片機(jī)STC89C51進(jìn)行編程的
這個也可以用
作者:
katv0718
時間:
2021-2-9 11:28
收下研究了,謝謝!
作者:
xtmaaa
時間:
2021-10-20 10:50
有紅外的嗎樓主
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
不卡av在线播放
|
国产精品亚洲精品
|
欧美xx孕妇
|
国产一级片免费观看
|
婷婷久
|
国产精品一区二区在线播放
|
av一二三区
|
午夜视频在线
|
亚洲高清视频在线观看
|
日韩欧美一区二区三区久久婷婷
|
一道本av
|
国产免费高清视频
|
成年人视频网站
|
日韩大片在线观看
|
三级在线视频
|
丁香六月综合
|
蜜臀久久99精品久久久久久宅男
|
国产精品久久久久久无人区
|
成人av资源
|
18视频在线观看男男
|
亚洲自拍偷拍视频
|
日本免费一级
|
精品久久一区二区三区
|
亚洲一区二区在线播放
|
www.黄色
|
成人涩涩
|
欧美伊人久久
|
日韩国产精品视频
|
日韩中文字幕一区二区三区
|
国产盗摄一区二区三区
|
久久视频一区
|
在线观看免费毛片
|
激情综合网五月
|
成人久久av
|
欧美激情视频一区二区三区
|
www.九九热
|
国产精品一区在线
|
一色桃子av
|
精品一区在线
|
六月色婷婷
|
91青青
|