单片机技术与应用课件 20.实训1-T1定时器正计数倒计数模式下控制LED1亮.pptxVIP

单片机技术与应用课件 20.实训1-T1定时器正计数倒计数模式下控制LED1亮.pptx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

实训1-T1定时器正计数/倒计数模式下控制LED1亮灭zigbee技术开发主讲人:XXXZigbeetechnologydevelopment

实训1-T1定时器正计数/倒计数模式下控制LED1亮灭任务描述基于CC2530模块做基础开发,利用定时功能实现每隔1sLED1闪烁1次,要求采用定时器1,正计数/倒计数模式,32分频,已知其溢出周期为100ms。

1.知识分析任务分析01LED1闪烁→LED1与单片机端口对应关系→端口初始化函数02定时时间要求使用定时器1→定时器T1初始化函数03定时器T1中断服务函数→中断服务函数基本书写格式04保证程序完整性→添加头文件,定义相关变量,设计主函数实训1-T1定时器正计数/倒计数模式下控制LED1亮灭

2.技能分析任务分析实现定时器1正计数/倒计数模式下控制LED闪烁,必须清晰该模式下溢出次数的计算方法,熟练运用IAR软件进行模模式下定时/计数功能相关函数的编程,并能编译、链接、调试程序,实训仿真演示。实训1-T1定时器正计数/倒计数模式下控制LED1亮灭

3.设备分析任务分析实训任务选择ZigBee实训模块如图所示,要会识读此实训模块电路图,并明确此模块上LED灯与CC2530单片机端口关系。实训1-T1定时器正计数/倒计数模式下控制LED1亮灭

程序设计思路引入头文件定义相关变量设计端口初始化函数设计定时器T1初始化函数设计定时器T1中断服务函数主函数实训1-T1定时器正计数/倒计数模式下控制LED1亮灭

任务实施引入头文件定义相关变量设计端口初始化函数#includeiocc2530.h#defineLED1P1_0unsignedcharcount;voidInit_Port(){P1SEL=~0x01;P1DIR|=0x01;LED1=0;}实训1-T1定时器正计数/倒计数模式下控制LED1亮灭

任务实施设计定时器T1初始化函数1正计数/倒计数模式特点:01最大计数值保存在寄存器T1CC0中。02T1CC0(16位寄存器,由T1CC0H和T1CC0L组合)。T1CC0L使用来保存定时时间的低八位,T1CC0H是用来保存定时时间的高八位。03计数器反复从0x0000开始计数,正计数到T1CC0时,然后计数器将倒计数回到0x0000。实训1-T1定时器正计数/倒计数模式下控制LED1亮灭

任务实施设计定时器T1初始化函数2初始化函数设计基本流程:01将定时器1的最大计数值写入T1CC0。02通过T1CCTL0寄存器开启定时器1通道0的输出比较模式。T1CCTL0|=0x04;//开启通道0的输出比较模式03设置定时器1的相关中断控制位。使能总中断→使能T1中断→使能T1溢出中断。04设置分频系数和工作模式并启动定时器。T1CTL=0x0B;//启动定时器T1,设32分频,正计数/倒计数模式T1CCTL0(0xE5)-定时器1通道0捕获/比较控制寄存器位名称复位R/W描述7RFIRQ0R/W当设置时,使用RF中断捕获,而不是常规捕获输入。6IM1R/W通道0中断屏蔽。设置时使能中断请求。5:3CMP[2:0]000R/W通道0比较模式选择。当定时器的值等于在T1CC0中的比较值,选择操作输出000:在比较设置输出001:在比较清除输出010:在比较切换输出011:在向上比较设置输出,在0清除100:在向上比较清除输出,在0设置101:没有使用110:没有使用111:初始化输出引脚。CMP[2:0]不变。2MODE0R/W模式。选择定时器1通道0捕获或者比较模式0:捕获模式1:比较模式1:0CAP[1:0]00R/W通道0捕获模式选择00:未捕获01:上升沿捕获10:下降沿捕获11:所有沿捕获实训1-T1定时器正计数/倒计数模式下控制LED1亮灭

任务实施设计定时器T1初始化函数3定时器T1的最大计数值:本任务中系统时钟为32MHz,分频系数为32,溢出周期为100ms,则到达最大计数值时间为50ms,则:将其转换为十六进制为0xC350。=50000实训1-T1定时器正计数/倒计数模式下控制LED1亮灭

任务实施设计定时器T1初始化函数voidInit_T1(){T1CC0L=500000x00FF;T1CC0H=(500000xFF00)8;T1CCTL0|=0x04;TIMIF|=0x40;T1IE=1;EA=1;T1CTL=0x0B;}//设置最大计数值的低8位//设置最大计数值的高8位//开启通道0的输出比较模式//定时器1溢出中断使能//定时器1中断使能//总中断使能//启动定时器T1,设32

文档评论(0)

释然 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档