日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年07月08日(星期二)

2021年07月08日 | 基于MC9S12G使用編碼器(控制)輸出PWM

發(fā)布者:小九分析儀 來源: eefocus關(guān)鍵字:MC9S12G  編碼器  輸出PWM 手機看文章 掃描二維碼
隨時隨地手機看文章

首先是編碼器的原理

在這里插入圖片描述

A和B是對應(yīng)兩個光敏接收管,AB之間的距離S2小于S0和S1,所以當(dāng)順時針旋轉(zhuǎn)的時候,A和B對應(yīng)的初始值是1 ,1,A會首先進入初始位置左側(cè)的S0區(qū)域,即A和B的值為0,1,接下來AB同時處于S0區(qū)域,即為0,0,接下來A先進入S1區(qū)域,B仍停留在S0區(qū)域,此時的值為1,0。以這樣的循環(huán)表示順時針,相對應(yīng)的也可以得出逆時針的序列??偨Y(jié)下來就是:

在這里插入圖片描述

通過判斷上一時刻的值與下一時刻的值可以判斷旋鈕的方向,驅(qū)動大概如下,未經(jīng)過驗證:


#include"xx.h"http://extern PWM;

#define PIN_A GPIO_X

#define PIN_B GPIO_Y

unsigned char flag = 0;//表示旋鈕狀態(tài)

unsigned char Flag = 0;//表示為正轉(zhuǎn)還是反轉(zhuǎn)

void Encoder_Scan()

{

    if(PIN_A == PIN_B)

    {

        if(Flag == 1)

        {

            if(PWM<100)

                PWM++;

            else

            {

                PWM = 0;

            }

            

        }

        else if (Flag == 2)

        {

            if(PWM>0)

                PWM--;

            else

            {

                PWM = 100;

            }

                

        }

        else

        {

            /* code */

        }


        if (PIN_A == 0)

        {                                               //順時針            逆時針

            flag = 1;//A == 0 且B == 0                  //A   B               A   B

        }                                               //1   1               1   1

        else                                            //0   1               1   0

        {                                               //0   0               0   0

            flag = 2;//A == 1 且B == 1                  //1   0               0   1   

        }  

    }

    else if (PIN_A == 1 && PIN_B == 0)

    {

        if(flag = 1)//即上一次為A == 0 且B == 0

        {

            Flag = 1;//順時針

        }    

        else//即上一次為A == 1 且B == 1

        {

            Flag = 2;//逆時針

        } 

    }

    else//(PIN_A == 0 && PIN_B == 1)

    {

        if(flag = 1)//即上一次為A == 0 且B == 0

        {

            Flag = 2;//逆時針

        }    

        else

        {

            Flag = 1;//順時針

        }

    }   

}


這里以MC9S12G64為例,將編碼器的光敏引腳與主芯片的GPIO(input)相連,通過判斷GPIO的值來控制PWM的占空比

在這里插入圖片描述

編碼器的掃描函數(shù)可以在芯片的實時中斷函數(shù)RTI timeout interrupt中調(diào)用,然后在主函數(shù)中發(fā)送PWM占空比,具體的PWM驅(qū)動見芯片手冊。


關(guān)鍵字:MC9S12G  編碼器  輸出PWM 引用地址:基于MC9S12G使用編碼器(控制)輸出PWM

上一篇:飛思卡爾MC9S12X CAN驅(qū)動
下一篇:飛思卡爾MC9S12X:CAN驅(qū)動函數(shù)在主函數(shù)中的應(yīng)用

推薦閱讀

小時候朋友常常擔(dān)心,等到長大之后,滿大街都是機器人,公司再也不招收了勞動力,到哪個時候自己也就沒有工作可以做。機器人實在太厲害,現(xiàn)在許多地方都比人類強,像家用機器人已經(jīng)自己在家掃地,工作完之后自己躲在墻角睡覺,比孩子還聽話。 是機器人核心部件,現(xiàn)在計算機處理能力已經(jīng)是非???。在2003年的時候,中國許多鄉(xiāng)鎮(zhèn)學(xué)校用的是電腦臺式機,牌...
新加坡 – 2019 年 7月5日 – Molex發(fā)布微型配電箱 (μPDB) 密封模塊,提供兩種版本:標(biāo)準(zhǔn)版本與定制版本。這些產(chǎn)品屬于緊湊型的汽車配電箱,可同時為功率切換以及電路保護提供一個接合點,適用于汽車或者接線架構(gòu)內(nèi)部的子系統(tǒng)。新型的 μPDB 配有無需手工接線的連接器式系統(tǒng)、IP6K7 NEMA 等級的全密封件,具有尺寸小巧且輕量級的特點,采用了標(biāo)...
華為在 Mate 30 系列上采用了全新的環(huán)形攝像頭設(shè)計,據(jù)數(shù)碼博主 @長安數(shù)碼君 消息,華為一款還未發(fā)布的新機也采用了這種設(shè)計。 從該博主放出的諜照來看,該機采用了 “奧利奧”三攝像頭系統(tǒng)。該博主還稱,這款機子就是傳說中的麥芒,但可能已經(jīng)被砍掉,或者是不以麥芒的名字來發(fā)行,該機還前置升降攝像頭,側(cè)邊指紋,采用華為麒麟...
電池作為電動汽車的核心部件之一,如何做到續(xù)航里程更長、百公里電耗更低、電池衰減更慢、電池包能量密度更高一直是整個新能源汽車產(chǎn)業(yè)聚焦的所在,其中在動力電池方面有著獨特性能表現(xiàn)的特斯拉成為行業(yè)研究的對象。日前,在特斯拉舉辦的“T-talk”線下分享討論會上,蓋世汽車對特斯拉在電池方面的技術(shù)布局進行了一番深入了解。 首先,在電池的物理基礎(chǔ)層...

史海拾趣

小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved