智能车制作
标题:
XS128输出比较(OC)的简单例子
[打印本页]
作者:
librae8226
时间:
2009-11-13 20:01
标题:
XS128输出比较(OC)的简单例子
今天一下午测试XS128的定时器模块,包括IOC和PIT,感觉飞思这个系列的定时器做得用起来有些不方便,Reference Manuel里说得也不是太清楚,尤其是输出比较的用法,在论坛里逛了一大圈也没明白……后来调通了这里贴出我的代码供初学者参考。
#include <hidef.h> /* common defines and macros */
#include <MC9S12XS128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"
#pragma CODE_SEG __NEAR_SEG NON_BANKED
unsigned int counter;
void interrupt 8 Compare_ISR(void)
{
if( counter == 50000 ) //Although enormous,PORTB flashes very fast at 16MHz
{
PORTB = ~PORTB; // Toggle PORTB Every 50000 times
counter = 0;
}
counter += 1;
TFLG1 = 0x01; // Clear T0 interrupt flag
}
void SetBusCLK(void) /* 16MHz */
{
CLKSEL = 0x00; /* disengage PLL to system */
PLLCTL_PLLON = 1; /* turn on PLL */
SYNR = 0x01;
REFDV = 0x81;
POSTDIV = 0x00;
_asm(nop); /* BUS CLOCK=80M */
_asm(nop);
while( !(CRGFLG_LOCK == 1) ); /* when pll is steady ,then use it */
CLKSEL_PLLSEL =1; /* engage PLL to system */
}
void OutputCompare_Init(void)
{
TIE = 0x00; /* Disable all channel interrupt */
TIOS = 0x01; /* channel 0 set to Output Compare */
TSCR1 = 0x90; /* Enable Timer; */
/* Timer interrupt flag can be cleared(channel 0) */
TSCR2 = 0x07; /* Prescale Factor = 128 */
TC0 = 0xFF00;
TIE = 0x01; /* Enable channel 0 interrupt */
}
void Port_Init(void)
{
DDRB = 0xFF;
PORTB = 0xFF;
}
void main(void)
{
/* put your own code here */
DisableInterrupts;
SetBusCLK();
Port_Init();
OutputCompare_Init();
counter = 0;
EnableInterrupts;
for(;;)
{
_FEED_COP();
}
/* wait forever */
/* please make sure that you never leave this function */
}
作者:
zdhly0401
时间:
2009-11-14 10:36
回复
1#
librae8226
感谢与大家分享
作者:
luson1321
时间:
2010-4-17 21:26
谢谢了
作者:
huachou
时间:
2010-4-18 14:31
谢谢了 我搞了几天了
作者:
huachou
时间:
2010-4-18 14:55
大概看了一下 还是有的不明白啊
作者:
kechenwei
时间:
2010-4-18 15:28
看看,学学!
作者:
bdc90
时间:
2011-8-26 14:28
这个就不太清楚了,还没这样用过
作者:
qaabq
时间:
2011-8-29 19:52
千千
作者:
woolf
时间:
2011-10-7 22:05
飞思卡尔控制完整程序
作者:
李帅李帅
时间:
2012-2-29 16:34
谢谢
作者:
zp健忘
时间:
2012-4-13 19:48
呵呵……谢谢分享啊!
作者:
静静娃的秃头
时间:
2012-4-25 22:34
是什么与tc0寄存器比较
作者:
qq群
时间:
2012-12-2 21:38
作者:
sidly
时间:
2012-12-4 21:00
thank you
作者:
ybcqujx
时间:
2012-12-9 16:35
谢谢分享,看下。
作者:
亮亮up
时间:
2012-12-27 18:08
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2