- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
配置定时器流程 选择一个定时器(0,1,2,3,4) 设置预分频值(TCFG0) 设置分频值(TCFG1) 设置计数初始值(TCNTBn) 设置TCON(手动更新,自动加载) 清除TCON的手动更新 开启定时器 开启定时器中断(定时器中断使能) 注册定时器中断服务函数 代码分析 rTCFG0 = 0xFF00FF; rTCFG0 |= 0xf900; // prescaler等于249 rTCFG1 = ~0xF0000; rTCFG1 |= 0x20000; //divider等于8,则设置定时器4的时钟频率为25kHz rTCNTB4 = 12500; //让定时器4每隔0.5秒中断一次 rTCON = ~0xF00000; rTCON |= 0x700000; rTCON = ~0x200000 ; //定时器4开始工作 硬件驱动 硬件接口函数: 1、 int TIMER_Init(int nTimerID,int nDiv0,int nDiv1)//配置预分频比 2、int TIMER_Create(... ...) //配置定时器 3、int TIMER_Destory(int nTimerID)//注销定时器中断 4、void TIMER_Start(int nTimerID)//启动定时器 5、void TIMER_Stop(int nTimerID)//停止定时器 软定时器封装 软定时器: void TIMER_TS_Init(... ...) int TIMER_TS_Create(... ...) int TIMER_TS_Destory(int nTimerId) int TIMER_TS_Start(int nTimerId) int TIMER_TS_Stop(int nTimerId) int TIMER_TS_ResetTimeout(int nTimerId, int nTimerOut) int TIMER_TS_Dispatch() 第五章 定时器 PWM定时器 本章目标 2440PWM定时器的基本操作 定时器中断操作 软定时器的封装 特性 – 五个 16 位定时器 – 两个8 位预分频器和两个4 位分频器 – 可编程输出波形的占空比控制(PWM) – 自动重载模式或单脉冲模式 – 死区发生 什么是定时器 定时器的本质就是一个递减的计数器, 根据触发条件在计数器的值达到触发条件的时 候,触发事件的发生。 特性 概述 S3C2440A 有 5 个 16 位定时器。其中定时器 0、1、2 和 3 具有脉宽调制(PWM)功能。定时器 4 是一个无输出引脚的内部定时器。定时器0还包含用于大电流驱动的死区发生器。 定时器 0和 1共用一个8位预分频器,定时器2、3和 4 共用另外的8 位预分频器。每个定时器都有一个可以生成5 种不同分频信号(1/2,1/4,1/8,1/16 和TCLK)的时钟分频器。每个定时器模块从相应8 位预分频器得到时钟的时钟分频器中得到其自己的时钟信号。8 位预分频器是可编程的,并且按存储在 TCFG0 和 TCFG1 寄存器中的加载值来分频PCLK。 功能框图 定时器0 定时器1 定时器2 定时器3 定时器4 比定时器4 多了具有 脉宽调制 (PWM) 功能 无输出引脚 内部定时器 比定时器1 多了死区 发生器 步骤1:配置预分频器和分频值 (TCFG0,TCFG1) 目的产生一定的定时器时钟周期 时钟频率计算公式: 定时器输入时钟频率 = PCLK / {预分频值+1} / {分频值} TCFGn 定时器配制寄存器 0(TCFG0) 位[7:0]、位[15:8]分别用于控制预分频器0、1,范围0~255。经过预分频器出来的始终频率:PCLK / {预分频值+1} 定时器配制寄存器 1(TCFG1) 经过预分频器的始终将被2、4、8、16分频 示例:假设PCLK=50M,预分频值=249,分频值=8 时钟频率 = 50M/(249+1)/8=25Khz 时钟周期=1/25KHZ = 40us TCFG0 定时器配制寄存器 0(TCFG0) TCFG1 定时器配制寄存器 1(TCFG1) 步骤2:配置计数初始值 (TCNTBn) 目的产生一个计数初始值 (注意:这里暂没有设置比较值,不产生PWM脉冲控制) 初始值计算公式: 初始值 = 定时时间 / 时钟周期 问:假设时钟周期已设置40us,若要定时500ms产生一次中断,初始值等于多少? 初始值 = 500ms/40us=12500 TCNTBn、TCMPBn 定时器 计数寄存
您可能关注的文档
- 定价方案技术方案.ppt
- 高中化学选修有机化学基础第一章第二节有机化合物的结构特点(第课时)分析报告.ppt
- 高中化学知识专题化学反应速率&平衡分析报告.doc
- 高中化学专题二从海水中获得的化学物质第二单元钠镁及其化合物(第课时)碳酸钠的性质与应用分析报告.ppt
- 定理与证明上课技术方案.ppt
- 高中教师专业知识及网络研修讲座分析报告.doc
- 高中课堂笔记总结大全历史必修分析报告.doc
- 高中历史(人民版)选修四《中外历史人物评说》第三单元第一课英国革命的领导人克伦威尔分析报告.ppt
- 定量概论zk技术方案.ppt
- 高中历史_第课《罗斯福新政》_新人教版必修分析报告.ppt
- 水利水电工程质量检测员继续教育系统基础考试试题及答案(各种收集).pdf
- 毕业论文设计模板.pdf
- 2025年云南省寻甸县第五中学高三下学期教学质量监测(一)数学试题试卷含解析.doc
- 2025年云南省玉溪市师院附中高三数学试题寒假周考试卷含解析.doc
- 2025年云南省玉溪市新平一中高三第一次教学质量监测(4月)数学试题含解析.doc
- 2025年云南省玉溪市新平一中高三下学期考前模拟考试数学试题含解析.doc
- 2025年云南省宣威市第四中学招生全国统一模拟考试数学试题含解析.doc
- 2025年云南省元江民中高三下学期二模(4月)数学试题含解析.doc
- 2025年云南省元江县民族中学高三质量检查数学试题含解析.doc
- 2025年云南省沾益县第四中学下学期期中考高三试卷数学试题含解析.doc
文档评论(0)