AVR 单片机学-- 基于慧净 HJ-2G AVR 开发板第 章 CTC 模式 概述“ CTC 是什么? ”如果借签叶老师的意思是: CTC 是用于输出 50% 占空比的方波信号( Duty Cycle's Rectangle Waveform ) , 除此之外它还用于产生准确的连续定时信号。在笔记中我依然也是跟着叶老师使用定时器 1 完成 CTC 的试验。新手打从一开始就看数据手册必定被它秒杀,事实上我也已经被秒杀了几次。在浏览手册和在 google 冲浪时可以很明显的看到, CTC 工作模式不一定只是定时器 1 , 其他的定时器也能完成,但是新手就要承认自己是新手,老师教什么自己就学什么。当明白基础了解原理后,再回头看| 作也不迟。 CTC CTC CTC CTC 模式· 概念我们可以假设 OCnA 是 PD4 和 PD5 引脚输出的电平, 红色圆点是最大值。当在初始的阶段中, OCnA 输出低电平, 而 TCNTn 的值从 0 开始就开始累加, 当 TCNT n 的值到大红色圆点的时候, OCnA 的电平立即发生变化~ 取反。这时候后就会产生所谓的“ OCnA 抵达最大值中断”或者“ ICFn 抵达最大值中断”( 它们是什么?这个不重要,往后看就会明白了) 。在这一瞬间 TCNTn 的值清零然后又从 0 开始累加。 TCNTn 的值抵达另一个最高点时之前, OCnA 输出的电平一直保持上一次取反的结果, 也就是会一直保持高电平,直到达到 TCNTn 到达另一个最高点, OCnA 输出的电平就会再一次的取反, 变成低电平。以上的动作会一直持续,直到永远。在电平取反的过程,每一次 Period 方波的占空比都是 50% ,而且 Period 的决定就是我们要输出的频率。(后面会介绍)除此之外, TCNTn 的值是自动设置的, 而 OCnA|ICFn 的最大值是人为赋值,该赋值动作涉及到,比较输出模式和方波输产生模式位。 AVR 单片机学-- 基于慧净 HJ-2G AVR 开发板 CTC CTC CTC CTC 模式下有关的寄存器( ( ( ( 定时器 1 1 1 1 为例) ) ) ) 第一: T/C1 控制寄存器 A TCCR1A CTC 模式下仅针对后四位设置, 也就是 BIT4~BIT7 。设置的结果就是用来决定 CT C 比较输出的模式,浏览以下的表格: 当然,在试验中我们仅使用到第二种模式,就是当 OC1A/OC1B 比较匹配时电平就取反, 很显然换句话说就是, 你要 OCxA , 还是 OCxB 工作或者如何工作, 全部 1A0:1 , COM1B0:1 的设置。在试验当中老师是以两个引脚同时工作最为实例。所以... : TCCR1A=0x6* ; 注意: 当使用定时器 1 时, OCxA 也就是 OC1A 对应 PD5 引脚。 OCxB 也就是 OX1 B 分别对应 PD4 引脚。 AVR 单片机学-- 基于慧净 HJ-2G AVR 开发板第一: T/C1 控制寄存器 B TCCR1B 既然要进入 CT C 模式, 还要而外的强调 CT C 的波形产生模
avr ctc模式实验 来自淘豆网m.daumloan.com转载请标明出处.