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

歷史上的今天

今天是:2024年10月30日(星期三)

正在發生

2020年10月30日 | 基于51單片機PWM直流電機調速程序 0到20級的調速

發布者:Susan蘇 來源: 51hei關鍵字:51單片機  PWM  直流電機調速 手機看文章 掃描二維碼
隨時隨地手機看文章

單片機源程序:


/*******************************************************************/

/* 程序名:PWM直流電機調速 */

/* 晶振:11.00592 MHz CPU型號:AT89C51 */

/* 直流電機的PWM波控制,可以直接的調速從0到20級的調速 */


/*****************************************************************/


#include

#define TH0_TL0 (65536-1000)//設定中斷的間隔時長

unsigned char count0 = 50;//低電平的占空比

unsigned char count1 = 0;//高電平的占空比


bit Flag = 1;//電機正反轉標志位,1正轉,0反轉


sbit Key_add=P2 ^ 0; //電機減速

sbit Key_dec=P2 ^ 1; //電機加速

sbit Key_turn=P2 ^ 2; //電機換向


sbit PWM1=P2^6;//PWM 通道 1,反轉脈沖

sbit PWM2=P2^7;//PWM 通道 2,正轉脈沖


unsigned char Time_delay;


/************函數聲明**************/

void Delay(unsigned char x);

void Motor_speed_high(void);

void Motor_speed_low(void);

void Motor_turn(void);

void Timer0_init(void);


/****************延時處理**********************/

void Delay(unsigned char x)

{

        Time_delay = x;

        while(Time_delay != 0);//等待中斷,可減少PWM輸出時間間隔

}


/*******按鍵處理加pwm占空比,電機加速**********/

void Motor_speed_high(void)

{

        if(Key_add==0)

        {

                  Delay(10);

                  if(Key_add==0)

                  {

                    count0 += 5;

  

                    if(count0 >= 100)

                    {

                            count0 = 100;

                    }

                  }

                  while(!Key_add);//等待鍵松開

        }

}


/******按鍵處理減pwm占空比,電機減速*****/

void Motor_speed_low(void)

{

        if(Key_dec==0)

        {

                  Delay(10);

                  if(Key_dec==0)

          {

            count0 -= 5;

  

            if(count0 <= 0)

            {

                    count0 = 0;

            }

          }

          while(!Key_dec );

        }

}


/************電機正反向控制**************/

void Motor_turn(void)

{

        if(Key_turn == 0)

        {

          Delay(10);

          if(Key_turn == 0)

          {

            Flag = ~Flag;

          }

         while(!Key_turn);

        }

}


/***********定時器0初始化***********/

void Timer0_init(void)

{

TMOD=0x01; //定時器0工作于方式1

TH0=TH0_TL0/256;

TL0=TH0_TL0%256;

TR0=1;

ET0=1;

EA=1;

}


/*********主函數********************/

void main(void)

{

        Timer0_init();


        while(1)

        {

          Motor_turn();

          Motor_speed_high();

          Motor_speed_low();

        }

}


/**************定時0中斷處理******************/

void Timer0_int(void) interrupt 1 using 1

{

TR0 = 0;//設置定時器初值期間,關閉定時器

TL0 = TH0_TL0 % 256;

TH0 = TH0_TL0 / 256 ;//定時器裝初值

TR0 = 1;


if(Time_delay != 0)//延時函數

{

  Time_delay--;

}


if(Flag == 1)//電機正轉

{

  PWM1 = 0;

  

  if(++count1 < count0)

  {

    PWM2 = 1;

  }

    else

    PWM2 = 0;


    if(count1 >= 100)

    {

    count1=0;

    }

}

  else //電機反轉

  {

    PWM2 = 0;

  

    if(++count1 < count0)

    {

    PWM1 = 1;

    }

    else

    PWM1 = 0;

   

    if(count1 >= 100)

    {

      count1=0;

    }

  }

}

/************************************************


void Delay(unsigned char x)

{

Time_delay = x;


while(Time_delay != 0);//等待中斷,可減少PWM輸出時間間隔

}


Delay(10);


if(Time_delay != 0)//延時函數用

{

  Time_delay--;

}


其實這三個部分是相關聯的。

Delay(10)這是延時防抖的這是毫無疑問的,但這個消抖在消抖的同時將一開始只是聲明了下的Time-


delay賦值了,賦值還不算他還牽扯到定時器里去了。你看在賦值后Time-delay變成了10,看第二個部分


的while(Time-delay!=10);這個語句正如注釋所說的等待中斷,當等來了中斷后你可以看第三個部


分了,看見了吧終端中有將Time-delay減一,每中斷一次就減一次直到等于0之后。也就是說延時的時長


是十個中斷的時長。注釋中:可減少PWM輸出時間間隔      也就可想而知了。

*****************************************************/


關鍵字:51單片機  PWM  直流電機調速 引用地址:基于51單片機PWM直流電機調速程序 0到20級的調速

上一篇:51單片機BMP280氣壓和溫度值測試程序
下一篇:單片機+AS608的使用,并帶程序

推薦閱讀

1895年德國工程師卡爾·馮·林德利用焦耳-湯姆遜效應和逆流換熱原理發明了空氣液化裝置,開啟了氣體應用的大門。100多年來,氣體作為最重要的支撐性原材料,在工業、醫療、食品、石油化工、鋼鐵、半導體等各行各業中大行其道,意“氣“飛揚。尤其在當下產業升級迅猛的半導體、電子制造業,氣體更是成為關鍵的推動因素。從襯底硅片到芯片的形成歷程中,沉積...
STM32一般都擁有1~3個ADC,這些ADC可以獨立使用,也可以使用雙重/三重ADC采樣模式,本文使用STM32F103ZET6的雙重ADC模式,同步采集兩個通道的電壓信號。一、注意事項1、配置ADC的采樣模式為同步規則采樣ADC1和ADC2采樣模式相同,但其中ADC1為主ADC,ADC2為從ADC。該模式在ADC_CR1寄存器中配置:(具體資料請參詳STM32參考手冊)2、使能DMA位在雙ADC模式中...
日前,Vishay宣布推出新系列低阻抗、汽車級小型鋁電解電容器--- 170 RVZ,紋波電流高達3.8 A,可在+105 C高溫下工作,105°C條件下使用壽命長達10,000小時。與上一代解決方案相比,Vishay BCcomponents 170 RVZ系列電容器阻抗更低,紋波電流提高10 %至15 %,設計人員可使用更少的元器件,從而提高設計靈活性并節省電路板空間。此外,器件符合AEC-...
10月29日,聞泰科技發布第三季度報告,2021年第三季度實現營業收入138.77億元,歸母凈利潤8.09億元,同比增長45.06%,大超市場預期。根據之前披露的公告信息,聞泰科技第一季度歸母凈利潤6.52億元,第二季度歸母凈利潤5.80億元,第三季度歸母凈利潤8.09億元。因上半年聞泰科技通訊產品集成業務受供應鏈影響利潤微薄,考慮到上游供應鏈價格未見明顯松動,第...

史海拾趣

問答坊 | AI 解惑

有關放大線路的分析方法

摘 要:放大線路是非線性電路。因為構成其電路的電子元件是非線性元件。要用他對信號進行不失真地放大,必須設置適當的工作點,使電子器件工作在近似線性區域,這就決定了放大器的分析包括直流分析和交流分析。而非線性器件對直流信號和交流信號所 ...…

查看全部問答∨

DSP設計共享引言

前段時間做一個基于TI TMS320DM642芯片的項目,主要應用是針對視頻圖像做一些處理和機械控制。后來因為一些原因,項目中止。因為硬件是我一個人獨力設計完成(從項目規劃、原理圖設計、PCB設計到樣機焊接、小系統調試),中間投入了很多精力和感情 ...…

查看全部問答∨

(轉貼)維護保養參考資料

(轉貼)維護保養參考資料…

查看全部問答∨

為什么我在EVC下連接不上模擬器

為什么我在EVC下連接不上模擬器啊: C:\\Documents and Settings\\qiangtien\\My Documents\\My Pictures\\err.jpg C:\\Documents and Settings\\qiangtien\\My Documents\\My Pictures\\show1.jpg C:\\Documents and Settings\\qiangtien\\My Do ...…

查看全部問答∨

vxworks的DHCP客戶端問題

我現在有兩個網卡,分別在不同的網絡里,IP地址的分別是通過DHCP服務器自動分配,設計了一套DHCP客戶端申請程序,單個網口可以實現IP地址的動態分配,串行方式兩個網口都可動態獲得IP地址,能不能實現兩個網口同時動態申請IP地址哪?這樣可以節約時 ...…

查看全部問答∨

如何修改按鈕背景色, 對話框。VC++

普通按鈕控件。 我要實現的是通過按鈕1,修改按鈕2的背景色。如何實現。…

查看全部問答∨

請問如何更改sd card 序列號(serial number)

請問如何更改sd card 序列號(serial number),要用什么程序?如何更改?…

查看全部問答∨

ARM下的64位加法運算?

高手們:    在ARM中,哪個能寫一個這個程序:  有一個數:123456789ABCDFE    又有一個數987654321FEDCBA   這兩個數如何比較大小?    …

查看全部問答∨

50分,體系結構方向畢業之后主要從事什么樣的工作啊?待遇如何?

請問體系結構方向(微處理器開發)的碩士,或者博士畢業后能從事什么工作啊?大約的薪水是多少啊? 感覺好象國內這方面的消息很少:) …

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

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

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

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 临高县| 于都县| 元谋县| 普兰县| 景泰县| 延庆县| 名山县| 崇义县| 兴海县| 泌阳县| 菏泽市| 巫山县| 边坝县| 万源市| 砚山县| 白城市| 岳阳县| 乌鲁木齐市| 河间市| 怀柔区| 大港区| 浦北县| 安国市| 峨山| 龙江县| 萨迦县| 福清市| 余干县| 太湖县| 东光县| 京山县| 桂平市| 莱西市| 牡丹江市| 邳州市| 宜兴市| 德惠市| 什邡市| 阳城县| 广宁县| 长治县|