9s12单片机-第七章ECT-LXM解读.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9s12单片机-第七章ECT-LXM解读

LATQ:输入控制锁存或队列模式允许位 1 = 输入捕捉锁存模式允许。 输入捕捉通道和脉冲累加器工作在锁存模式,当模数递减计数器自然复0或将0写入到MDC计数寄存器MCCNT中时,产生锁存操作。当锁存事件发生时,IC寄存器和8位脉冲累加器中的内容被传送到其保持寄存器中。同时8位脉冲累加器被清0。 0 = 输入捕捉队列模式允许。 输入捕捉通道和脉冲累加器工作在队列模式,通过一个有效的输入引脚跳变,主定时器的值被存储到IC寄存器中。 当发生新的捕捉时,IC寄存器中的值将被传送到其保持寄存器中,IC寄存器存入新的定时器值。 为了使能IC保持寄存器和脉冲累加器保持寄存器,控制位BUFEN应该被置1,否则LATQ锁存模式被禁止。 当LATQ和BUFEN同时置1时,向MCCTL寄存器中的ICLAT位写1,将使输入捕捉寄存器和脉冲累加器寄存器的内容锁存到其保持寄存器中。 高级应用不讲 (12)定时器中断允许寄存器(TIE) C7I~C0I:输入捕捉/输出比较“x”中断允许位 1 = 允许输入捕捉/输出比较中断。 0 = 禁止输入捕捉/输出比较中断。 C7F~C0F :输入捕捉/输出比较通道“n”标志位 1 = 输入捕捉/输出比较通道已经出现有效动作。 0 = 上次清除标志以来,输入捕捉/输出比较通道没有出现有效动作。 (13)主定时器中断标志寄存器(TFLG1) 书上实例 void Busclock_Init(void) { CLKSEL = 0x00; //将PLL锁相环脱离系统从而进行配置 PLLCTL_PLLON = 1; //打开PLL锁相环 SYNR = 0x00; REFDV = 0x00; while(!(CRGFLG_LOCK==1)); //等待PLL锁相环稳定 CLKSEL_PLLSEL = 1; //在系统中使用PLL锁相环 } 总线时钟初始化程序 设置总线频率 ECT初始化程序 /*ECT初始化*/ void ECT_Init(void) { /*配置自由运行定时器的分频系数*/ TSCR2 = TSCR2 0xF8 | 0x01; //预分频系数为2,为总线频率的一半 TSCR2_TOI = 0; //禁止定时器溢出中断 TSCR1_TEN = 1; //开启自由运行定时器 /*输入捕捉相关寄存器设置*/ TIOS_IOS4 = 0; //通道4设置为输入捕捉功能 TCTL3 = TCTL3 0xFC | 0x02; //通道4下降沿捕捉 ICOVW_NOVW4 = 0; //通道4的捕捉寄存器可以被覆盖 ICSYS_SH04 = 0; //通道4和0各自使用对应的端口引脚 TIE_C4I = 1; //通道4输入捕捉/输出比较中断允许 } 主程序: main(void) { Busclock_Init();     //调用总线时钟设置函数 ECT_Init(); //调用ECT初始化函数 EnableInterrupts; //打开全局中断 for(;;) { //自由运行定时器溢出次数计算 if(TFLG2_TOF) { FlowNum++; TFLG2_TOF = 1; //清除自由运行定时器溢出标识 } } } 中断程序编写: #pragma CODE_SEG NON_BANKED //给中断服务函数分配代码段 void interrupt 12 ECTCH4ISR(void) //通道4的输入捕捉/输出比较中断向量号为12 { TFLG1_C4F = 1; //清除中断标识位 Time = TC4; Period = (long int)Time+ FlowNum*65536; // (long int)表示数据类型强制转换 Period = Period- (long int)TimeEx; TimeEx = Time; FlowNum = 0; //每计算一次周期后需要将FlowNum清零 } 3、自由运行主定时器的时钟TIMCLK确定 定时器系统控制寄存器TSCR1中的TEN位是TIMCLK的总开关,当

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档