实验定时器1外部ICP的输入控制作精确的周期计数应用例.pdfVIP

实验定时器1外部ICP的输入控制作精确的周期计数应用例.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
定时器1 外部ICP 的输入测脉冲周期 实验 定时器 1 外部 ICP 的输 入控制作精确的周期计数应用例 利用timer1 的外部硬件来实时的对应timer1 的计数定时值作捕抓锁存控制以达到硬件 实时截取计数值的控制目的 下列程序是对应ICP 引脚实时的将timer1 的计数值tcnt 1h tcnt1l 加以锁存入icr1h icr1l 寄存器内以便运算或控制鉴别应用等 将由外部ICP 引脚端所输入的正向或负向脉冲作硬件实时的将计数器 1 所计数外部T1 输入或内部预分频器预分频工作频率CK 值的对应捕抓入ICR1A 内后经中断控制设定而执 行中断程序 予以读入寄存器内再循环的予以输出到PA PC 显示观察 下列应用程序七是 将ICP 所捕抓到的ICR1A 值存入TMP3H TMP4H 内 而定时器则作溢出中断设定控制 定时器 1 设定预分频器为8 因而定时单位时间为 125nS*8=1uS 而TIMER1 为自由计数由 0000 开始定时到溢出时就将tim 1h 及tim 1l 加1 作65536*65536 的高精度高位数定时器 若 tim 1h tim 1l 加1 溢出时令T 标志为1 之设定标示之 将icp 捕抓到icr1a 之tcnt1 的16 位定时值再对应此tc1 的因周期过长而产生定时溢出计 数的次数即为此周期的高16 位值tim1h 及tim 1l 等16 位在中断控制程序中利用LD R0 X+ 指令将tim 1h 及tim 1l 放入XH XL 中作16 位加 1 之递增再由XH XL 放回tim 1h tim 1l 寄存器内达成TIMER1 的32 位计数 因此对应适时的由ICP 输入脚的准位变化作计数器 1 的内容读取再显示于PA PB PC PD 的控制应用程序如AVRTB7.ASM 及其对应注释说明 如下 程序七 定时器 1 外部 ICP 的输入控制作精确的时间计数应用例 ;AVRTB7.ASM .include 8515def.inc rjmp RESET ;复位寻址跳到RESET 开始执行程序 .def tim1h =r01 .def tim1l =r02 .def cnt1d =r03 .def cnt2d =r04 .def cnt3d =r05 .def cnt4d =r06 .def cnt5d =r07 .def tmp1h =r08 .def tmp2h =r09 .def tmp3h =r10 .def tmp4h =r11 .def tmp5h =r12 广州市天河双龙电子有限公司 http://www.SL. 定时器1 外部ICP 的输入测脉冲周期 .def tmp6h =r13 .def tmp7h =r14 .def tmp8h =r15 .def temp =r17 ;临时寄存器之变量定义 .def tcnd =r18 .def scntd =r19 .def cnt1 =r20 .def cnt2 =r21 .def cnt3 =r22 .def cnt4 =r23 .def cntn =r24 .def tempn =r25 .cseg .org 0x03 ;capture timer1 捕抓中断向量 icpt1 rjmp captr ;跳到中断捕抓执行对应程序 .org 0x06 ;timer1 溢出中断向量 intt0 rjmp calts ;跳到定时溢出计数 .cseg .org 0x10 检测tempn 的d0 为0 则是第1 次捕抓故将其存于tmp1-tmp4 通用寄存器内并令d0= 1 若tempn 的d0=1 则是第2 次捕抓故将其存于tmp5-tmp8 通用寄存器内并令d0=1

文档评论(0)

docindoc + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档