幸运时时彩平台

msp430F149调PWM

2020-03-17来源: eefocus关键字:msp430F149  调PWM  占空比

还说好好安下心调我的PID  结果又被某人喊调一个占空比为10%的PWM波


这不,直接上代码吧:


But first,还是要先解释一下端口:按键改变PWM的占空比 


按键IO口如下:

然后就是用P2.3和P2,4口输出两路PWM信号


#include

#define uchar unsigned char

#define uint unsigned int

幸运时时彩平台#define keyin (P1IN & 0x0f)

uchar T[]={10,20,40,100,150,200};        //高电平持续

 

void delay(void)

{

    uint tmp;

    for(tmp = 12000;tmp > 0;tmp--);

}

void main( void )

{  

    WDTCTL = WDTPW + WDTHOLD;            //关闭看门狗

幸运时时彩平台    uchar temp,keyval = 0;

    char i=0;

    TACTL = TASSEL0 + TACLR;             // ACLK, 清除 TAR

    CCR0 = 201-1;                        // PWM周期

    CCTL1 = OUTMOD_7;                     

    CCTL2 = OUTMOD_7;                     

    TACTL |= MC0;                        // Timer_A 增计数模式

    

幸运时时彩平台    P2DIR |= 0x08;                       // P2.3 输出

幸运时时彩平台      P2SEL |= 0x08;                     // P2.3 TA1

    P2DIR |= 0x10;                        // P2。4 输出

幸运时时彩平台      P2SEL |= 0x10;                     // P2。4 TA2

    P2DIR |= 0x24;

      P2OUT &= (~BIT5) +(~BIT2);         //P2。2与P2。5点亮

 

    while(1)

    {

        if(keyin != 0x0f)                //如果有键被按下

         {

            delay();                     //延时消抖

            if(keyin != 0x0f)            //再次检测按键状态

幸运时时彩平台            {

                temp=keyin;

                while(keyin != 0x0f);    //等待按键被放开

                switch(temp)             //转换键值    

                 {

                  case 0x0e:

                            keyval = 1;break;

                  case 0x0d:

                            keyval = 2;break;

                  default:

                            keyval = 0;break;

                 }            

幸运时时彩平台                if(keyval==1)            //按键加

                 {

                   P2DIR |= 0x80;

                     P2OUT^=BIT7;        //按键指示

                   i++;

                   if(i>5)

                     i=0;

                 }

幸运时时彩平台                if(keyval==2)            //按键减

                 {

                   if(i==0)

                     i=5;

                   else

                     i--;

                   P2DIR |= 0x80;

                   P2OUT^=BIT7;          //按键指示

                 }

             }

        }

       CCR1 = T[i];                      //占空比: T[i] / 200

       CCR2 = T[i];                      //占空比: T[i] / 200

    }

}

关键字:msp430F149  调PWM  占空比 编辑:什么鱼 引用地址:http://news.sonata9.com/mcu/ic491903.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:MSP430f149使用XT2的8M晶振输出PWM
下一篇:幸运时时彩平台MSP430F149定时器TA总结

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

MSP430F249数码管显示
;                  *******************************************************************/#include "MSP430x24x.h"#define uint unsigned int#define uchar unsigned char/***设置数码管显示****/#define L1_OFF   P4OUT|=BIT0 //关L1#define L1_NO    P4OUT&=~BIT0 //点亮
发表于 2020-03-28
MSP430F5529库函数
    笔者大学期间写的MSP430F5529库函数,期间断断续续写了快一年,从刚开始的1.0版本到最后的2.+版本,最后才有了让笔者满意的库函数。    MSP430是一款中低端的单片机,以至于很多人认为它不需要库函数,选择使用手写代码开发,然而,笔者却不这么认为,在库函数完成后,笔者使用该单片机开发时相比之前的速度提升了很多倍,当然一个不可忽略的原因是我更熟悉这单片机了。    库函数几乎包括了单片机上所有的外设模块,除此之外,笔者还提供了常用的OLED,LCD,LED,KEY,NRF24L01等模块的驱动库。    遗憾的是,笔者并没有精力写出
发表于 2020-03-26
MSP430F2370(三)UART串口通讯
。==============================================================源代码://编写时间:2017.2.20//库函数功能:串口收发和初始化函数,测试用开发板:launchpad with msp430g2553//MCU型号:MSP430F2370#include "msp430g2553.h"#define CPU_F (double)8000000#define delayUs(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))#define delayMs(x) __delay_cycles((long)(CPU_F*(double)x/1000.0
发表于 2020-03-24
MSP430F247串口发送字符串并接受PC机发来的并送回电脑显示
= 1MHz/9600 = ~104.2//   ACLK = n/a, MCLK = SMCLK = CALxxx_1MHZ = 1MHz////                MSP430F249//             -----------------//         /||              XIN|-// 
发表于 2020-03-23
MSP430F149按键中断寄存器配置
P20~P23为LED,P11为按键。按下为低电平。使用中断函数按下一次按键则LED状态反转一次。#include "io430.h"#include "in430.h" void select_xt2(void){  unsigned char i; /*------选择系统主时钟为8MHz-------*/    BCSCTL1 &= ~XT2OFF;                      do{   
发表于 2020-03-17
MSP430F149学习之路——PWM信号
代码一: 1 /******************************* 2 程序功能:ACLK=32768Hz  3           PWM波 T=512/32768 占空比75% 4 *********************************/ 5  6 #include <msp430x14x.h> 7 void main() 8 { 9   WDTCTL = WDTPW + WDTHOLD;10 
发表于 2020-03-17
小广播
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD。com。cn, Inc。 All rights reserved
幸运时时彩 北京11选5走势图 亿信彩票平台 北京pk10 500彩票网 幸运时时彩平台 广西快3开奖 小米彩票网址多少 9号棋牌APP 上海时时乐