標(biāo)題:
基于單片機(jī)+L298智能小車設(shè)計(jì),含Proteus仿真和源程序
[打印本頁]
作者:
sxx1
時間:
2018-11-16 22:04
標(biāo)題:
基于單片機(jī)+L298智能小車設(shè)計(jì),含Proteus仿真和源程序
說明 小車運(yùn)動通過獨(dú)立按鍵控制,通過按鍵調(diào)節(jié)不同車輪的速度,從而實(shí)現(xiàn)左轉(zhuǎn)或右轉(zhuǎn),L298驅(qū)動電機(jī)
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
捕獲.PNG
(81.57 KB, 下載次數(shù): 86)
下載附件
仿真圖
2018-11-16 21:58 上傳
#include <reg51.h>
#define uchar unsigned char
sbit IN1 = P2^0;
sbit IN2 = P2^1;
sbit IN3 = P2^2;
sbit IN4 = P2^3;
sbit ENA = P2^4;
sbit ENB = P2^5;
sbit LeftUp = P1^0;
sbit LeftDown = P1^1;
sbit RightUp = P1^2;
sbit RightDown = P1^3;
//**×óóòÂÖ×óËù¶èμ÷½ú±äá¿
uchar numL,numR;
//***********************
void init_time()
{
TMOD=0X01;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
EA=1;
ET0=1;
TR0=1;
}
void time0() interrupt 1 using 1
{
static uchar num;
num++;
if(num==numR) ENB=~ENB;
if(num==numL) ENA=~ENA;
if(num==100){ENA=~ENA;ENB=~ENB;num=0;}
TH0=(65536-500)/256;
TL0=(65536-500)%256;
}
void main()
{
numL=70;numR=20;
ENA=ENB=1;
IN1=IN3=1;IN2=IN4=0;
init_time();
while(1)
{
if(!LeftUp) { while(!LeftUp); numL+=5;
if(numL>100)numL=0;}
if(!LeftDown) { while(!LeftDown); numL-=5;
if(numL>100)numL=0;}
if(!RightUp) { while(!RightUp); numR+=5;
if(numR>100)numR=0;}
if(!RightDown){ while(!RightDown);numR-=5;
if(numR>100)numR=0;}
}
}
全部資料51hei下載地址:
控制小車的運(yùn)動.zip
(124.18 KB, 下載次數(shù): 218)
2018-11-16 21:59 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
51hei_lion
時間:
2020-11-5 11:04
這個資源非常好,準(zhǔn)備下載認(rèn)真學(xué)習(xí)一下
作者:
54cyt
時間:
2021-6-30 23:53
樓主能解釋下這段嗎void main() { numL=70;numR=20; ENA=ENB=1; IN1=IN3=1;IN2=IN4=0;
作者:
54cyt
時間:
2021-6-30 23:53
樓主能解釋下這段嗎void main()
{
numL=70;numR=20;
ENA=ENB=1;
IN1=IN3=1;IN2=IN4=0;
作者:
ycs89554171
時間:
2021-10-14 14:20
準(zhǔn)備下載認(rèn)真學(xué)習(xí)一下
作者:
陌上花開啊
時間:
2022-3-26 15:52
請問樓主能解釋一下程序各個含義嗎?初學(xué)者不太懂
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1