MC9S12_增强型捕捉定时器模块

合集下载

Timer模块介绍

Timer模块介绍

手把手教你写S12XS128程序(17)--Timer模块介绍11、简述MC9S12XS128定时器模块与MC9S12DG128 ECT部分功能完全类似,以下均以ECT模块介绍xs128定时器模块。

HC12 增强型捕捉计时器模块在HCS12标准定时器的基础上增加了一些特点,用以扩展它的应用范围,特别是在汽车ABS 方面。

基准计时器的核心仍然是一个16 位的可编程计数器,其时钟源来自一个预分频器。

该计时器可以被应用于多个方面,包括在对输入波形进行测量的同时产生一个输出波形。

波形的脉宽可以在几微秒到数秒的范围内变化。

增强型定时器模块(ECT)的结构框图如下,ECT功能相当于高速的I/O口,由一个4位预分频器、一个16位自由运行计数器,8个16位IC/OC通道,2个16位脉冲累加器以及一个16位模数递减计数器组成。

ECT实际上是一个16位的可编程计数器,它的基本时钟频率可以通过预分频器设置,用于产生波形输出,测量输入波形,统计脉冲个数,可以作为定时中断功能和独立时钟基准。

2、运行模式停止:由于时钟停止,计时器和计数器均关闭。

冻结:计时器和计数器均保持运行,直到T SCR($06)的T SFRZ 位被置1。

把手教你写S12XS128程序(18)--Timer模块介绍2IC 通道组IC 通道组由四个标准的缓冲通道IC0-IC3 和四个非缓冲通道IC4-IC7 组成,两部分的基本功能都是捕捉外部事件发生的时刻,但是缓冲通道除了IC /OC 寄存器TCn 外,还设有保持寄存器TCnH,此外还在入口设置了延迟计数器,用来提高抗干扰能力。

非缓冲通道没有保持寄存器,入口也没有延迟计数器,但每个通道入口设置了一个 2 输入端的多路器,事件触发信号可以是来自本通道的输入引脚PORTn,也可以是来自其关联通道PORT(n-4)的延迟计数器输出,使用更加灵活。

当延迟功能有效时,输入引脚检测到一个有效的边沿后,延迟计数器开始对P 时钟(模块时钟)进行计数,当到达设定的计数值后,延迟计数器在其输出端有条件地产生一个脉冲,这个条件就是延迟前后的引脚电平相反。

第2章 MC9S12DG128的结构与工作原理

第2章 MC9S12DG128的结构与工作原理
PC是特殊的寄存器,它决定CPU的取指地址,因此不能挪作他用,但可 以像SP一样,在大多数变址寻址方式下作为变址寄存器,只是不能用在 自动增减地址的变址寻址操作中。 PC主要是直接为CPU服务,对于用户程序来讲,PC不能参与任何运算, 唯一的作用是辅助进行变址寻址操作。
《基于HCS12的嵌入式系统设计》
口、字节数据链路通信接口和管脚中断逻辑。
《基于HCS12的嵌入式系统设计》
2.1 MC9S12DG128的内部结构
2.1.1 CPU12内核(Star Core)
中央处理单元CPU (Central Processing Unit)
CPU执行68HC12 CPU指令集结构,用3级指令队列来提升代码执行 效率。
《基于HCS12的嵌入式系统设计》
2.1 MC9S12DG128的内部结构
2.1.1 CPU12内核(Star Core)
CPU12内部寄存器
CPU12的寄存器集——基于累加 器,包括5个16位的寄存器和一个 8位的状态寄存器。其中,累加器 D又可分成两个8位的寄存器A和B, 16位寄存器D、X、Y通常用于暂 存数据或存储器地址;SP为堆栈 指针,用于指示堆栈的位置;PC 为程序指针,用于寻址程序代码; 条件码寄存器CCR用来反映运算 结果的特征,也控制CPU的行为。
LQFP112封装引脚图
QFP80封装引脚图
图2.1 MC9S12DG128内部结构框图
《基于HCS12的嵌入式系统设计》
2.1 MC9S12DG128的内部结构
图2.1为MC9S12DG128的内部结构框图,其中功能模块按
照112引脚封装给出。MC9S12DG128单片机的112个引脚
中,除了地址、数据、控制三总线外,主要是I/O引脚, 多数引脚具有两种或两种以上的功能。 图中左、右两部分分别是单片机的核心和接口部分,包括 CPU12、存储器、通用I/O、电压调整模块、后台调试模 块、系统运行监视模块、时钟产生模块、系统集成模块、 外部总线接口、A/D转换器、增强型捕捉定时器模块、脉 宽调制模块、串行通信接口、CAN总线接口、Byteflight接

MC9S12XS128中文资料

MC9S12XS128中文资料
PWM标度B寄存器。用于控制Clock SB的值,Clock SB = Clock A / (2 * PWMSCLB),当PWMSCLB=0x00时,相当于PWMSCLB=256。
PWMCNTx:
PWM通道计数寄存器。
每个通道都有一个独立的8位计数器,其计数速率由所选择的时钟源决定。计数器的值可以随时读取而不影响计数器运行,也不影响PWM波形输出。在左对齐模式时,计数器从0计数至周期寄存器的值减1;在中心对齐模式,计数器从0计数至周期寄存器的值,然后再倒计数至0。
CFORC:
定时器比较强制寄存器。复位值为0x00。
FOCx=1将强制该位对应通道产生输出比较成功动作,但CxF中断标志位不置位。任何通道的强制比较成功动作若与普通比较成功动作同时发生,则强制比较成功动作优先发生,且CxF标志位不会置位。
被置位后瞬间将自动清除该位,所以任何时候对该寄存器的读动作都将返回0x00。
OC7M:
输出比较通道7屏蔽寄存器。复位值为0x00。
Setting the OC7Mx (x ranges from 0 to 6) will set the corresponding port to be an output port when the corresponding TIOSx (x ranges from 0 to 6) bit is set to be an output compare and the corresponding OCPDx (x ranges from 0 to 6) bit is set to zero to enable the timer port.A successful channel 7 output compare overrides any channel 6:0 compares. For each OC7M bit that is set, the output compare action reflects the corresponding OC7D bit.

MC9S12XS128单片机

MC9S12XS128单片机
1.MC9S12XS128单片机介绍
2.CodeWarrior IDE 12 应用
MC9S12XS128单片机
• MC9S12XS128(以下简称XS128)是Freescale公 司推出的S12XS系列单片机中的一款增强型16位 单片机,S12XS系列单片机是在S12XE系列基础 上去掉XGate协处理器的单片机,该系列单片机 采用 CPU12X V2内核,可运行在40MHz总线频 率上。不仅在汽车电子、工业控制、中高档机电 产品等应用领域具有广泛的用途,而且在FLASH 存储控制及加密方面呢也有很强的功能。
PWM模块 特点:
1. 它有 8 个独立的输出通道,并且通过编程可控 制其输出波形的周期。 2. 每一个输出通道都有一个精确的计数器。 3. 每一个通道的 PWM 输出使能都可以由编程来控 制。 4. PWM 输出波形的翻转控制可以通过编程来实现。 5. 周期和脉宽可以被双缓冲。当通道关闭或 PWM 计数器为 0 时,改变周期和脉宽才起作用。 6. 8 字节或 16 字节的通道协议。 7. 有4 个时钟源可供选择(A、SA、B、SB),他 们提供了一个宽范围的时钟频率。
ECT初始化程序:
以0通道为例:
void ECT_Init(void) { TIE = 0x00; //通道0~7的使能屏蔽 TIOS = 0x00; // 所有的端口设置成输入捕获模式 TSCR1 = 0x90; // 使能时钟模块,定时器标志位 快速清零,读取数据自动清零 TCTL4_EDG0B = 0; TCTL4_EDG0A = 1; //捕捉 上升沿,0通道 TIE_C0I = 1; // 使能0通道中断,中断服务程序中 读取捕获数 }
ECT模块(增强型定时器模块)
• ECT特点相当于高速的I/O口,由一个16为自由计 数器、8个16为的输入捕捉/输出比较通道、一个 16为脉冲累加器及一个16位的模数递减计算器 (MDC)组成。

飞思卡尔MC9S12XS128功能模块驱动

飞思卡尔MC9S12XS128功能模块驱动

用了一年多飞思卡尔MC9S12XS128这款处理器,现在总结下各个功能模块的驱动.//锁相环时钟的初始化总线频率为40MHz(总线时钟为锁相环时钟的一半)//晶振为11.0592MHzvoid PLL_init(void) //PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1) { //锁相环时钟= 2*11.0592*(39+1)/(10+1)=80MHz 总线时钟为40MHzREFDV=0x0A;SYNR=0x67; //0110_0111 低6位的值为19,高两位的值为推荐值while(CRGFLG_LOCK != 1);CLKSEL_PLLSEL = 1; //选定锁相环时钟//FCLKDIV=0x0F; //Flash Clock Divide Factor 16M/16=1M}//周期中断定时器的初始化-// //周期中断通道1用于脉冲累加器的定时采样,定时周期为: 10ms= (199+1)*(1999+1)/(40M) (没有使用)//周期中断通道0用于控制激光管的轮流发射,定时周期为: 2000us= (399+1)*(199+1)/(40M)//2011/4/4 15:24 定时时间改为1msvoid PIT_init(void){PITCFLMT_PITE = 0; // 禁止使用PIT模块 PITCFLMT :PIT 控制强制加载微计数器寄存器。

PITCE_PCE0 = 1; // 使能定时器通道0//PITCE_PCE1 = 1; //使能定时器通道1PITMUX = 0; //通道0,和通道1均选择8位微计数器0//修改时间只需要改下面四行PITMTLD0 = 199; //向8位微计数器中加载的值PITLD0 = 199; //向16位计数器中加载的值//PITMTLD1 = 39; //向8位微计数器中加载的值 8位,最大值不要超过255//PITLD1 = 1999; //向16位计数器中加载的值PITINTE |= 0x01; //使能定时器通道0的中断PITCFLMT_PITE = 1;//使能PIT模块}//脉冲累加器的初始化, PT7口外接光电编码器//最新修改: 2011/3/25 16:53void PT7_PulAcc_Init(void){DDRT &= 0x77;//设置PT7,PT3口为输入(硬件上PT7,PT3通过跳线联到了一块)PERT |= 0x80; //使能通道7的上拉电阻PPST &= 0x7f; //电阻设为上拉电阻TCTL4 &= 0x3f; //禁止PT3的输入捕捉功能PACTL = 0x50; //启动脉冲累加计数器,上升沿触发,禁止触发中断和溢出中断,主定时器禁止}//通道1用于控制舵机1 PWM 高电平有效,//通道3用于控制电机1 PWM 低电平有效,这与前两代车高电平有效有区别!!!!!//通道7用于给上排激光管提供PWM信号 PWM高电平有效!!!!!//通道6用于给下排激光管提供PWM信号 PWM高电平有效!!!!!// 2011-03-17 7:56 增加了A端口的使用新增通道6//2011-6-9 23:03 //增加了通道4,5的联合使用,用于控制下排方向舵机 void PWM_init(void){PWME = 0x00;//PWM禁止PWMPRCLK = 0x03; // ClockA=40M/8=5M, Clock B = 40M/1=40M PWMSCLB = 10; // Clock SB= 40/2*10= 2MHz(供电机)PWMSCLA = 5; // SA = Clock A/2*5 = 5M/10 = 500K = SA 用于控制舵机PWMPOL = 0xe2; //1110_0010通道7,通道6与通道1、通道5先输出高电平然后输出低电平,POLx=1先输出高电平后输出低电平; PPOLx=0先输出低电平)PWMCAE = 0x00; // 左对齐输出(CAEx=0为左对齐,反之为中心对齐)//PWMCLK = 0010_1010 (0 1 4 5位控制SA_1;或A_0; 2 3 6 7位控制SB_1 或B_0)//为PWM通道1选择时钟 SA(500KHz),//为PWM通道5选择时钟 SA(500KHz),//为通道3选择时钟 SB(10MHz)//为通道7选择时钟B(40MHz)//为通道6选择时钟B(40MHz)PWMCLK = 0x2A; //0010_1010PWMCTL = 0x70; //0111_0000 CON45=1,把通道4,5联合使用。

基于MC9S12XS128单片机的智能车控制系统的设计

基于MC9S12XS128单片机的智能车控制系统的设计

文章 编号 : 1 0 0 2— 5 6 3 4 ( 2 0 1 3 ) O 1 — 0 1 0 6—随着 自动 控 制技 术 、 单 片 机
源 由寿命长 、 污染 小 的 7 . 2 V镍 镉充 电 电池 提供 , 由 于各 模块所 需 电压不 一 样 , 采 用稳 压 芯 片 对其 进 行 分压 , 同时采用 多路供 电 , 以减 少各模 块 问的相 互干
和M A T L A B软件对程 序 和参数 进 行调 试 , 使 小车 达
到最佳 行驶 状态 .
图 1 硬 件 系 统 构 架
1 系统 硬 件 总 体 构架
良好 的 硬件 电路 是 智 能 车平 稳 快 速 前 行 的保 障, 因此设 计过程 中要 充分考 虑其 可靠性 、 简 洁性和 兼容 性. 其 硬件 系统框 架如 图 1 所 示.
该点 的一个 邻 域 中各 点 像 素值 的 中值 代替 , 使 其 接
近真 实值 . 如 图 6和 图 7所 示 , 加入 噪点后 的 图像经
1 0 8




水 电




2 0 1 3年 2月
过 处理后 , 满 足系统 的要求
11 1 1 1 11 1 11 1 11 1 1 11 1 1 11 1 1 1 11 1 1 1 11 工 1 11 1 11 1 1上 土 t 11 1 11 1 1 1土 土 1 1 1 1 1 O 1 1 1 1 - m 1 1 1 1 1 11 1 1 1 11 1 11 1 1 11 土 11 1 1 1 11 1 1 11 1 1 1 l o l 1 l l l l 1 1 l l l l 1 11 1 1 1 11 1 11 1 1 土 1 1 11 1 1 1 11 土 1 1 0 1 1 1 1 1 1 1 1 11 1 1 土 t 1 11 土 1 11 1 1 1 11 11 11 1 11 1 11 土 1 1 111 1 1 11 11 土11 1 1 1 11 1 1 1 1 11 1 土 11 1 1 1 11 1 1 11 11 11 1 11 1 1 11 1土 1 11 1 11 土 1 1 11 1 1 土 1 1土 1 量 11 11 111 1 工 1 11 1 1 1 1 11 1 1 1 1 1 11 11 1工 土 11 1 1 11 1 1 1 11 1 1 11 11 11土 1 1 1 11 1 1 1 1 11 1 1 1 11 1 11 11 1量 1 11 1 1 11 1 1 O O O - m- m- m- m- m 1 土 1 1 土 11王1oo1置1111111111111111 1 11111 1 I O o 1 1 1 1 1 1 1 1 1 11土o000 1土土1土1土1111土土1111土11土o 111- m O11111- I 土 1 1 1 1 1 1 1 0 0 1 1 1 土 1 1 1 1 1 1 1 1 - m OO- m 1 i 1 1 1 1 1 1 1 1 1 0 O 1 1 1 1 1 王 1 1 土 1 1 1 O 0 1 1 1 1 土 1 1 童 1 量 1 土 0 O 1 土 土 1 1 1 土 1 1 1 1 1 1 O 1 1 1 1 1 1 1 土 1 1 1 1 1 O 0 1 1 1 1 1 1 1 1 1 1 1 1 0 O 1 工 1 1 1 1 1 1 1 1 1 O O 1 - m 1 1 1 1 1 1 1 1 土 1 oO 1 - m 1 1 1 1 土 1 1 1 1 O O 1 - m 1 1 1 1 1 1 1 1 1 O O 1 1 1 1 1 1 1 1 1 O O O 1 1 1 1 1 1 1 1 1 1 o O O 1 1 1 1 1 1 1 1 1 1 1 O OO 1 - m 1 土 1 1 1 1 1 1 O 0 0 1 土 1 1 1 1 1 1 O OO O 1 1 1 1重 1 1 1 1 1 O OO 1 1 1 1 1 1 I 1 0 0 O O 1 1 11 1 - m 1 1 1 O O O - m 1 - m 1 1 1 1 1 - m 1

飞思卡尔MC9S12XS128(定时器)ECT寄存器详解

飞思卡尔MC9S12XS128(定时器)ECT寄存器详解

1、定时器IC/OC功能选择寄存器TIOSIOS[7..0]IC/OC功能选择通道0 相应通道选择为输入捕捉(IC)1 相应通道选择为输出比较(OC)2、定时器比较强制寄存器 CFORCFOC[7..0]设置该寄存器某个FOCn位为1将导致在相应通道上立即产生一个输出比较动作,在初始化输出通道时候非常有用。

【说明】这个状态和正常状态下输出比较发生后,标志位未被置位后的情况相同。

3、输出比较7屏蔽寄存器 OC7MOC7M[7..0]OC7(即通道7的输出比较)具有特殊地位,它匹配时可以直接改变PT7个输出引脚的状态,并覆盖各个引脚原来的匹配动作结果,寄存器OC7M决定哪些通道将处于OC7的管理之下。

OC7M中的各位与PORTT口寄存器的各位一一对应。

当通过TIOS将某个通道设定为输出比较时,将OC7M中的相应位置1,对应的引脚就是输出状态,与DDR中的对应位的状态无关,但OC7Mn并不改变DDR相应位的状态。

【说明】OC7M具有更高的优先级,它优于通过TCTL1和TCTL2寄存器中的OMn和OLn设定的引脚动作,若OC7M中某个位置1,就会阻止相应引脚上由OM和OL设定的动作。

4、输出比较7数据寄存器 OC7DOC7D[7..0]OC7M对于其他OC输出引脚的管理限于将某个二进制值送到对应引脚,这个值保存在寄存器OC7D中的对应位中。

当OC7匹配成功后,若某个OC7Mn=1,则内部逻辑将OC7Dn送到对应引脚。

OC7D中的各位与PORTT口寄存器的各位一一对应。

当通道7比较成功时,如果OC7M中的某个位为1,OC7D中的对应位将被输出到PORTT的对应引脚。

【总结】通道7的输出比较(OC7)具有特殊的位置,在OC7Mn和OC7Dn两个寄存器设置以后,OC7成功输出后将会引起一系列的动作。

比如:OC7M0=1,则通道0处在OC7的管理下,在OC7成功后,系统会将OC7D0的逻辑数据(仅限0或者1)反应在PT0端口上。

飞思卡尔S12xs128单片机BDM调试器使用技巧

飞思卡尔S12xs128单片机BDM调试器使用技巧

S12(X)单片机BDM调试器使用技巧第五届全国大学生“飞思卡尔”杯智能气车竞赛限制采用最新的MC9S12XS128(以下简称XS128)单片机作为主控芯片,替代MC9S12DG128。

XS128是Freescale公司推出的S12系列单片机中的一款增强型16位单片机。

片内资源丰富,接口模块有SPI、SCI、IIC、A/D、PWM等常见模块,在汽车电子应用领域具有广泛用途。

XS128和以往大赛使用的S12DG128系列单片机一样,调试接口都是使用Freescale公司传统的BD M(Background Debug Module)接口。

1 MC9S12XS128单片机介绍(1)CPU:增强型16位HCS12 CPU,片内总线时钟最高40 MHz;(2)片内资源:8 KB RAM、128 KB程序闪存、2 KB数据闪存;(3)串行接口模块:SCI、SPI;(4)脉宽调制模块(PWM)可设置成4路8位或者2路16位,逻辑时钟选择频率宽;(5)1个16路12位精度A/D转换器;(6)控制器局域网模块(CAN);(7)增强型捕捉定时器。

MC9S12XS128单片机有112、80和64引脚3种封装形式。

80-pin封装的单片机没有引出用于扩展方式的端口,仅引出了一个8路A/D接口。

竞赛可使用112或80引脚封装器件。

2 BDM接口和使用BDM调试器内部有一个8位的MC9HC08JB16单片机,该单片机有USB接口,可与PC 机信息交互。

HC08单片机和S12单片机间仅使用一根 I/O线通信,这根相连的信号线名为BKGD。

HC08单片机将BKGD置为输出,以串行发送命令,发送完成后转为输入,以接收信息。

S12单片机收到命令后转为输出,根据调试器发来的命令回送信息,然后立即转入接收态。

BDM工具以此方式实现S12单片机的在线调试、内部闪存的烧写等功能。

关于BDM接口的实现,读者可以参考Freescale任何一款S12单片机的器件手册,其对BDM接口的命令字、交互模式等都有详细描述。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0
2. TFLG1
C7F
0
$000E
RST:
比较/捕捉标志位 写 ‘1’清除中断状态标志位 比较/捕捉屏蔽位 0 = 屏蔽中断请求 1 = 中断请求允许
输出模式和输出电平 (O7–OC0)
OMX 0 0 1 1 OLX 0 1 0 1 Action on OCx No Action OCx Toggle OCx Drive OCx LO Drive OCx HI
B7 3. TIE C7F
RST: 0
B6 C6F
0
B5 C5F
0
B4 C4F
0
B3 C3F
0
B2 C2F
0
B1 C1F
0
B0 C0F
0
$000C
B7 4. TCTL1
RST:
B6 OL7
0
B5 OM6
0
B4 OL6
0
B3 OM5
0
B2 OL5
0
B1 OM4
0
B0 OL4
0
OM7
0
$0008
5. TCTL2
输出比较寄存器
1. TC7 – TC0
16 位捕捉/比较寄存器 (TC7) Address Offset $0010 - $0011 $001E - $001F
16 位捕捉/比较寄存器 (TC0) B7 B6 C6F
0
B5 C5F
0
B4 C4F
0
B3 C3F
0
B2 C2F
0
B1 C1F
0
B0 C0F
ECT 模块结构
一个16位向上带可编程
预分频的主计数器.
一个16位的带可编程预
分频的模数向下计数器 道,每个通道具备输入 捕捉和输出比较功能
8个独立的定时器通
4个8位脉冲累加器,也
可设置成2个16位脉冲 累加器. 实现不同的功能
通过对寄存器编程可以
Slide 2
TM
Freescale Semiconductor Confidential and Proprietary Information. Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. Freescale Semiconductor, Inc. 2005.
$0001
TM
Freescale Semiconductor Confidential and Proprietary Information. Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. Freescale Semiconductor, Inc. 2005.
RST:
TOI
0
0
0
0
0
0 TCRE PR2 PR1 PR0
0 0 0 0 0
$000D
预分频系数选择
PR2 PR1
0 0 1 1 0 0 1 1
PR0
0 1 0 1 0 1 0 1
除以
1 2 4 8 16 32 64 128
1 – 定时器由OC7比较符合时复位 0 – 定时器自由运行
1 – 定时器溢出中断使能 0 – 定时器中断禁止 TCRE - 允许使用PWM功能
在PRM文件中,加入 VECTOR ADDRESS 0xFFDE Int_TimerOverFlow
Slide 5
TM
Freescale Semiconductor Confidential and Proprietary Information. Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. Freescale Semiconductor, Inc. 2005.
当比较发生时(值相等时)
中断屏蔽 (通过软件使能)
OCxI
中断请求
共有8个输出比较通道 每个通道有自己的向量表和控制寄存器
Slide 6
TM
Freescale Semiconductor Confidential and Proprietary Information. Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. Freescale Semiconductor, Inc. 2005.
定时器,预分频,计数器
寄存器:
1. TCNT
RST: 0........................................................................................................................0 B7......................................................................B0 $000F
16 位自由运行/模计数器
B15............................................................................................................................…B0 Address Offset $0004, $0005
2. TFLG2
RST:
TOF
0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
标志寄存器
定时器溢出标志位,写 ‘1’ 清零
B7....................................................................................B0
3. TSCR2
定时器结构
模块时钟
M Clock 预分频选择 PR[2:0]
$FFFE $FFFF $0000
******* ****** ** ****
计时器溢出时,对溢出标志位 置位,如允许中断,则向CPU 发出中断请求
TOF
1
2 4 8 16 32 64 128
计数器寄存器
TCNT CLK
15...........................................0
定时器编程步骤
用途: 产生周期中断 初始化
1. 设定预分频系数 2. 定时器溢出中断使能 3. 定时器使能
中断函数
1. 清标志位 2. 用户自己的代码
void ECT_Init(void) { TSCR2_PR = 7; //prescale factor is 8, bus clock/128=8Mhz/8 TSCR2_TOI = 1; //timer overflow interrupt enable TSCR1_TEN = 1; //timer enable } #pragma CODE_SEG NON_BANKED #pragma TRAP_PROC void Int_TimerOverFlow(void) { TFLG2_TOF = 1; //clear timer overflow flag //用户自己的代码 ……………. } #pragma CODE_SEG DEFAULT
RST: 0
B7 OM30Bຫໍສະໝຸດ OL30B5 OM2
0
B4 OL2
0
B3 OM1
0
B2 OL1
0
B1 OM0
0
B0 OL0
$0009
B7 6. CFORC
RST: 0
B6
0 Slide 7
B5
0
B4
0
B3
0
B2
0
B1
0
B0
0
FOC7 FOC6 FOC5 FOC4 FOC3 FOC2
FOC1 FOC0
1 – 计数器使能 0 – 计数器禁止
Slide 3
TM
Freescale Semiconductor Confidential and Proprietary Information. Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. Freescale Semiconductor, Inc. 2005.
Freescale
HCS12 微控制器 MC9S12DP256
2005年8月
TM
Freescale Semiconductor Confidential and Proprietary Information. Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. Freescale Semiconductor, Inc. 2005.
相关文档
最新文档