娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

單片機(jī)控制直流電機(jī)程序

發(fā)布者:ShimmeringMoon最新更新時(shí)間:2020-08-28 來(lái)源: 51hei關(guān)鍵字:單片機(jī)控制  直流電機(jī)  蜂鳴器 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

仿真基本效果

1.按下正轉(zhuǎn)按鈕,綠燈長(zhǎng)亮,電機(jī)低速正轉(zhuǎn),檔位為1檔。

2.按下正轉(zhuǎn)按鈕,綠燈長(zhǎng)亮,電機(jī)低速正轉(zhuǎn),檔位為1檔。

3.在未達(dá)到最高檔(3檔)的情況下,按下加速按鈕,電機(jī)檔位加一,綠燈閃爍8次,每次閃爍的時(shí)間間隔為1秒。如果達(dá)到最高檔,按下加速按鈕,電機(jī)檔位不變。然后判斷電機(jī)的轉(zhuǎn)動(dòng)方向,如果正轉(zhuǎn),綠燈常亮;如果反轉(zhuǎn),紅燈常亮。

4.在未達(dá)到最低檔位(1檔)的情況下,按下減速按鈕,電機(jī)檔位減一,紅燈閃爍8秒,每次閃爍的室間隔為1秒。如果達(dá)到最低檔,按下減速按鈕,電機(jī)檔位不變。然后判斷電機(jī)的轉(zhuǎn)動(dòng)方向,如果正轉(zhuǎn),綠燈常亮;如果反轉(zhuǎn),紅燈常亮。

5.按下停止按鈕,蜂鳴器報(bào)警,且所有LED燈滅,電機(jī)停止,并使電機(jī)檔位置1檔。


仿真原理圖如下

單片機(jī)源程序如下:

#include

#define uint unsigned int

#define uchar unsigned char

uchar m;               //用來(lái)標(biāo)志速度檔位

uint t;                           //計(jì)數(shù)標(biāo)志

sbit k1=P2^0;     //正轉(zhuǎn)按鈕

sbit k2=P2^1;      //反轉(zhuǎn)按鈕  

sbit k3=P2^2;             //停止按鈕

sbit k4=P2^3;           //加速按鈕

sbit k5=P2^4;           //減速按鈕

sbit k6=P1^0;

sbit k7=P1^1;           //控制電動(dòng)機(jī)的兩個(gè)輸入

sbit pwm1=P1^4;           //PWM信號(hào)從P1^4輸出

void init() ;      //定義定時(shí)器的初始化函數(shù)         

void delay(uint x)        //延時(shí)程序,延時(shí)x ms

{

      uint i,j;

      for(i=x;i>0;i--)

       for(j=110;j>0;j--);

}


main()

{   

   init();                        //定時(shí)器的初始化

   while(1)

   {      

       if(k1==0)           //檢測(cè)是否按下正轉(zhuǎn)按鈕

        {

           delay(10);  // 消抖10ms

           if(k1==0)   //如果正轉(zhuǎn)按鈕按下

           {  

            P1=0x01;        //IN1=1,IN2=0;控制電動(dòng)機(jī)正轉(zhuǎn)

            P0=0X00;        //綠燈常亮

           }

           while(!k1);        //判斷按鈕是否松開,不松開一直死循環(huán),松開后跳出循環(huán),繼續(xù)執(zhí)行

        }

      

        if(k2==0)                //檢測(cè)是否按下反轉(zhuǎn)按鈕

        {

           delay(10);        //消抖10ms

           if(k2==0)        //如果按下反轉(zhuǎn)按鈕

           {

             P1=0x02;         //IN1=0,IN2=1,控制電動(dòng)機(jī)反轉(zhuǎn)

             P0=0X01;         //紅燈常亮

           }

           while(!k2);           //判斷按鈕是否松開,不松開一直死循環(huán),松開后跳出循環(huán),繼續(xù)執(zhí)行      

        }

        if(k3==0)                  //檢測(cè)是否按下停止按鈕

        {

           delay(10);                //消抖10ms

           if(k3==0)                //如果按下停止按鈕

           {

                    m=1;                         //電動(dòng)機(jī)重置為1檔

            P1=0X00;                 //IN1=0.IN2=0,電動(dòng)機(jī)停止

            P0=0x02;                 //蜂鳴器響

            delay(1000);         //延時(shí)1秒

                        P0=0XFF;                  //燈全熄滅,蜂鳴器不響

            pwm1=0;                         //PWM輸出低電平

           }

        while(!k3);                         //判斷按鈕是否松開,不松開一直死循環(huán),松開后跳出循環(huán),繼續(xù)執(zhí)行

        }

        if(k4==0)                          //檢測(cè)加速按鈕是否按下

        {

           delay(10);                   //消抖10ms

           if(k4==0)                        //如果加速按鈕按下

           {  

             m++;                                 //檔位加一

                         if(m<4){                         //在不超過(guò)最高3檔的情況下,按下加速按鈕,執(zhí)行以下

              for(t=8;t>0;t--){         //綠燈閃爍8次

                P0=0x03;

                delay(500);

                P0=0X07;

                delay(500);} }

                                if(k6==1&&k7==0)          //如果電動(dòng)機(jī)正轉(zhuǎn),綠燈常亮

                                P0=0X00;

                                else if(k6==0&&k7==1)         //如果電動(dòng)機(jī)反轉(zhuǎn),紅燈常亮

                                P0=0X01;

                                else P0=0X07;                        //如果電動(dòng)機(jī)停止,燈全熄滅

           }

           while(!k4);                                   //判斷按鈕是否松開,不松開一直死循環(huán),松開后跳出循環(huán),繼續(xù)執(zhí)行

        }

        if(k5==0)                                           //檢測(cè)減速按鈕是否按下

        {

            delay(10);                                   //消抖10ms

            if(k5==0)                                   //如果減速按鈕按下

             {  

              m--;                                                //檔位減一

                          if(m>0){                                        //當(dāng)檔位未小于一檔,按下減速按鈕,執(zhí)行以下

               for(t=8;t>0;t--){                 //紅燈閃爍8次

                P0=0x04;

                delay(500);

                P0=0X07;

                delay(500);}}

                                if(k6==1&&k7==0)                 //如果電動(dòng)機(jī)正轉(zhuǎn),綠燈常亮

                                P0=0X00;

                                else if(k6==0&&k7==1)          //如果電動(dòng)機(jī)反轉(zhuǎn),紅燈常亮

                                P0=0X01;

                                else P0=0X07;                          //如果電動(dòng)機(jī)停止,燈全熄滅

             }

             while(!k5);                         //判斷按鈕是否松開,不松開一直死循環(huán),松開后跳出循環(huán),繼續(xù)執(zhí)行

        }

                if(m>3)m=3;                                          //檔位最大為3檔

                if(m<1)m=1;                                     //檔位最小為1檔

     }

}

void init()                                                         //定義定時(shí)器的初始化

[1] [2]
關(guān)鍵字:單片機(jī)控制  直流電機(jī)  蜂鳴器 引用地址:單片機(jī)控制直流電機(jī)程序

上一篇:基于單片機(jī)的精簡(jiǎn)八路搶答器
下一篇:基于51單片機(jī)矩陣鍵盤的簡(jiǎn)易計(jì)算器制作

推薦閱讀最新更新時(shí)間:2025-03-25 00:26

對(duì)比無(wú)源蜂鳴器和有源蜂鳴器
區(qū)別 這里的有源和無(wú)源的“源”是指的是“震蕩源”,即有源蜂鳴器內(nèi)部帶震蕩源,只要通電就可以發(fā)出聲音,而無(wú)源蜂鳴器需要用方波驅(qū)動(dòng)才可以發(fā)出聲音。 區(qū)分 看外觀 : 如果將兩種蜂鳴器的引腳均朝上放置時(shí),可以看出有綠色電路板的一種是無(wú)源蜂鳴器,用黑膠封閉的一種是有源蜂鳴器。 萬(wàn)用表測(cè)電阻: 用黑表筆接蜂鳴器 + 引腳,紅表筆在另一引腳上來(lái)回碰觸,如果觸發(fā)出咔、咔聲的且電阻只有8Ω(或16Ω)的是無(wú)源蜂鳴器;如果能發(fā)出持續(xù)聲音的,且電阻在幾百歐以上的,是有源蜂鳴器。 優(yōu)缺點(diǎn) 無(wú)源蜂鳴器:便宜、聲音頻率可控(需要用PWM控制) 有源蜂鳴器:控制簡(jiǎn)單(高低電平即可驅(qū)動(dòng))
[測(cè)試測(cè)量]
STM32CubeMX下按鍵模塊控制PWM蜂鳴器模塊
前言:之前的STM32L433CB單片機(jī)還有幾個(gè)模塊沒(méi)有解決,最佳抽空把按鍵模塊和PWM蜂鳴器模塊調(diào)通了。 1.按鍵模塊 按鍵模塊重點(diǎn)是需要了解中斷模式: (1)中斷簡(jiǎn)而言之是暫時(shí)中止當(dāng)前的工作,而去處理更為急需處理的事情,把急需處理的事情處理完畢之后,再回頭來(lái)繼續(xù)原來(lái)的事情。 (2)stm32的中斷分為搶占優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí)。搶占優(yōu)先級(jí)高的中斷,可以打斷搶占優(yōu)先級(jí)低的中斷。搶占優(yōu)先級(jí)相同的中斷,響應(yīng)優(yōu)先級(jí)高的可以優(yōu)先執(zhí)行。 (3)中斷向量表:中斷向量是中斷服務(wù)程序的入口地址,在計(jì)算機(jī)中中斷向量的地址存放一條跳轉(zhuǎn)到中斷服務(wù)程序的跳轉(zhuǎn)指令。中斷地址是存儲(chǔ)中斷向量的內(nèi)存單元。中斷向量表是用來(lái)存放中斷向量 (4)嵌套中斷:中斷系統(tǒng)正
[單片機(jī)]
STM32CubeMX下按鍵模塊控制PWM<font color='red'>蜂鳴器</font>模塊
51單片機(jī)(AT89C52)控制蜂鳴器
#include reg52.h #define uchar unsigned char #define uint unsigned int sbit beep=P0^0; void delay(uint z) { uint x,y; for(x=z;x 0;x--) for(y=111;y 0;y--); } void main() { while(1) { beep=0; delay(500); beep=1; delay(500); } }
[單片機(jī)]
51單片機(jī)(AT89C52)控制<font color='red'>蜂鳴器</font>
MSP430學(xué)習(xí)筆記5-利用蜂鳴器演奏音樂(lè)
這個(gè)小程序仍然是定時(shí)器的運(yùn)用,比較簡(jiǎn)單,具體的地方都在注釋中注明了,參考注釋。 /********************************************* 程序功能:MCU控制蜂鳴器演奏歌曲《祝你平安》 ---------------------------------------------- 撥碼開關(guān)設(shè)置:將BUZZER位撥至ON,其余位撥至OFF 測(cè)試說(shuō)明:聆聽蜂鳴器“唱出”的樂(lè)曲 既然是演奏樂(lè)曲對(duì)于一個(gè)音符應(yīng)該包括兩個(gè)部分 一是聲調(diào) 二是持續(xù)時(shí)間,在這個(gè)程序中聲調(diào)是用簡(jiǎn)單的 延時(shí)-電平翻轉(zhuǎn)來(lái)實(shí)現(xiàn)的,改變了延時(shí)的時(shí)間就改變了 聲調(diào),而時(shí)間是通過(guò)計(jì)數(shù)比較來(lái)實(shí)現(xiàn)的,當(dāng)計(jì)
[單片機(jī)]
第五節(jié):蜂鳴器的驅(qū)動(dòng)程序
開場(chǎng)白: 上一節(jié)講了利用累計(jì)定時(shí)中斷次數(shù)實(shí)現(xiàn)LED燈閃爍,這個(gè)例子同時(shí)也第一次展示了我最完整的實(shí)戰(zhàn)程序框架:用switch語(yǔ)句實(shí)現(xiàn)狀態(tài)機(jī),外加定時(shí)中斷。這個(gè)框架看似簡(jiǎn)單,實(shí)際上就是那么簡(jiǎn)單。我做的所有開發(fā)項(xiàng)目都是基于這個(gè)簡(jiǎn)單框架,但是非常好用。上一節(jié)只有一個(gè)單任務(wù)的LED燈在閃爍,這節(jié)開始,我們多增加一個(gè)蜂鳴器報(bào)警的任務(wù),要教會(huì)大家四個(gè)知識(shí)點(diǎn): 第一點(diǎn):蜂鳴器的驅(qū)動(dòng)程序框架編寫。 第二點(diǎn):多任務(wù)處理的程序框架。 第三點(diǎn):如何控制蜂鳴器聲音的長(zhǎng)叫和短叫。 第四點(diǎn):如何知道1秒鐘需要多少個(gè)定時(shí)中斷,也就是如何按比例修正時(shí)間精度。 具體內(nèi)容,請(qǐng)看源代碼講解。 (1)硬件平臺(tái):基于朱兆祺51單片機(jī)學(xué)習(xí)板。 (2)實(shí)
[單片機(jī)]
直流電機(jī)調(diào)速器維護(hù)檢修工作
直流電機(jī)調(diào)速器的最大弱點(diǎn)就是有電流的換向問(wèn)題,消耗有色金屬較多,成本高,運(yùn)行中的維護(hù)檢修也比較麻煩。因此,電機(jī)制造業(yè)中正在努力改善交流電動(dòng)機(jī)的調(diào)速性能,并且大量代替直流電動(dòng)機(jī)。 不過(guò),近年來(lái)在利用可控硅整流裝置代替直流發(fā)電機(jī)方面,已經(jīng)取得了很大進(jìn)展。包括直流電機(jī)調(diào)速器在內(nèi)的一切旋轉(zhuǎn)電機(jī),實(shí)際上都是依據(jù)我們所知道的兩條基本原則制造的。一條是:導(dǎo)線切割磁通產(chǎn)生感應(yīng)電動(dòng)勢(shì);另一條是:載流導(dǎo)體在磁場(chǎng)中受到電磁力的作用。 因此,從結(jié)構(gòu)上來(lái)看,任何電機(jī)都包括磁場(chǎng)部分和電路部分。從上述原理可見,任何電機(jī)都體現(xiàn)著電和磁的相互作用,是電、磁這兩個(gè)矛盾著的對(duì)立面的統(tǒng)一。在這里討論直流電機(jī)調(diào)速器的結(jié)構(gòu)和工作原理,就是討論直流電機(jī)調(diào)速器中的“磁”
[嵌入式]
直流電機(jī)輻射不合格,有哪些整改方案可以加?
如果直流電機(jī)的輻射不合格,以下是一些整改方案可以考慮: 使用屏蔽材料:在電機(jī)內(nèi)部使用屏蔽材料來(lái)減少輻射電磁場(chǎng)的傳播。屏蔽材料可以包括電磁屏蔽罩、金屬殼體或屏蔽套等。 設(shè)計(jì)地線和接地:確保電機(jī)的地線布局合理,使用低阻抗地線和良好的接地,以提供輻射電磁場(chǎng)的引流路徑。 優(yōu)化電機(jī)結(jié)構(gòu):重新設(shè)計(jì)電機(jī)結(jié)構(gòu),例如增加絕緣層、改進(jìn)導(dǎo)線布局等,以減少輻射噪聲的產(chǎn)生。 采用濾波器:在電機(jī)輸入和輸出線路上添加濾波器,以抑制輻射噪聲的傳播。濾波器可以減少高頻噪聲和電磁干擾信號(hào)。 重新設(shè)計(jì)電路:對(duì)電機(jī)的電路進(jìn)行重新設(shè)計(jì),采用抑制噪聲的技術(shù),例如差模驅(qū)動(dòng)電路、共模噪聲濾除電路等。 使用磁屏蔽材料:使用磁屏蔽材料來(lái)減少電機(jī)磁場(chǎng)的輻射。磁屏蔽材料可以放置在電機(jī)
[嵌入式]
<font color='red'>直流電機(jī)</font>輻射不合格,有哪些整改方案可以加?
淺談?dòng)兴?font color='red'>直流電機(jī)的知識(shí)和控制方法
本周繼續(xù)向各位推一本電機(jī)控制領(lǐng)域的實(shí)戰(zhàn)派書籍,引進(jìn)翻譯自日本CQ的《直流電機(jī)控制技術(shù)》。作者日本的萩野弘司和井桁健一郎。 這本書的來(lái)源于日本晶體管技術(shù)的一個(gè)實(shí)戰(zhàn)講座——小型電機(jī)的選擇和控制技術(shù)。 微處理器、編程相關(guān)的 部分由井桁健一郎負(fù)責(zé),全書由萩野弘司整理和統(tǒng)稿。 這本書在日本技術(shù)領(lǐng)域也廣受好評(píng),日本的書名為:実験で學(xué)ぶDCモータのマイコン制御術(shù)(翻譯:在實(shí)踐中學(xué)習(xí),直流電機(jī)的微控制器控制)現(xiàn)在亞馬遜還可以買到這本原書 這本書的電機(jī)控制主要圍繞著兩種常見的電機(jī)展開:直流電機(jī)和步進(jìn)電機(jī)。 研究對(duì)象: 直流電機(jī)和步進(jìn)電機(jī) 這兩種電機(jī)通常都是功率幾瓦至幾十瓦的小型電機(jī)。在工業(yè)設(shè)備、模型、機(jī)器人中使用的往往就是這個(gè)規(guī)模的電機(jī)
[嵌入式]
淺談?dòng)兴?font color='red'>直流電機(jī)</font>的知識(shí)和控制方法
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京B2-20211791 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 随州市| 肃宁县| 建瓯市| 磐安县| 嘉鱼县| 德江县| 珲春市| 漳平市| 梧州市| 景宁| 康定县| 营口市| 兴安县| 旅游| 阳春市| 永和县| 平原县| 革吉县| 南开区| 肇东市| 古蔺县| 乳源| 安西县| 鹿泉市| 砀山县| 兰考县| 兴安县| 开封市| 景德镇市| 博白县| 和静县| 安徽省| 阜南县| 辽阳县| 永靖县| 博白县| 台前县| 襄城县| 富裕县| 榆社县| 山东|