使用TI的MSP430实现PWM驱动。(西安电子科技大学综合应用开发实验作业5)

题目要求:
目标:设计一个电风扇控制系统,要求能够通过PWM调节风扇的转速。
要求:讨论控制方案,完成单片机PWM驱动。如果大作业没有相关控制算法设计部分,则需要单独完成此部分内容;如果大作业中包含相关部分,则只需提交这部分内容的作为平时作业。
平台:MSP430,MCS51,STM32等皆可。
分析:
pwm就是一定占空比的信号,可以利用delay函数实现高电平和低电平的持续时间。

以下是使用energia开发环境的代码。

const int LED1 =  P1_0;
const int LED2 =  GREEN_LED; 
const int buttonPin = PUSH2;
int buttonState = 0;

int show(int pin,int pwm){
    
    

  digitalWrite(pin, HIGH);
  delayMicroseconds(pwm*10);
  digitalWrite(pin, LOW);
  delayMicroseconds(1000 - pwm*10);
  return 0;
}
void setup() {
    
    
  pinMode(LED1, OUTPUT);   
  pinMode(LED2, OUTPUT);  
  pinMode(buttonPin, INPUT_PULLUP); 

}

void loop() {
    
    
  buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH){
    
    
    show(LED1,10);
  }
  else{
    
    
    show(LED1,90);
  }
}

猜你喜欢

转载自blog.csdn.net/weixin_43773318/article/details/109894646