AVR定时器的工作类型模式介绍
输出比较单元
16位比较器持续比较TCNT1与OCR1x的内容,一旦发现它们相等,比较器立即产生一个匹配信号。
然后OCF1x 在下一个定时器时钟置位。
如果此时OCIE1x = 1, OCF1x 置位将引发输出比较中断。
(就是说输出比较可以工作在所有工作模式下,但PWM模式下更好用,功能更强)
输出比较单元A(OCR1A) 的一个特质是定义T/C 的TOP 值( 即计数器的分辨率)。
TOP 值还用来定义通过波形发生器产生的波形的周期。
由于在任意模式下写TCNT1 都将在下一个定时器时钟周期里阻止比较匹配,在使用输出比较时改变TCNT1就会有风险,不管T/C是否在运行
这个特性可以用来将OCR1x初始化为与TCNT1 相同的数值而不触发中断。
强制输出比较(FOC)
工作于非PWM 模式时,可以通过对强制输出比较位FOC1x 写”1” 的方式来产生比较匹配。
强制比较匹配不会置位 OCF1x 标志,也不会重载/ 清零定时器,
但是OC1x 引脚将被更新,好象真的发生了比较匹配一样(COMx1:0 决定OC1x 是置位、清零,还是交替变化)。
比较匹配输出单元
比较匹配模式控制位COM1x1:0 具有双重功能。
1 波形发生器利用COM1x1:0 来确定下一次比较匹配发生时的输出比较OC1x 状态;
2 COM1x1:0 还控制OC1x 引脚输出的来源。
只要COM1x1:0 不全为零,波形发生器的输出比较功能就会重载OC1x 的通用I/O 口功能。
但是OC1x 引脚的方向仍旧受控于数据方向寄存器 (DDR)。
从OC1x 引脚输出有效信号之前必须通过数据方向寄存器的DDR_OC1x 将此引脚设置为输出。
波形发生器利用COM1x1:0 的方法在普通模式、CTC 模式和PWM 模式下有所区别。
对于所有的模式,设置COM1x1:0=0 表明比较匹配发生时波形发生器不会操作OC1x寄存器
访问16位寄存器
写16 位寄存器时,应先写入该寄存器的高位字节。
usigned int k;
k=0x1234;
TCNT1H=(unsigned char)(k>>8);
TCNT1L=(unsigned char) k;
而读16 位寄存器时应先读取该寄存器的低位字节。
usigned int k;
k=TCNT1L;
k+=(unsigned int)(TCNT1H<<8);
使用“C” 语言时,编译器会自动处理16位操作。
usigned int k;
k=0x1234;
TCNT=k;
k=TCNT1;
![](http://www.ofweek.com/images/weixin/weixin_ee.gif)
图片新闻
最新活动更多
-
2月25日火热报名中>> Ansys Motion薄膜卷曲卷对卷工艺仿真解决方案
-
限时免费立即试用>> 燧石技术,赋光智慧,超越感知
-
2月28日火热报名中>> 【免费试用】东集技术年终福利——免费试用活动
-
即日-3.21立即报名 >> 【深圳 IEAE】2025 消费新场景创新与实践论坛
-
3月27日立即报名>> 【工程师系列】汽车电子技术在线大会
-
4日10日立即报名>> OFweek 2025(第十四届)中国机器人产业大会
推荐专题
- 1 2024-2025年全球半导体行业深度分析:芯片公司业绩排名和市场规模
- 2 2025年半导体行业展望:如何在波动中探寻新机遇
- 3 美国,正在疯狂建芯片厂,疯狂购买ASML光刻机
- 4 2025年全球半导体行业有哪些发展趋势?
- 5 RTX 5080 FE首发评测:功耗竟然低于RTX 4080!性能接近RTX 4090D
- 6 HBM带来新机遇!概念股出炉(名单)
- 7 DeepSeek引爆了AI,国产GPU集体撑腰
- 8 2025年,国产RISC-V芯片,会与ARM全面对决了
- 9 美国新任总统特朗普的“Stargate”(星际之门)是做啥的,用到哪些芯片呢
- 10 德中技术发布数控设备操作系统MOS V1.0版本软件
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论