Board logo

标题: [求助]关于ETC中OC7M/OC7D的用法 [打印本页]

作者: dragonhux    时间: 2007-8-1 14:30     标题: [求助]关于ETC中OC7M/OC7D的用法

我是初次接触9S12系列的MCU,
对于Enhanced Capture Timer中关于
OC7M/OC7D寄存器的定义,始终没有弄懂,

这两个寄存器到底是起什么作用?
A channel 7 output compare
未必是说,这两个寄存器是专门应用通道7的输出?

best regards!
作者: dragonhux    时间: 2007-8-2 15:30

我自己来理解一下对于这两位的含义,也给大家留一点经验:

OC7M:
Output Compare Mask Action for Channel 7:0
0 The corresponding OC7Dx bit in the output compare 7 data register will not be transferred to the timer port on
a successful channel 7 output compare, even if the corresponding pin is setup for output compare.
1 The corresponding OC7Dx bit in the output compare 7 data register will be transferred to the timer port on a
successful channel 7 output compare.
Note: The corresponding channel must also be setup for output compare (IOSx = 1) for data to be transferred
from the output compare 7 data register to the timer port.

其9S12的中ETC的Channel7的TC7用法比较特殊,
另外的TC0~6的Count可以与TC7进行比较,这样所有的TC0~6的输出频率
都统一到TC7确定的频率下,而TC0~TC6所输入的数值则代表
高/低电平的占空比。
从而实现PWM可能。

给你一段例子,肯定会对你有帮助
//下面为输出比较的初始化设置。
/* 因为总线频率为25M,所以下面的配置频率为(25M/5000)Hz
其中TC4输出波形频率为5K,波形近似方波
TC5输出频率也为5K,波形低电平很窄
TC6输出频率也为5K,波形高电平很窄

但如果去掉OC7M的配置,即OC7M=0,则所有通道的输出波形均一样,
其频率均为2.5K,波形为方波。这因为此时没有执行输出比较功能,
波形只是在计数到TC7时溢出,溢出时波形反转*/
TIOS=0xf0;
TSCR1=0x80;
TTOV=0xf0;
TCTL1=0x55;

TC4=2500;
TC5=200;TC6=4500;TC7=5000;
TSCR2=0x08;
OC7M=0xf0;

这是nishui_2000给的例子,thx
作者: lanshh    时间: 2010-5-10 13:16

谢谢啦
有用




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0