CC2530单片机用定时器产生LED渐亮渐灭分析.ppt

CC2530单片机用定时器产生LED渐亮渐灭分析.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CC2530单片机用定时器产生LED渐亮渐灭分析

呼吸灯;原理:脉冲宽度调制;方法一:延时;#include ioCC2530.h #define uint unsigned int #define uchar unsigned char #define LED1 P1_0 //定义LED1为P1.0口控制 /**************************** //初始化程序 *****************************/ void InitLed(void)//初始化函数 { P1DIR |= 0x01; //P1_0定义为输出 LED1 = 1; //LED1灯初 始化熄灭 } void ys(uchar h)//延时 { uchar i,j; for(i=0;ih;i++) for(j=0;j200;j++);//改变判断语句可以改变周期(有闪烁感时,改小) } /*************************** 主函数 ***************************/ void main(void) { uchar h=0;//h越大越亮 uchar zt=1;//zt为1是渐亮,为2是渐灭 uint js=0; InitLed(); //调用初始化函数 ;;方法二:定时器+通道输出比较;启动;设置定时器;了解T1STAT-定时器1状态;输出比较模式;输出比较模式;输出比较模式;输出比较模式;输出比较模式;输出比较模式;程序初始;程序初始化;#include ioCC2530.h #define uint unsigned int #define uchar unsigned char //定义控制LED灯的端口 #define LED1 P1_0 //定义LED1为P10口控制 uchar h=0x00;//h越大越亮 //函数声明 void InitLed(void); //初始化P1口 void InitT1(); //初始化定时器T1 /**************************** //初始化程序 *****************************/ void chushiLed(void) { P1DIR |= 0x01; //P1_0定义为输出 LED1 = 1; //LED1灯初 始化熄灭 } //定时器初始化 void chushiT1() //系统不配置工作时钟时默认是2分频,即16MHz { T1CTL = 0x01; //1分频,自动重装 0X0000-0XFFFF P105 PERCFG=0X40;//定时器T1选择外设位置2 P77 P1SEL|=0x01;//P1.0选择外设功能 T1CCTL2=0x64;//定时器T1通道2向上比较置1,比较模式 P107 T1CC2L=0xFF; T1CC2H=h; } ;void main(void) { uchar js=0; uchar a=1;//a=1为渐亮,a=2为渐灭。 chushiLed(); //调用初始化函数 chushiT1(); while(1) { if((T1STAT0x04)0)//灭 { T1STAT=T1STAT0xfb;//清除中断标志 js++; if(js=1)//改变亮度的时间 { js=0;//清零 if(a==1)//渐亮 h=h+1; else//渐灭 h=h-1; T1CC2L=0xff;//重装比较值 T1CC2H=h; if(h=254)//最大亮度 a=2;//设为渐灭 if(h==0)//最??亮度 a=1;//设为渐亮 }}}};方法;方法 三 ;

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档