嵌入式系统课件合肥工业大学007.TIM&PIT

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《嵌入式系统及应用》
23
三、PIT模块寄存器及设置
8、PITMLD0~3 — PIT装载寄存器0~3
Bit 15 Read: PLD15 Write: Reset: 0 Bit 7 Read: PLD7 Write: Reset: 0 0 0 0 0 0 0 0 PLD6 PLD5 PLD4 PLD3 PLD2 PLD1 PLD0 0 Bit 6 0 Bit 5 0 Bit 4 0 Bit 3 0 Bit 2 0 Bit 1 0 Bit 0 PLD14 PLD13 PLD12 PLD11 PLD10 PLD9 PLD8 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8
Timer Module & Periodic Interrupt Timer
《嵌入式系统及应用》
TM
Timer Module
《嵌入式系统及应用》
TM
章节介绍
• 教学内容
本章介绍MC9S12XS128的TIM模块
• 教学目标
掌握MC9S12XS128的TIM模块(脉冲累加器)的 功能 掌握MC9S12XS128的TIM模块(脉冲累加器)的 相关寄存器 可以编程操作TIM模块(脉冲累加器)
Bit 7 Read: Write: Reset: 0 0 0 0 0 0 0 0 0 Bit 6 0 Bit 5 0 Bit 4 0 PCE3 PCE2 PCE1 PCE0 Bit 3 Bit 2 Bit 1 Bit 0
PCEx— PIT定时器x通道使能位 0 = 禁用相应的PIT通道 1 = 使用相应的PIT通道
//脉冲累加器寄存器清零 //上升沿 //使能脉冲累加器
《嵌入式系统及应用》
12
Periodic Interrupt Timer
《嵌入式系统及应用》
TM
章节介绍
• 教学内容
本章介绍MC9S12XS128的PIT模块
• 教学目标
掌握MC9S12XS128的PIT模块的功能 掌握MC9S12XS128的PIT模块的相关寄存器 可以编程操作PIT模块
《嵌入式系统及应用》
5
三、脉冲累加器(PA)—结构
《嵌入式系统及应用》
6
三、脉冲累加器(PA)—模式
PA7/PAI
对事件计数模式,PEDGE 选择 哪个PAI的沿用来增加 PACNT 寄存器
16 位计数器
事件计数模式 • 引脚作为计数器时钟 • 软件选择以什么沿来计数 • 计数器溢出时,产生中断(可选) • 在PAI引脚每个主动电平将产生中断
《嵌入式系统及应用》
9
三、脉冲累加器(PA)—寄存器
2、PACNT — 脉冲累加器计数寄存器
Bit 15 Read: Write: Reset:
PACNT 15
Bit 14
PACNT 14
Bit 13
PACNT 13
Bit 12
PACNT 12
Bit 11
PACNT 11
Bit 10
PACNT 10
PMUXx— PIT定时器x的通道复用选择位 0 = 相应的16位定时器使用微定时基准0计数 1 = 相应的16位定时器使用微定时基准1计数
《嵌入式系统及应用》
20
三、PIT模块寄存器及设置
5、PITINTE — PIT中断使能寄存器
Bit 7 Read: Write: Reset: 0 0 0 0 0 0 0 0 0 Bit 6 0 Bit 5 0 Bit 4 0 PINTE3 PINTE2 PINTE1 PINTE0 Bit 3 Bit 2 Bit 1 Bit 0
PITE— PIT模块使能位 0 = 禁用PIT模块 1 = 使用PIT模块 PFLMT1~PFLMT0— PIT微定时器强制装载位 如果相应的微定时器激活且PIT模块使能(PITE=1)时,PFLMT=1,则相应的8位微定时 器的装载寄存器值将立即装载到8位微定时器的递减计数器。写0操作无效;读取这2位,总是返 回0。
《嵌入式系统及应用》
14
一、PIT 模块结构
PIT模块是由两级24位定时器(2个8位递减计数器和4个16位递减计 数器)结构和一个中断/触发接口组成。16位定时器的时钟由2个可选的微 定时基准提供,微定时基准的时钟由8位模数递减计数器产生。
《嵌入式系统及应用》
15
二、PIT 模块详细功能框图
《嵌入式系统及应用》
10
三、脉冲累加器(PA)—寄存器
3、PAFLG — 脉冲累加器标志寄存器
Bit 7 Read: Write: Reset: 0 0 0 0 0 0 0 0 0 Bit 6 0 Bit 5 0 Bit 4 0 Bit 3 0 Bit 2 0 PAOVF PAIF Bit 1 Bit 0
PAOVF — Pulse Accumulator A Overflow Flag 0 = 上次清除以来,PACNT没有回滚到$0000。 1 = PACNT从$FFFF回滚到$0000。 PAIF— Pulse Accumulator Input edge Flag 0 = 上次清除以来,PAI引脚尚未检测到预期的有效边沿。 1 = 在输入引脚检测到有效边沿。
《嵌入式系统及应用》
17
三、PIT模块寄存器及设置
2、PITFLT — PIT强制装载定时寄存器
Bit 7 Read: Write: Reset: 0 0 0 0 0 Bit 6 0 Bit 5 0 Bit 4 0 Bit 3 0 PFLT3 0 Bit 2 0 PFLT2 0 Bit 1 0 PFLT1 0 Bit 0 0 PFLT0 0
Bit 9
PACNT 9
Bit 8
PACNT 8
0
0
0
0
0
0
0
0
Bit 7 Read: Write: Reset:
PACNT7
Bit 6
PACNT6
Bit 5
PACNT5
Bit 4
PACNT4
Bit 3
PACNT3
Bit 2
PACNT2
Bit 1
PACNT1
Bit 0
PACNT0
0
0
0
0
0
0
0
0
《嵌入式系统及应用》
CLK1, CLK0 — Clock Select Bits PAOVI — Pulse Accumulator A Overflow Interrupt enable 0 = 禁止溢出中断 1 = 当PAOVF置位时申请中断 PAI— Pulse Accumulator Input Interrupt enable 0 = 禁止输入中断 1 = 当PAIF置位时申请中断 CLK1 0 0 1 1 CLK0 0 1 0 1 时钟源 预分频器时钟 PACLK PACLK/256 PACKL/65536
《嵌入式系统及应用》
19
三、PIT模块寄存器及设置
4、PITMUX — PIT复用寄存器
Bit 7 Read: Write: Reset: 0 0 0 0 0 0 0 0 0 Bit 6 0 Bit 5 0 Bit 4 0 PMUX3 PMUX2 PMUX1 PMUX0 Bit 3 Bit 2 Bit 1 Bit 0
PLD15~0 — PIT模块的16位模数递减计数器的装载初值 为了确保数据的一致性,写入PITLD寄存器的新值必须按照16位访问进行操作,否则不会重 启定时器。当定时器向下递减计数到0时,则PTF超时标志位置1,重新装载该寄存器值。如果 想要立即装载初值,只要PITFLT寄存器中的PFLT置位就会立即更新新的初值至计数器。 《嵌入式系统及应用》
《嵌入式系统及应用》
3
一、TIM 模块结构
• 8个输入捕捉/输出比较通道; • 时钟分频; • 16位计数器功能; • 16位脉冲累加器功能。
《嵌入式系统及应用》
4
二、脉冲累加器(PA)—功能
脉冲累加器功能通过检测相应引脚上的有效边沿 统计脉冲个数。 TIM 模块只有一个 16 位的脉冲累加器, 与 PT7 引脚复用,其工作方式有事件计数方式和门控 时间累加方式两种。工作方式不同,脉冲累加器的计 数脉冲的来源不同。
16
三、PIT模块寄存器及设置
1、PITCFLMT — PIT控制和强制装载微定时寄存器
Bit 7 Read: PITE Write: Reset: 0 0 0 0 0 0 PITSWAI PITFRZ PFLMT1 0 PFLMT0 0 Bit 6 Bit 5 Bit 4 0 Bit 3 0 Bit 2 0 Bit 1 0 Bit 0 0
PFLTx— PIT定时器x的强制装载位。 如果相应的定时器通道和PIT模块均使能(PCE=1,PTIE=1),则PFLT位写1操作,相应的 16位定时器的装载寄存器值将装载到16位递减计数器,写0操作无效;读取这4位,总是返回0。
《嵌入式系统及应用》
18
三、PIT模块寄存器及设置
3、PITCE — PIT通道使能寄存器
《嵌入式系统及应用》
11
四、应用
脉冲累加器的初始化子程序
1. void PACN_init(void) 2. { 3. PACTL_PAEN = 0; 4. PACNT = 0x0000; 5. PACTL_PAMOD = 0; 6. PACTL_PEDGE = 1; 7. PACTL_PAEN = 1; 8. }
《嵌入式系统及应用》
7
三、脉冲累加器(PA)—寄存器
1、PACTL — 16位脉冲累加控制器
Bit 7 Read: Write: Reset: 0 0 0 0 0 0 0 0 0 PAEN PAMOD PEDGE CLK1 CLK0 PAOVI PAI Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
PAEN— Pulse Accumulator A System Enable 0 = 16位脉冲累加器A系统禁止 1 = 16位脉冲累加器A系统使能 PAMOD— Pulse Accumulator Mode PEDGE— Pulse Accumulator Edge Control PAMOD 0 0 1 1 PEDGE 0 1 0 1 引脚动作 下降沿 上升沿 引脚高电平时 ECLK/64时钟有效 引脚低电平时 ECLK/64时钟有效
《嵌入式系统及应用》
8
三、脉冲累加器(PA)—寄存器
1、PACTL — 16位脉冲累加控制器
Bit 7 Read: Write: Reset: 0 0 0 0 0 0 0 0 0 PAEN PAMOD PEDGE CLK1 CLK0 PAOVI PAI Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
脉冲累加器输入引脚
PA7/PAI 脉冲累加器输入引脚
16 位计数器
对门累加模式,PEDGE选择哪个 PAI 状态用来禁止计数。 (比如. PEDGE = 1 当PAI = HI 禁止计数) 。
时间累加模式 自由运行 ECLK/64时钟 引脚作为计数器
• 软件选择主动电平作为门的输入 • 当计数器溢出时产生中断
PTFx— PIT定时器x的超时标志位 0 = 相应的PIT通道超时未发生 1 = 相应的PIT通道超时已发生
《嵌入式系统及应用》
22
三、PIT模块寄存器及设置
7、PITMTLD0/1 — PIT微定时装载寄存器0/1
Bit 7 Read: Write: Reset: PMTLD 7 0 Bit 6 PMTLD 6 0 Bit 5 PMTLD 5 0 Bit 4 PMTLD 4 0 Bit 3 PMTLD 3 0 Bit 2 PMTLD 2 0 Bit 1 PMTLD 1 0 Bit 0 PMTLD 0 0
百度文库
PMTLD7~0 — PIT微定时器装载初值 这8位用来设置8位微定时器的模数递减计数器的装载初值,PITMTLD寄存器写入新的数值 不会重新启动微定时器。当微定时器的计数值减到零时,则重新装载PMTLD寄存器值。如果想 要立即装载初值,只要PITCFLMT寄存器中的PFLMT置位就会立即更新新的初值到递减计数器。
PINTEx— PIT定时器x的超时中断使能位 0 = 禁止相应的PIT通道中断请求 1 = 允许相应的PIT通道中断请求
《嵌入式系统及应用》
21
三、PIT模块寄存器及设置
6、PITTF — PIT超时标志寄存器
Bit 7 Read: Write: Reset: 0 0 0 0 0 0 0 0 0 Bit 6 0 Bit 5 0 Bit 4 0 PTF3 PTF2 PTF1 PTF0 Bit 3 Bit 2 Bit 1 Bit 0
相关文档
最新文档