已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理与应用 大课 1 CC2530定时器 定时器1 定时器2 定时器3 定时器4 睡眠定时器 2 定时器1的三种工作模式 自由运行 模模式 正计数 倒计数模式小课 1 CC2530外部中断外部中断初始化 输入方式 清除中断标志位 合上开关 中断响应程序 2 串口通过标志位发送接收串口初始化 时钟 位置 方式 波特率 合开关等 串口发送 等待 清标志位 发送 串口接收 等待 接收 硬件自动清标志位 教学回顾 1 定时器1原理 难点 2 定时器1编程 重点 3 PWM原理 本周教学主要内容 教学目标 理解CC2530定时器1的原理 掌握CC2530定时器1的编程方法 熟悉CC2530PWM调节原理 一 定时器1 自由运行模式模计数器模式正计数 倒计数模式 65535 一 定时器1 自由运行模式 T1CNTH T1CNTL T1CNTH T1CNTL 经历了65535个时钟脉冲后变成16个1 如下 每经历一个时钟脉冲 数值加1 T1CNTH T1CNTL 同时产生中断溢出标志位 IRCON T1IF和T1STAT OVFIF 1 初始值 为0 T1CNTH和T1CNTL里的值从16个0逐渐增加再回到16个0 需要经过65536个时钟脉冲 一 定时器1 当时钟脉冲设置为32M 不分频 不分频 自由运行模式 每次溢出时间间隔为 定时器溢出 不分频 定时器溢出500次 就让灯状态取反 灯每隔1 024S亮一次 隔1 024S灭一次 每次溢出时间间隔为 一 定时器1 自由运行模式 当时钟脉冲设置为32M 不分频 自由运行模式 每次溢出时间间隔为 定时器溢出 8分频 定时器溢出300次 就让灯状态取反 灯每隔4 9152S亮一次 隔4 9152S灭一次 改变上面的时钟频率 全局定时分频 T1分频 就可以改变定时器溢出时间 配合溢出次数 就可以随心所欲定时 带阴影的标志位会有硬件清除 T1溢出中断屏蔽 复位为1 T1溢出标志位 T1中断标志 允许 禁止T1中断 EA 中断优先级 T1的5个通道中断标志 T1的5个通道中断屏蔽 一 定时器1 用T1来做实验128分频 自由运行模式T1CTL 0 x3 2 0 x1 0 定时器1的控制和状态寄存器T1CTL 通过T1CNTH和T1CNTL读取16位的计数器值 当读取T1CTL时 计数器高位字节被缓冲到T1CNTH中 以便高位字节可以从T1CTLH中读出 T1CNTL必须总是在读取T1CNTH之前首先读取 T1CNTL定时器1计数器低位 T1CNTH定时器1计数器高位 一 定时器1 IRCON中断标志寄存器如下 无中断未决 无中断信号给CPU中断未决 有中断信号给CPU 一 定时器1 T1STAT定时器1状态寄存器如下 一 定时器1 模计数模式 T1CC0L和T1CC0H寄存器设置 T1CC0L定时器1通道0捕获 比较值低位 T1CC0H定时器1通道0捕获 比较值高位 一 定时器1 定时器1实例分析 下述内容用于实现定时器1溢出标志控制LED亮灭1 定时器1初始化 voidInitial void EA 1 T1IE 1 用T1来做实验128分频 自动运行模式 0 x0000 0 xffff T1CTL 0 x0d voidInitClock void CLKCONCMD CLKSPD不分频 2 时钟初始化 16 定时器1实例分析 3 LED初始化 voidInitled void 初始化LED灯P1SEL include defineuintunsignedint defineucharunsignedchar defineLED1P1 0uintcounter 0 统计溢出次数 4 头文件 宏定义 17 定时器1 voidmain 调用初始化函数voidInitial void voidInitClock void voidInitled void while 1 pragmavector T1 VECTOR 指定中断向量 interruptvoidT1 ISR void IRCON 0X00 清除中断标志 也可由硬 件自动完成if counter 300 counter else counter 0 LED1 LED1 5 主函数 中断服务程序 二 定时器3 定时器4编程 T3溢出 当时钟脉冲设置为32M 不分频 不分频 自由运行模式 256 8分频 定时器溢出500次 就让灯状态取反 每次溢出时间间隔为 1 三 PWM数字调光的原理 在P1 1上的信号如果按下面几种情况 D2亮度有什么不同呢 1 0 0 1 0 1 2 3 4 上面4中情况 由暗到亮的顺序为 1 2 3 4 当加在P1 1管脚上的信号的一个周期中 低电平所持续的时间占整个周期的时间越长 则发光二极管越亮 由此可见 我们只需要改变占空比就可以调节D2亮度 我们一般把这种占空比可以改变的数字信号叫做PWM PulseWidthModulation 波 2 通过合适的配置 CC2530的定时器1除了产生定时中断外 还可以在输出pwm波 定时器1共有5路pwm输出通道 具体如下 三 PWM数字调光的原理 2 通过合适的配置 CC2530的定时器1除了产生定时中断外 还可以在输出pwm波 定时器1共有5路pwm输出通道 具体如下 三 PWM数字调光的原理 由上图可知 定时器1的PWM波的输出通道有两个位置 位置1 通道0 1 2 3 4的输出管脚为P0 2 P0 3 P0 4 P0 5 P0 6 位置2 通道0 1 2 3 4的输出管脚为P1 2 P1 1 P1 0 P0 7 P0 6 发光二极管D2所连接的IO口 P1 1 如果我们希望通过P1 1对D2进行数字调光 就必须让定时器1的某个通道的PWM输出位于P1 1 做到这一点 须进行如下设置 1 定时器1的PWM输出位与LED灯是同一个引脚是P1 1 选择位置2 PERCFG 1 6 2 IO口冲突时定时器1优先 P2SEL 1 3 3 P1 1为外部设备模式 P1SEL 1 1 三 PWM数字调光的原理 上图为定时器1运行在正 倒计数模式下PWM 在此种模式下T1CC0 T1CC0H T1CC0L 用做了定时计数值 所以通道0不用做PWM输出 PWM的周期 T1CC0 1 2 1 计数脉冲的频率PWM的占空比 T1CC0 T1CCn T1CC0 2 小结 1 CC25
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理学护理临床实践
- 护理课件教学反思:提高教师教学能力的途径
- 护理专业的职业健康与安全
- 护理操作技术护理文化
- 护理质量评估标准与流程优化
- 江苏苏州市2026届高三下学期考前学情自测(三模)化学试卷
- 护理实践中的伦理问题与应对
- 护理专业临床实践考核方法
- 护理计划解读与实施要点
- 电池工厂智能仓储系统方案
- 《建筑工程施工安全》课件
- 高压电缆故障抢修施工方案
- 老年肌少症的护理
- 硅酸钙板轻钢龙骨隔墙施工方案
- 奥氏体不锈钢焊管固溶热处理工艺规范(征求意见稿)
- 锂电池充放电循环测试课件
- DL∕T 2009-2019 超高压可控并联电抗器继电保护配置及整定技术规范
- 2024年贵州匀影文旅投资集团有限公司招聘笔试参考题库含答案解析
- 基于STM32智能台灯的设计与实现
- 九年级道德与法治的知识竞赛题
- 基于PLC控制的机械手设计
评论
0/150
提交评论