历史上的今天
返回首页

历史上的今天

今天是:2025年03月17日(星期一)

正在发生

2020年03月17日 | msp430F149调PWM

2020-03-17 来源:eefocus

还说好好安下心调我的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

    }

}

推荐阅读

史海拾趣

Bel Power Solutions公司的发展小趣事

在国内市场取得一定成绩后,Bel Power Solutions开始积极拓展国际市场。公司通过与全球知名企业的合作,成功将产品打入国际市场,并赢得了良好的声誉。同时,公司还积极寻求与系统集成商、分销商等建立长期稳定的合作关系,共同开拓市场。这些合作伙伴关系的建立,不仅为公司带来了更多的商业机会,还提升了公司的品牌影响力和市场份额。

Dailywell Electronics Co Ltd公司的发展小趣事

进入21世纪后,德利威电子加速了其国际化布局的步伐。2000年,公司在中国大陆东莞成立了德利威电子厂,并成功推动了5S运动(整理、整顿、清扫、清洁、素养),进一步提升了公司的管理水平。同时,公司还取得了ISO-9001国际认证标准,标志着其质量管理体系的进一步完善。此外,德利威电子还取得了德国TUV产品安规认证,进一步增强了其产品的国际竞争力。

EG & G Inc公司的发展小趣事

随着电子技术的不断发展,EG & G Inc公司不断进行技术创新和产品升级。公司投入大量资源进行研发,成功推出了一系列具有竞争力的电子产品。其中,某款高精度测量仪器在市场上获得了广泛认可,成为了公司的明星产品。此外,公司还积极开拓新的应用领域,将电子技术应用于医疗、环保等多个领域,为公司带来了新的增长点。

博众电气(BOZHONG ELECTRIC)公司的发展小趣事

博众电气自创立之初,就明确了自己的市场定位和发展方向。作为一家致力于成为一站式电子物料供应企业的公司,博众电气从一开始就注重技术研发和产品质量。公司创始人凭借对电子行业的深刻理解和敏锐的市场洞察力,为博众电气奠定了坚实的基础。

在初创期,博众电气通过引进国内外先进的生产设备和检测设备,不断提升产品的性能和质量。同时,公司还注重与国内外知名同行的技术交流和协作,积极吸收和借鉴先进的生产和管理经验。这些举措使得博众电气在激烈的市场竞争中逐渐脱颖而出。

EMLSI公司的发展小趣事

随着环保意识的不断提高,电子行业也开始面临环保压力。EMLSI公司积极响应环保号召,致力于开发绿色环保产品。公司投入大量资源进行环保技术研发,成功推出了一系列低能耗、低排放的电子产品。这些产品不仅满足了客户的需求,也为公司赢得了良好的社会声誉。

Anderson Power Products公司的发展小趣事

人才是企业发展的根本动力。EMLSI公司深知这一点,因此始终将人才战略作为企业发展的重要支撑。公司建立了完善的人才培养体系,为员工提供广阔的发展空间和良好的职业前景。同时,EMLSI还注重引进外部优秀人才,为企业注入新的活力和创新力。这种对人才的重视和投入让EMLSI在激烈的市场竞争中始终保持领先地位。

问答坊 | AI 解惑

基础知识大讲堂-电源基本知识问答二十条

下面有二十条问题,每个问题都有答案。但是请大家看到问题后先别忙着对答案,试着自己回答一下,看看究竟对电源知识掌握了多少。 1、电源的基本工作原理是什么?   答:通过运行高频开关技术将输入的较高的交流电压(AC)转换为PC电脑工作所需要 ...…

查看全部问答>

模拟电路大学课件

小弟冒死将老师的课件分给大家,课件分章节,大家按需下载.…

查看全部问答>

1.5V电池驱动蜂鸣片,如何改进电路让声音更大?

通过一个2sc2158在drain极串一个33mH的电感到电池(2.6V),source极直接到地,gate极通过560欧姆电阻输入1.4KHz&1.6KHz的方波信号(可调)。蜂鸣片并在电感两端。 现在装好的蜂鸣片可以达到67dB的响度。但是要达到75dB好像很难。我们通过外加电压 ...…

查看全部问答>

尽力破解高砂製作所EX系列电源设计思想(三)

理解高砂的EX-375的控制板需要很多的耐心,初看很难理解他敢用那么多的单排插头插座,欧姆龙产的继电器。在传统观念中插头数量和电位器数量越多实际代表系统的调试繁琐易出错;而且继电器由于是机械触点,其使用寿命也受限制,这些因素综合起来以往 ...…

查看全部问答>

LM3S8962+ucos-ii+lwip+snmp移植问题

大家好!有谁移植过lwip下自带的SNMP的?我按照lwip中doc下的文档移植,移植后,访问系统内部标量或者设置都没有问题即(system.sysDecr...),但是无法获取表(ifTable)的数据,点击ifTable表的获取后,无响应,似乎getnextrequest操作有问题? 仿 ...…

查看全部问答>

招在WinCE上开发的实习、兼职工程师

1,开发地点在上海,期望您是上海本地的在校生(研究生更佳); 2,期望您不在乎公司规模,只在意技术成就(本次开发经费有保障); 3,对Win CE5以上系列平台开发很有兴趣或者已研究多时; 4,将会涉及对掌上硬件的控制开发; 有兴趣者可联系 ...…

查看全部问答>

请教WINCE下声卡给上层操作系统调用的调声音的接口在哪里?

请教各位, 我的平台是PXA270 声音驱动用的是AC97 现在想通过导航按键复用来调节声音 即,当媒体播放器弹出来时,导航键变成声音调节键 请问: WINCE下声音驱动中调节声音大小的部分在哪里? 是否是导出一个API供上层操作系统调用?? …

查看全部问答>

请教如何开发定制的文字输入控件(法)。一个方案也好。

使用不同导航犬的时候发现输入面板的样子是不同的。所以说是有办法实现的。 我也想做一个看起来不样的输入面板,可是由我控制输入面板的位置,显示方式等等,就像我的自定义控件一样。 我应该如何开发呢?有个方案也好啊。 本人原来是做面向对 ...…

查看全部问答>

PCI与ISA哪个更稳定

PCI板卡为什么有时关机后再开机计算机设备管理器里认不到,怎么解决这个问题…

查看全部问答>

哭问如何刷新windows文件系统cache!在线急等!

目前正在做一个嵌入式的设备.   内置USB   Client接口,   可以通过标准U盘方式连接到Windows.   在Windows界面中可以查看设备Flash存储上的文件(FAT32格式). 而设备本身有操作系统,   通过扇 ...…

查看全部问答>