微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > 硬件电路设计讨论 > 求MSP430 的 4*1键盘的控制程序,想用4*1键盘控制PWM波的输出

求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--);
}
求大神解答

哪位大神来解答一下?、

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top