久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2758|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

pwm 電機(jī)調(diào)速 l298n

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:812531 發(fā)表于 2021-2-24 23:47 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include <reg52.h>

//IO引腳定義:

sbit IN1=P1^0;               
sbit IN2=P1^1;
sbit IN3=P1^2;
sbit IN4=P1^3;
//以上為電機(jī)驅(qū)動(dòng)板輸入引腳定義,
//IN1和IN2控制左輪電機(jī),輸出對(duì)應(yīng)的OU1和OUT2接左輪電機(jī),
//IN3和IN4控制右輪電機(jī),輸出對(duì)應(yīng)的OU3和OUT4接右輪電機(jī)

sbit L_PWM=P1^4;           //左輪調(diào)速,接驅(qū)動(dòng)模塊ENA使能端,在這里輸入PWM信號(hào)
sbit R_PWM=P1^5;           //右輪調(diào)速,接驅(qū)動(dòng)模塊ENB使能端,在這里輸入PWM信號(hào)


//宏定義
#define L_go      IN1=0;IN2=1 //左輪前進(jìn)
#define L_back    IN1=1;IN2=0 //左輪后退   
#define L_stop    IN1=0;IN2=0        //左輪停止,兩個(gè)輸出1也可以
#define R_go            IN3=0;IN4=1 //右輪前進(jìn)
#define R_back          IN3=1;IN4=0 //右輪后退
#define R_stop          IN3=0;IN4=0 //右輪停止,兩個(gè)輸出1也可以

#define car_go                                L_go;R_go;                //小車前進(jìn)
#define car_back                        L_back;R_back        //小車后退
#define car_left                        R_go;L_stop                //小車左轉(zhuǎn)彎
#define car_right                        L_go;R_stop                //小車右轉(zhuǎn)彎
#define car_stop                        L_stop;R_stop        //小車停車
#define car_left_360        R_go;L_back                //小車向左360度轉(zhuǎn),也可以認(rèn)為是大轉(zhuǎn)彎
#define car_right_360        L_go;R_back                //小車向右360度轉(zhuǎn),也可以認(rèn)為是大轉(zhuǎn)彎

//數(shù)據(jù)定義
unsigned char l_tt=0;        //定時(shí)器計(jì)數(shù)用

unsigned char l_Lpwm=0;        //左輪PWM占空比值,我們?cè)O(shè)計(jì)10個(gè)格,0-9,0為停止,9為全速
unsigned char l_Rpwm=0;        //右輪PWM占空比值,我們?cè)O(shè)計(jì)10個(gè)格,0-9,0為停止,9為全速


//TIMER0中斷服務(wù)子函數(shù)產(chǎn)生PWM信號(hào)
void timer0()interrupt 1   using 2
{
        TH0=0XFC;          //定時(shí)1毫秒,10格調(diào)速,為100HZ頻率,此頻率下效果比較好,過大有噪聲,過小振動(dòng)大
        TL0=0X17;
        l_tt++;
        if(l_tt>9)l_tt=0;        //比較用,10格調(diào)速
       
        if(l_tt<=l_Lpwm){//左調(diào)速,占空比數(shù)值越大,輸出高電平時(shí)間越寬,電機(jī)轉(zhuǎn)速越高,我們?cè)O(shè)計(jì)10個(gè)格,0-9,0為停止,9為全速
                 L_PWM=1;
        }
        else{
                L_PWM=0;
        }
        if(l_tt<=l_Rpwm){//右調(diào)速,同上
                R_PWM=1;
        }
        else{
                R_PWM=0;
        }
}       

//延時(shí)
void Delay(unsigned int t)
{
        unsigned int c;
        while(t--){
                c=10000;
                while(c--);
        }
}
//入口函數(shù)
void main(void)
{
        unsigned char i;
        EA=1;                                                //首先開啟總中斷
        TMOD|=0X11;                        //定時(shí)器方式1,16位計(jì)數(shù)器,用來計(jì)數(shù)時(shí)間
        TH0= 0XFC;                  //1ms定時(shí)
        TL0= 0X14;
        TR0= 1;
        ET0= 1;
       
        while(1){
                l_Lpwm=0;
                car_go;                        //前進(jìn)
                for(i=0;i<10;i++){//慢慢提速
                        l_Lpwm++;       
                        l_Rpwm++;
                        Delay(2);
                }               
                Delay(5);                                        //保持速度前進(jìn)一會(huì)
                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);
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:899274 發(fā)表于 2021-5-16 14:48 | 只看該作者
謝謝提供程序 正好在找這方面的
回復(fù)

使用道具 舉報(bào)

板凳
ID:904958 發(fā)表于 2021-5-17 05:12 | 只看該作者
原理圖能分享嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久99这里只有精品 | 欧美日韩亚洲国产综合 | 日日夜精品视频 | 国产精品99久久久久久久vr | 精品成人在线视频 | 一a级片| 欧美一级二级视频 | caoporn国产精品免费公开 | 国产在线观看一区二区三区 | 国产福利91精品 | 成年人网站免费 | 国产精品视频在 | 色婷婷久久久久swag精品 | 国产精品久久久久久一区二区三区 | 日韩中文在线视频 | 国产成人综合一区二区三区 | 亚洲国产精品视频一区 | 日韩毛片 | 国产精品视频在线播放 | av一区二区三区四区 | 在线欧美日韩 | 日本在线播放 | 亚洲三级视频 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 女朋友的闺蜜3韩国三级 | 最新午夜综合福利视频 | 久产久精国产品 | 国产精品久久久久久久久久久久午夜片 | 天天干视频在线 | 国产黄色一级片 | 国产在线播 | 欧美视频日韩 | 青青草视频网站 | 久久久91| av 一区二区三区 | 福利视频一区二区三区 | 日韩视频在线播放 | 日本一区二区三区视频在线 | 99这里只有精品视频 | 免费一级大片 | 国产网站在线播放 |