久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
4路紅外循跡加超聲波避障程序和資料-網(wǎng)上買的的智能小車
[打印本頁]
作者:
chinahero
時(shí)間:
2017-8-12 09:09
標(biāo)題:
4路紅外循跡加超聲波避障程序和資料-網(wǎng)上買的的智能小車
本小車是從網(wǎng)上買的,7.2v電車供電,L298N電機(jī)驅(qū)動(dòng)模塊。
系統(tǒng)的硬件包括以下幾個(gè)部分:
(1)MCU:STC89C52;
(2)電源:7.2V、1600mah的可充電鎳鎘電池;
(3)紅外光電傳感器;
(4)超聲波傳感器:HC-SR04
(5)兩個(gè)直流電機(jī);
(6)電機(jī)驅(qū)動(dòng)芯片:L298N。
單片機(jī)源程序如下:
#include <reg52.h>
#include <intrins.h>
#define somenop _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();
#define DIS_DATA P0
unsigned char code DIS_TABLE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86,0x8e};
sbit cs0 = P2^0;
sbit cs1 = P2^1;
sbit cs2 = P2^2;
sbit cs3 = P2^3;
sbit MOTO1_IN1 = P1^0;//左輪電機(jī)
sbit MOTO1_IN2 = P1^1;
sbit MOTO2_IN1 = P1^2;//右輪電機(jī)
sbit MOTO2_IN2 = P1^3;
sbit MOTO1_PWM = P1^4;
sbit MOTO2_PWM = P1^5;
sbit Tx = P3^3;
sbit Rx = P3^2;
sbit Key_1 = P3^5;
sbit Key_2 = P3^4;
sbit Led = P1^7;
void RED_SCAN(void);
void Turn_Forward(void);
void Turn_Right(void);
void Turn_Left(void);
void Turn_Stop(void);
void Turn_SRight(void);
void Turn_SLeft(void);
void Test(void);
void Key_Scan(void);
void send_wave(void);
void Delay10us(void);
unsigned char i = 0,j = 0;
unsigned char a = 0,b = 0;
unsigned char flag = 0;
unsigned char flag1 = 0;
unsigned char timeH = 0,timeL = 0,time = 0;
unsigned char mode;
unsigned char flag_csb_juli=0;
unsigned char iCnt;
unsigned int displayvalue;
unsigned int scan_status;
float distance;
int main()
{
Tx = 0;
EA = 1;
TMOD = 0x11;
TR0=0;
TR1=0;
MOTO1_PWM = 0;
MOTO2_PWM = 0;
TH0 = 65517/256;
TL0 = 65517%256;
while(1)
{
Key_Scan();
if(mode == 1)
{
ET0 = 1;
TR0 = 1;
}
if(mode == 2)
{
ET0 = 0;
TR0 = 0;
MOTO1_PWM = 1;
MOTO2_PWM = 1;
send_wave();
}
}
}
void RED_SCAN(void)
{
switch(P2&0xf0)
{
case 0x60: Turn_Forward();flag = 0;scan_status=110;
break;
case 0xC0: Turn_Right();flag = 0;scan_status=1100;
break;
case 0x30: Turn_Left();flag = 0;scan_status=11;
break;
case 0x80: Turn_SRight();flag = 2;scan_status=1000;
break;
case 0x10: Turn_SLeft(); flag = 1;scan_status=1;
break;
case 0xE0: Turn_Right();flag = 0;scan_status=1110;
break;
case 0x70: Turn_Left();flag = 0;scan_status=111;
break;
case 0x20: Turn_Right();flag = 0;scan_status=10;
break;
case 0x40: Turn_Left();flag = 0;scan_status=100;
break;
default: Test(); scan_status=0;
break;
}
}
void Turn_Forward(void)
{
MOTO1_IN1=0;
MOTO1_IN2=1;
MOTO2_IN1=0;
MOTO2_IN2=1;
a=80;
b=70;
}
void Turn_Right(void)
{
MOTO1_IN1=0;
MOTO1_IN2=1;
MOTO2_IN1=0;
MOTO2_IN2=1;
a=70;
b=85;
}
void Turn_Left(void)
{
MOTO1_IN1=0;
MOTO1_IN2=1;
MOTO2_IN1=0;
MOTO2_IN2=1;
a=85;
b=70;
}
void Turn_SRight(void)
{
MOTO1_IN1=0;
MOTO1_IN2=1;
MOTO2_IN1=0;
MOTO2_IN2=0;
// TR0=1;
a=80;
b=70;
}
void Turn_SLeft(void)
{
MOTO1_IN1=0;
MOTO1_IN2=0;
MOTO2_IN1=0;
MOTO2_IN2=1;
a=80;
b=70;
}
void Turn_Stop(void)
{
MOTO1_IN1=0;
MOTO1_IN2=0;
MOTO2_IN1=0;
MOTO2_IN2=0;
}
void Test(void)
{
if(flag==0)
Turn_Stop();
if(flag==1)
Turn_SLeft();
if(flag==2)
Turn_SRight();
}
void timer0() interrupt 1
{
TR0 = 0;
i++;
TH0=65517/256;
TL0=65517%256;
iCnt++;
if(mode == 1)
{
displayvalue=scan_status;
//displayvalue=1234;
}
else
{
displayvalue=(int)distance;
}
if(iCnt == 10)
{
DIS_DATA = 0xff; //消影
cs0 = 1;
cs1 = 1;
cs2 = 1;
cs3 = 0;
DIS_DATA = DIS_TABLE[displayvalue % 10];
}
if(iCnt == 20)
{
DIS_DATA = 0xff; //消影
cs0 = 1;
cs1 = 1;
cs2 = 0;
cs3 = 1;
DIS_DATA = DIS_TABLE[displayvalue /10 % 10];
}
if(iCnt == 30)
{
DIS_DATA = 0xff; //消影
cs0 = 1;
cs1 = 0;
cs2 = 1;
cs3 = 1;
DIS_DATA = DIS_TABLE[displayvalue /100 % 10];
}
if(iCnt == 40)
{
// iCnt == 0;
DIS_DATA = 0xff; //消影
cs0 = 0;
cs1 = 1;
cs2 = 1;
cs3 = 1;
DIS_DATA = DIS_TABLE[displayvalue /1000 % 10];
}
if(iCnt == 50)
{
iCnt == 0;
DIS_DATA = 0xff; //消影
}
if(i==a)
{
MOTO1_PWM = 1;
}
if(i==b)
{
MOTO2_PWM = 1;
}
if(i==100)
{
i=0;
MOTO1_PWM = 0;
MOTO2_PWM = 0;
RED_SCAN();
}
TR0 = 1;
}
void Key_Scan(void)
{
if(Key_1 == 0)
{
mode = 1;
while(!Key_1);
}
if(Key_2 == 0)
{
mode = 2;
while(!Key_2);
}
}
void send_wave()
{
Tx = 1; //10us的高電平觸發(fā)
Delay10us();
Tx = 0;
flag_csb_juli = 0;
TH1 = 0; //給定時(shí)器0清零
TL1 = 0;
TR1 = 0; //關(guān)定時(shí)器0定時(shí)
while(Rx==0); //當(dāng)Echo為零時(shí)等待
TR1=1;
while(Rx==1) //當(dāng)Echo為1計(jì)數(shù)并等待
{
flag_csb_juli = 1;
}
if(flag_csb_juli == 1)
{
TR1=0; //關(guān)定時(shí)器0定時(shí)
distance =TH1 * 256 + TL1; //讀出定時(shí)器1的定時(shí)時(shí)間
distance *= 0.017; // 0.017 = 340M / 2 = 170M = 0.017cM 算出來是c米
// distance單位是厘米
if((distance < 20)) //距離 = 速度 * 時(shí)間
{
Turn_SLeft(); //如果大于3.8m就超出超聲波的量程
}
if((distance > 20)) //距離 = 速度 * 時(shí)間
{
Turn_Forward(); //如果大于3.8m就超出超聲波的量程
}
}
}
void Delay10us() //@11.0592MHz
{
unsigned char i;
_nop_();
i = 25;
while (--i);
}
復(fù)制代碼
所有資料51hei提供下載:
共享程序
循跡加數(shù)碼管.rar
(1.6 KB, 下載次數(shù): 154)
2017-8-12 09:09 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
【Realplay】HC-SR04 超聲波模塊 測(cè)距模塊 超聲波 傳感器 送資料.rar
(1.67 MB, 下載次數(shù): 163)
2017-8-12 09:08 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
51hww34
時(shí)間:
2017-8-18 02:17
感謝分享
作者:
yu霈
時(shí)間:
2017-8-19 11:56
謝謝LZ的分享
作者:
可可分享
時(shí)間:
2018-2-3 14:48
收藏了
作者:
18730630826
時(shí)間:
2019-5-20 13:36
請(qǐng)問樓主有這個(gè)程序的電路原理圖么,有的話發(fā)
1572166292@qq.com
,謝謝。
作者:
甘油條
時(shí)間:
2019-5-20 15:29
感謝分享
作者:
被發(fā)之叟
時(shí)間:
2019-6-21 11:03
18730630826 發(fā)表于 2019-5-20 13:36
請(qǐng)問樓主有這個(gè)程序的電路原理圖么,有的話發(fā),謝謝。
同問樓主跪求
作者:
493759640
時(shí)間:
2019-6-21 21:59
在哪買的,鏈接發(fā)一下唄
作者:
leezll
時(shí)間:
2019-12-22 11:40
O(∩_∩)O謝謝LZ分享
作者:
妖孽王叔叔
時(shí)間:
2020-2-24 13:16
感謝分享,學(xué)到很多
作者:
liuxuhe
時(shí)間:
2020-10-8 09:58
資料沒啥用 原理圖都沒有一個(gè)
作者:
CHH614897377
時(shí)間:
2020-12-22 10:29
能給發(fā)一下原理圖嗎?
作者:
區(qū)區(qū)&致命傷
時(shí)間:
2021-1-26 12:06
有用,剛好和我的硬件符合
作者:
123456ing
時(shí)間:
2021-3-23 10:11
感覺還是不錯(cuò)的,支持一下
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产精品福利视频
|
国产精品久久久久久亚洲影视
|
国产午夜三级
|
精品国产一区二区在线观看
|
国产伦精品一区二区三区视频网站
|
欧美国产激情
|
久久亚洲精品视频
|
日韩精品区
|
天天干夜夜骑
|
国产亚洲天堂
|
av大全在线观看
|
日本不卡在线视频
|
成人网在线
|
中文字幕一二区
|
午夜看片
|
国产免费一区二区三区免费视频
|
九九视频在线观看
|
一本不卡
|
欧美日韩在线播放
|
99在线播放
|
久久久久一区二区三区
|
亚洲一区二区欧美
|
黄色大片网站
|
91av在线免费观看
|
中文字幕在线观看一区
|
在线播放成人
|
午夜视频一区
|
亚洲高清在线播放
|
成人在线不卡
|
欧美在线视频观看
|
中文字幕在线免费看线人
|
婷婷久久综合
|
a级片在线免费观看
|
韩日一级片
|
丁香六月婷婷
|
在线免费观看日韩av
|
白白色在线观看
|
国产aaaaaa
|
一区二区视频在线播放
|
久久久久久免费毛片精品
|
一级黄色免费
|