已經會寫pwm波的程序,就是如何將這個pwm波給到直流電機上,從而控制它的轉速呢?(在單片機開發板上)。程序上還要怎么寫才能控制呢?
#include<reg52.h>
unsigned int a, b; //------------------------------------------
void main()
{ TMOD = 0x01; //T0定時方式1
TH0 = (65536-50000) / 256; //50ms@12MHz TL0 = (65536-50000) % 256;
TR0 = 1; ET0 = 1; EX0 = 1; EX1 = 1;
IT0 = 1; IT1 = 1; EA = 1; a = 0; b = 10;
while(1); } //------------------------------------------
void time0() interrupt 1 {
TL0 = (65536-50000) % 256;
TH0 = (65536-50000) / 256; //50ms@12MHz a++;
if(a == 20) a = 0; //在這里調整周期.
if(a < b) P2 = 0xff; //在這里調整占空比.
else P2 = 0x00;
P0 = ((b / 10) << 4) + b % 10; //顯示占空比等級 } //------------------------------------------
void X0_INT() interrupt 0 { b++; if(b > 19) b = 19; //占空比等級最大為19 } //------------------------------------------ void X1_INT() interrupt 2 { b--; if(b < 1) b = 1; //占空比等級最小為1. } |