智能车制作
标题:
一段简单的程序求教~!本人菜鸟……求解~万分感谢!
[打印本页]
作者:
napoleon90
时间:
2010-8-16 20:14
标题:
一段简单的程序求教~!本人菜鸟……求解~万分感谢!
#include <hidef.h> /* common defines and macros */
#include "derivative.h" /* derivative-specific definitions */
#include<mc9s12dg128.h>
#define EnableInterrupt asm("cli") //开中断
#define disableInterrupt asm("sei") //关中断
int count,m;
const char Dtable[10] =
// 0 1 2 3 4 5 6 7 8 9
{0xC0,0xF9,0xA4,0xB0,0x99, 0x92,0x82,0xF8,0x80,0x90};
//片选表
void timerint()
{
TSCR1=0x80;
TSCR2=0x05; //分频p=32 则中断一次为1/23秒
}
void LEDInit(void)
{
DDRA = 0xFF; //数据口为输出
DDRP= 0x00; //位选口为输入
}
void mcuint()
{
DisableInterrupts;
CLKSEL_PLLSEL=0;
PLLCTL_PLLON=0;
SYNR=0X02;
REFDV=0X01;
PLLCTL_PLLON=1;
while((CRGFLG&0X08)==0X00);
CLKSEL_PLLSEL=1; //fbus=48mhz
EnableInterrupts;
}
__interrupt void isr(void)
{
DisableInterrupts;
count++;
if(count==23)
{
LEDshow(m++);
delay(500);
count=0;
if(m==9)
{
m=0;
delay(20);
LEDshow(m);
delay(100);
}
}
TFLG2=0x80;
EnableInterrupts;
}
void delay(int i)
{
int j;
for(j=0;j<500;j++)
while(i--);
}
void LEDshow(int b)
{
PORTA=Dtable
;
}
void main(void) {
DisableInterrupts;
mcuinit();
LEDInit();
timerint() ;
TSCR2 |= 0x80;
count=0;
m=0;
EnableInterrupts;
for(;;);
}
[attach]3040[/attach]
求大神指点……
作者:
lim1t
时间:
2010-8-16 21:15
杭电现在就开始培养新人了……
作者:
zdhly0401
时间:
2010-8-16 21:26
#define EnableInterrupt asm("cli") //开中断
#define disableInterrupt asm("sei") //关中断
DisableInterrupts;
EnableInterrupts;
还有可能是中断向量没申明吧
作者:
zb0002010
时间:
2010-8-18 16:19
水平不高,只看出来,你的总线频率应该是24MHZ,锁相环频率应该是48MHZ
作者:
napoleon90
时间:
2010-8-26 20:48
本帖最后由 napoleon90 于 2010-8-26 20:50 编辑
回复
3#
zdhly0401
超版果然强~
我的中断向量没声明……
膜拜下!!
谢谢~!
作者:
napoleon90
时间:
2010-8-26 20:49
回复
2#
lim1t
偶不是……只是随便学学~
那些强的人都很强了……估计这种白痴问题不会有……
作者:
chiusir
时间:
2010-8-27 21:26
你们都很优秀啊!
作者:
t1459704448
时间:
2011-2-28 20:02
牛人啊
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2