求MSP430 的 4*1键盘的控制程序,想用4*1键盘控制PWM波的输出
时间:10-02
整理:3721RD
点击:
#include <msp430x11x1.h>//输出PWM可以输出,按键出现问题
#define keyin (P1IN & 0x0f)
void delay(void);
void main(void)
{
unsigned char temp;
P1DIR = BIT7; //设置P1.0~P.3为输入状态,P.7为输出
P1OUT = 0;
WDTCTL = WDTPW + WDTHOLD;
P1SEL|=BIT2;
P1DIR|=BIT2;
while(1)
{
TACTL|=MC_1+TASSEL_1;
TACCTL1=OUTMOD_7;
TACCR0=33-1;
TACCR1=8;//调整参数输出了20%的PWM波
if(keyin != 0x0f) //如果有键被按下
{
delay(); //延时消抖
if(keyin != 0x0f) //再次检测按键状态
{
temp=keyin;
while(keyin != 0x0f); //等待按键被放开
switch(temp) //转换键值
{
case 0x0e:
TACCR1=8;break;
case 0x0d:
TACCR1=16;break;
case 0x0b:
TACCR1=24;break;
case 0x07:
TACCR1=32;break;
default:
TACCR1=0;break;
}
}
}
}
}
void delay(void)
{
unsigned int tmp;
for(tmp = 12000;tmp > 0;tmp--);
}
求大神解答
哪位大神来解答一下?、