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

歷史上的今天

今天是:2024年08月28日(星期三)

正在發生

2020年08月28日 | 單片機控制直流電機程序

發布者:ShimmeringMoon 來源: 51hei關鍵字:單片機控制  直流電機  蜂鳴器 手機看文章 掃描二維碼
隨時隨地手機看文章

仿真基本效果

1.按下正轉按鈕,綠燈長亮,電機低速正轉,檔位為1檔。

2.按下正轉按鈕,綠燈長亮,電機低速正轉,檔位為1檔。

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

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

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


仿真原理圖如下

單片機源程序如下:

#include

#define uint unsigned int

#define uchar unsigned char

uchar m;               //用來標志速度檔位

uint t;                           //計數標志

sbit k1=P2^0;     //正轉按鈕

sbit k2=P2^1;      //反轉按鈕  

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

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

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

sbit k6=P1^0;

sbit k7=P1^1;           //控制電動機的兩個輸入

sbit pwm1=P1^4;           //PWM信號從P1^4輸出

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

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

{

      uint i,j;

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

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

}


main()

{   

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

   while(1)

   {      

       if(k1==0)           //檢測是否按下正轉按鈕

        {

           delay(10);  // 消抖10ms

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

           {  

            P1=0x01;        //IN1=1,IN2=0;控制電動機正轉

            P0=0X00;        //綠燈常亮

           }

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

        }

      

        if(k2==0)                //檢測是否按下反轉按鈕

        {

           delay(10);        //消抖10ms

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

           {

             P1=0x02;         //IN1=0,IN2=1,控制電動機反轉

             P0=0X01;         //紅燈常亮

           }

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

        }

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

        {

           delay(10);                //消抖10ms

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

           {

                    m=1;                         //電動機重置為1檔

            P1=0X00;                 //IN1=0.IN2=0,電動機停止

            P0=0x02;                 //蜂鳴器響

            delay(1000);         //延時1秒

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

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

           }

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

        }

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

        {

           delay(10);                   //消抖10ms

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

           {  

             m++;                                 //檔位加一

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

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

                P0=0x03;

                delay(500);

                P0=0X07;

                delay(500);} }

                                if(k6==1&&k7==0)          //如果電動機正轉,綠燈常亮

                                P0=0X00;

                                else if(k6==0&&k7==1)         //如果電動機反轉,紅燈常亮

                                P0=0X01;

                                else P0=0X07;                        //如果電動機停止,燈全熄滅

           }

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

        }

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

        {

            delay(10);                                   //消抖10ms

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

             {  

              m--;                                                //檔位減一

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

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

                P0=0x04;

                delay(500);

                P0=0X07;

                delay(500);}}

                                if(k6==1&&k7==0)                 //如果電動機正轉,綠燈常亮

                                P0=0X00;

                                else if(k6==0&&k7==1)          //如果電動機反轉,紅燈常亮

                                P0=0X01;

                                else P0=0X07;                          //如果電動機停止,燈全熄滅

             }

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

        }

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

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

     }

}

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

[1] [2]
關鍵字:單片機控制  直流電機  蜂鳴器 引用地址:單片機控制直流電機程序

上一篇:基于單片機的精簡八路搶答器
下一篇:基于51單片機矩陣鍵盤的簡易計算器制作

推薦閱讀

5G時代的腳步越來越近了,近期,各大芯片廠商紛紛放出關于5G芯片的消息,似乎5G芯片首發的歸屬還很撲朔迷離。似乎一時之間三星,高通,聯發科,華為等公司紛紛投入到了5G芯片研發的浪潮之中,各大巨頭之間都在加班加點的搶奪5G芯片的首發位置。造成這樣的因素似乎也與華為在去年首發麒麟970時宣傳的全球首款人工智能處理器一時在消費者之間引發了巨大的轟...
公司最近在做一個STM32的項目,需要同時使用STM32的3個usart口和2個uart口。 一、知識準備 (1)芯片具體型號,我調試的是 STM32F103VET6 (2)芯片使用的晶振是多少兆,常用的有8MHz、12MHz、25MHz,我調試的是8MHz外部晶振 (3)端口對應管腳 二、基礎代碼編寫 1、時鐘設置 (1)初始化系統時鐘,選擇時鐘源(內、外部時鐘),設置各條總線的時鐘源及頻率 (2)打開...
一、主函數//采集AD值#include <pic.h>#include "ad.h"#include "usart.h"__CONFIG(0xFF32);const uchar disp[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f};//延時函數void delayms(uint x){ uint j,k; for(j=x;j>0;j--) for(k=110;k>0;k--);}//顯示4位,低位數碼管顯示不正常voi...
近日,韓國KNCAP公布了2021款 特斯拉Model 3 ( 參數 | 詢價 ) 安全測試結果:綜合分83.3分,但在自動剎車環節失利。在韓國KNCAP所設計的AEB自動緊急制動測試環節中,特斯拉Model 3分別以20km/h、25km/h和40km/h三個速度與行駛中的自行車、行人發生多次碰撞,導致該車的在行人安全與事故預防方面丟分較多,僅為三級(最高為一級)。在韓國,汽車安全測試...

史海拾趣

問答坊 | AI 解惑

TL494的占空比

初學者,正在研究電源。可是遇到很多問題,懇切想向各位請教! 如何通過硬件來控制TL494的輸出PWM的占空比?…

查看全部問答∨

歡迎測試測量新版主: gy8u ~~~~~

gy8u一上來就希望:大家多交流技術的話題, 非常歡迎gy8u版主,非常歡迎大家討論:比如數據采集…… gy8u版主其人:主要做的工作是做汽車電子的測試,以及整車的測試………

查看全部問答∨

問下現在TI電機控制芯片比較穩定的較新的是哪個型號?

問下現在TI電機控制芯片比較穩定的較新的是哪個型號?現在好像TI的芯片缺貨.…

查看全部問答∨

急求大俠幫忙!!!!

晶振頻率11.0592MHZ 源程序如下: 問題是 利用串口調試軟件運行時,反復輸入U后經采樣轉換數據不一致,即模擬信號轉成數字量的值 跳變太大。。。請教專家!!! CS        BIT        P1.1   &n ...…

查看全部問答∨

請大家給點建議:如何解決攝像頭圖像不同步的問題

    我用的Sensor是200萬的,芯片輸出為1600×1200,而我在應用層只采取了 1600×1130,我不確定是不是這樣引起圖像不同步的原因,還是別的什么原因。 …

查看全部問答∨

學嵌入式系統需要掌握什么?目前對這個行業的需求怎么樣?

本人是計算機專業的。由于現在快踏入大三的下學期了,大四下學期也就要找工作了,但我覺得現在自己學的東西還太片面了,也太廣了。所以我想找一門自己感興趣的專業方向作為自己這未來一年的奮斗目標,同時也為了將來的工作需要同,學一門精的課程。 ...…

查看全部問答∨

關心STM32的ADC精度問題.

STM32具有12BIT ADC 確實很好,很強大!但也擔心它的精度問題,聽聞有3BIT線形誤差。下面是AT91SAM7S64關于ADC誤差的說明。…

查看全部問答∨

tms320F2812 能加密嗎?

我看網上有做tms320F2812芯片破解的,如果flash被人家破解了,辛苦就白費了。或者28xx還有哪款是無法破解的。…

查看全部問答∨

請教 AD633 輸出波形如何變成直流平均值

大家好: 我用 AD633 乘法器做了一個模擬鑒相電路,將 X 和 Y 兩個正弦波相乘,OUT 端得到那下面個視波器波形,輸出大多在 0V 以下,由于電壓刻度每格是 500mV,所以大約是-1.5Vp-p,但我現在碰到一個問題就是不知道要如何將此信號透過低通濾 ...…

查看全部問答∨

STM32之RCC寄存器組概略

初觸STM32,一堆的寄存器可謂是頭大,今天閑得蛋疼,理了下RCC寄存器組,共10個寄存器,雖然沒有記下來,但是基本知道該寄存器組的作用。這里也沒具體列出哪個寄存器的某一位是啥作用,但是一眼看去基本知道這個寄存器是可以設置哪些項的,這樣也能 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 潮安县| 肥东县| 本溪市| 韩城市| 应用必备| 墨脱县| 延吉市| 曲周县| 宝清县| 闻喜县| 通江县| 明光市| 乐亭县| 嘉善县| 泸西县| 黄骅市| 阳高县| 沂南县| 萨嘎县| 房山区| 西乌珠穆沁旗| 巴林右旗| 南安市| 秭归县| 红原县| 崇州市| 江川县| 卓尼县| 农安县| 崇文区| 平安县| 荣昌县| 涪陵区| 元谋县| 麻城市| 福建省| 巫溪县| 东明县| 上饶县| 宁国市| 苏州市|