欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
51單片機控制L298N驅動兩臺直流電機的智能小車程序
[打印本頁]
作者:
bboy-asda
時間:
2016-5-13 12:35
標題:
51單片機控制L298N驅動兩臺直流電機的智能小車程序
51單片機芯片控制的L298N驅動兩臺直流電機的智能小車程序
包含
1-左輪前進(接線調試)
2-右輪前進(接線調試)
3-前進后退
4-PWM調速前進后退
0.png
(78.52 KB, 下載次數: 279)
下載附件
2016-5-16 02:33 上傳
全部小車程序源碼下載:
51小車測試程序.rar
(126.33 KB, 下載次數: 552)
2016-5-13 12:34 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
部分源碼預覽:
/***************************************************************************
標題:前進后退測試
平臺:LY5A-L2B開發板
作者: 林洋電子工作室-單片機
說明:使用定時器來輸出PWM信號,通過調節占空比實現調速
******************************************************************************/
//頭文件:
#include <reg52.h>
//IO引腳定義:
sbit IN1=P1^0;
sbit IN2=P1^1;
sbit IN3=P1^2;
sbit IN4=P1^3;
//以上為電機驅動板輸入引腳定義,
//IN1和IN2控制左輪電機,輸出對應的OU1和OUT2接左輪電機,
//IN3和IN4控制右輪電機,輸出對應的OU3和OUT4接右輪電機
sbit L_PWM=P1^4; //左輪調速,接驅動模塊ENA使能端,在這里輸入PWM信號
sbit R_PWM=P1^5; //右輪調速,接驅動模塊ENB使能端,在這里輸入PWM信號
//宏定義
#define L_go IN1=0;IN2=1 //左輪前進
#define L_back IN1=1;IN2=0 //左輪后退
#define L_stop IN1=0;IN2=0 //左輪停止,兩個輸出1也可以
#define R_go IN3=0;IN4=1 //右輪前進
#define R_back IN3=1;IN4=0 //右輪后退
#define R_stop IN3=0;IN4=0 //右輪停止,兩個輸出1也可以
#define car_go L_go;R_go; //小車前進
#define car_back L_back;R_back //小車后退
#define car_left R_go;L_stop //小車左轉彎
#define car_right L_go;R_stop //小車右轉彎
#define car_stop L_stop;R_stop //小車停車
#define car_left_360 R_go;L_back //小車向左360度轉,也可以認為是大轉彎
#define car_right_360 L_go;R_back //小車向右360度轉,也可以認為是大轉彎
//數據定義
unsigned char l_tt=0; //定時器計數用
unsigned char l_Lpwm=0; //左輪PWM占空比值,我們設計10個格,0-9,0為停止,9為全速
unsigned char l_Rpwm=0; //右輪PWM占空比值,我們設計10個格,0-9,0為停止,9為全速
//TIMER0中斷服務子函數產生PWM信號
void timer0()interrupt 1 using 2
{
TH0=0XFC; //定時1毫秒,10格調速,為100HZ頻率,此頻率下效果比較好,過大有噪聲,過小振動大
TL0=0X17;
l_tt++;
if(l_tt>9)l_tt=0; //比較用,10格調速
if(l_tt<=l_Lpwm){//左調速,占空比數值越大,輸出高電平時間越寬,電機轉速越高,我們設計10個格,0-9,0為停止,9為全速
L_PWM=1;
}
else{
L_PWM=0;
}
if(l_tt<=l_Rpwm){//右調速,同上
R_PWM=1;
}
else{
R_PWM=0;
}
}
//延時
void Delay(unsigned int t)
{
unsigned int c;
while(t--){
c=10000;
while(c--);
}
}
//入口函數
void main(void)
{
unsigned char i;
EA=1; //首先開啟總中斷
TMOD|=0X11; //定時器方式1,16位計數器,用來計數時間
TH0= 0XFC; //1ms定時
TL0= 0X14;
TR0= 1;
ET0= 1;
while(1){
l_Lpwm=0;
car_go; //前進
for(i=0;i<10;i++){//慢慢提速
l_Lpwm++;
l_Rpwm++;
Delay(2);
}
Delay(5); //保持速度前進一會
for(i=0;i<10;i++){//慢慢降速
l_Lpwm--;
l_Rpwm--;
Delay(2);
}
Delay(10);
car_back; //后退,以下原理同上
for(i=0;i<10;i++){
l_Lpwm++;
l_Rpwm++;
Delay(2);
}
Delay(5);
for(i=0;i<10;i++){
l_Lpwm--;
l_Rpwm--;
Delay(2);
}
Delay(10);
}
}
復制代碼
/***************************************************************************
標題:前進后退測試
平臺:LY5A-L2B開發板
作者: 林洋電子工作室-單片機
客服QQ:52927029
郵箱: 52927029@qq.com
說明:當1和2兩個接線調試程序測試通過后,就可以用此程序進行前進后退實驗
******************************************************************************/
//頭文件:
#include <reg52.h>
//IO引腳定義:
sbit IN1=P1^0;
sbit IN2=P1^1;
sbit IN3=P1^2;
sbit IN4=P1^3;
//以上為電機驅動板輸入引腳定義,
//IN1和IN2控制左輪電機,輸出對應的OU1和OUT2接左輪電機,
//IN3和IN4控制右輪電機,輸出對應的OU3和OUT4接右輪電機
//宏定義
#define L_go IN1=0;IN2=1 //左輪前進
#define L_back IN1=1;IN2=0 //左輪后退
#define L_stop IN1=0;IN2=0 //左輪停止,兩個輸出1也可以
#define R_go IN3=0;IN4=1 //右輪前進
#define R_back IN3=1;IN4=0 //右輪后退
#define R_stop IN3=0;IN4=0 //右輪停止,兩個輸出1也可以
#define car_go L_go;R_go; //小車前進
#define car_back L_back;R_back //小車后退
#define car_left R_go;L_stop //小車左轉彎
#define car_right L_go;R_stop //小車右轉彎
#define car_stop L_stop;R_stop //小車停車
#define car_left_360 R_go;L_back //小車向左360度轉,也可以認為是大轉彎
#define car_right_360 L_go;R_back //小車向右360度轉,也可以認為是大轉彎
//延時
void Delay(unsigned int t)
{
unsigned int c;
while(t--){
c=10000;
while(c--);
}
}
//入口函數
void main(void)
{
while(1){
car_go; //前進
Delay(10);
car_back; //后退
Delay(10);
}
}
復制代碼
/***************************************************************************
標題:右輪前進
平臺:LY5A-L2B開發板
作者: 林洋電子工作室-單片機
客服QQ:52927029
郵箱: 52927029@qq.com
說明: 本程序主要是用來做接線調試使用,右輪前進,即前進方向的右邊輪子,
如果實際寫入程序測試電機向后轉(后退),將電機兩線調換一下即可。
******************************************************************************/
//頭文件:
#include <reg52.h>
//IO引腳定義:
sbit IN1=P1^0;
sbit IN2=P1^1;
sbit IN3=P1^2;
sbit IN4=P1^3;
//以上為電機驅動板輸入引腳定義,
//IN1和IN2控制左輪電機,輸出對應的OU1和OUT2接左輪電機,
//IN3和IN4控制右輪電機,輸出對應的OU3和OUT4接右輪電機
//宏定義
#define L_go IN1=0;IN2=1 //左輪前進
#define L_back IN1=1;IN2=0 //左輪后退
#define L_stop IN1=0;IN2=0 //左輪停止,兩個輸出1也可以
#define R_go IN3=0;IN4=1 //右輪前進
#define R_back IN3=1;IN4=0 //右輪后退
#define R_stop IN3=0;IN4=0 //右輪停止,兩個輸出1也可以
//入口函數
void main(void)
{
R_go; //右輪前進
while(1);
}
復制代碼
/***************************************************************************
標題:左輪前進
平臺:LY5A-L2B開發板
作者: 林洋電子工作室-單片機
客服QQ:52927029
郵箱: 52927029@qq.com
說明: 本程序主要是用來做接線調試使用,左輪前進,即前進方向的左邊輪子,
如果實際寫入程序測試電機向后轉(后退),將電機兩線調換一下即可。
******************************************************************************/
//頭文件:
#include <reg52.h>
//IO引腳定義:
sbit IN1=P1^0;
sbit IN2=P1^1;
sbit IN3=P1^2;
sbit IN4=P1^3;
//以上為電機驅動板輸入引腳定義,
//IN1和IN2控制左輪電機,輸出對應的OU1和OUT2接左輪電機,
//IN3和IN4控制右輪電機,輸出對應的OU3和OUT4接右輪電機
//宏定義
#define L_go IN1=0;IN2=1 //左輪前進
#define L_back IN1=1;IN2=0 //左輪后退
#define L_stop IN1=0;IN2=0 //左輪停止,兩個輸出1也可以
#define R_go IN3=0;IN4=1 //右輪前進
#define R_back IN3=1;IN4=0 //右輪后退
#define R_stop IN3=0;IN4=0 //右輪停止,兩個輸出1也可以
//入口函數
void main(void)
{
L_go; //左輪前進
while(1);
}
復制代碼
作者:
亙黑鹿
時間:
2016-5-16 16:20
看來只好湊錢開啟終身裝逼模式了
作者:
HYJ0414
時間:
2017-6-5 17:42
有沒有仿真
作者:
lidahu
時間:
2017-9-28 21:33
好貼,不錯,正適用。
作者:
Fan7
時間:
2018-3-26 15:27
有點厲害啊,非常有幫助
作者:
Fan7
時間:
2018-3-26 15:32
非常有幫助的有,厲害厲害!
作者:
Fan7
時間:
2018-3-26 15:33
共享資料的黑幣獎勵!
作者:
釘宮音的夏娜
時間:
2018-4-15 22:37
謝謝!
作者:
ycy755343547
時間:
2018-4-19 15:38
資料是好,錢不夠。囧
作者:
植樹人
時間:
2018-4-28 13:03
學習了
作者:
edclaseryue
時間:
2018-7-21 09:35
真的很贊
作者:
江渚鷺鷥
時間:
2019-5-28 02:27
好啊,是真的挺好的
作者:
MartinWu
時間:
2019-5-28 13:12
謝謝分享。。
作者:
輸縮贏盈沖
時間:
2019-6-28 03:18
謝謝下載學習下
作者:
cyc111
時間:
2019-7-1 15:11
加個按鍵鍵控制的該多好
作者:
1122zdc
時間:
2019-7-12 10:16
學習學習
作者:
嘟嘟胖子
時間:
2019-7-17 15:25
備注的很詳細,資料不錯,學習一下 ...
作者:
beryl6565
時間:
2019-10-27 23:05
可以發一下相關的仿真電路圖嗎?
作者:
beryl6565
時間:
2019-10-27 23:05
可以發一下相關的仿真電路圖嗎?
作者:
dkkjj
時間:
2019-11-12 17:00
給力非常棒
作者:
bigtong
時間:
2019-12-9 16:18
你好,樓主,我用你的程序,但是我的電機不轉是為什么
作者:
Lesliec
時間:
2021-6-9 23:12
終于找到了PWM調速程序呀,愛了愛了
作者:
191641913413704
時間:
2025-4-30 20:33
還是好人多啊
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1