51微控制器輸出pwm驅動電機

2021-10-05 22:31:15 字數 1051 閱讀 2578

參考:51微控制器按鍵控制輸出pwm的占空比

原理圖:

這兩個小燈意味著電流方向,到時候是可以控制電機的正轉反轉的

程式:

#include

#define uint unsigned int

#define uchar unsigned char

sbit pwm=p1^0;

// p1.0輸出pwm

sbit k1=p1^4;

//占空比加5

sbit k2=p1^5;

//占空比減5

sbit k3=p1^6;

//正轉

sbit k4=p1^7;

//反轉

sbit led0=p2^0;

//sbit led1=p2^1;

//uchar time;

// 定義占空比的變數

//uchar count=30;//定義占空比上限

int count=30;

void

main()

else

if(k2==0)

//占空比加5

else

if(k3==0)

//正轉

else

if(k4==0)

//反轉

else;}

}void

tim0

() interrupt 1

void

control

() interrupt 0

//中斷函式測試

}

我覺得唯一要注意的是判斷語句裡的while語句:

if

(k1==0)

//占空比減5

因為是按鈕,所以只能持續一瞬間,所以用while語句這樣執行完count+=5語句後就一直在while中迴圈,直到下一次按下按鈕後才會繼續操作,最好還能加上消抖:參考:

51微控制器 PWM

pwm,全稱pulse width modulation,譯為脈衝寬度調製。功能 改變脈衝寬度,實現不同效果。可用數碼訊號達到模擬訊號的效果 pwm在微控制器中應用廣泛,不同的應用場合意義不盡相同。先看一張圖 這是乙個週期為10ms,頻率為100hz的波形。每個週期內的高低電平脈衝寬度各不相同,這就...

51微控制器學習 PWM

pwm 脈衝寬度調調製,它是按一定規律改變脈衝序列的脈衝寬度,以調節輸出量和波形的一種調製方式。我們在控制系統中最常用的矩形pwm訊號,在控制時需要調節pwn波的占空比 指的是高電平持續時間在乙個週期時間內的百分比 當用微控制器io口輸出pwm訊號時,可採用下面三種方法 1 利用軟體延時。當高電平延...

基於51微控制器步進電機控制

1 用矩陣鍵盤設定電機目標轉速及旋轉方向,範圍 100 300 轉 分 2 測量 顯示電機實際轉速和方向 正轉顯示 p 反轉顯示 n 從實現功能上分析,軟體可以分解3個功能模組 1,步進電機控制模組 2,矩陣鍵盤輸入模組 3,顯示輸出模組 步進電機通過輸入脈衝訊號進行控制,即電機的總轉動角度由輸入脈...