Board logo

标题: 请教:关于S12的输出比较 [打印本页]

作者: zy20803118    时间: 2009-6-12 19:52     标题: 请教:关于S12的输出比较

请教一下:S12单片机的输出比较功能怎样才能输出方波信号啊?方波的频率和占空比怎么设定呢?

谢谢


作者: hejianqian    时间: 2009-6-15 15:28

初始化

void Init1(void)
{
TIOS=1; //设定CH0为输出比较
TSCR1=0x80;//TIME ENABLE
TSCR2=0x87;//时钟中断使能,选定与分频系数为128
TCTL2=0x01;//设定引脚的动作为跳变
TC0=0x5555;//触发时机
TIE=1; //允许中断
}

中断函数

interrupt void CH0_ISR(void)
{
TFLG1=0x01; //clear ch0 interrupt flag
if(TC0==0x5555)
TC0=0xffff;
else
TC0=0x5555;
}

占空比为2/3...因为0x5555/0xffff=1/3,也就是说在TC0=0x5555和TC0=0xffff时都会发生跳变,这里的值可以随意设定,输出的占空比就会变化.


作者: zy20803118    时间: 2009-6-17 19:46

谢谢谢谢,懂了!
作者: ieyyyq    时间: 2011-4-5 18:38

这里面一定要开中断吗?
不是只要设定好输出比较时成功的动作和设置TTOV = 0x01不就可以了吗?
这样子在输出比较成功时电平翻转一次,在定时器溢出时再翻转一次不行吗?
作者: ieyyyq    时间: 2011-4-10 07:47

这里面不用开中断就可以实现方波输出,只要设定好输出比较的动作为翻转。
通过设定输出比较定时器值来控制占空比,设定定时器预分频来控制周期。




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