智能车制作

标题: 求高手看看这段MC9S12DG128单片机的代码哪里错了 [打印本页]

作者: mc9s12dg单片机    时间: 2011-12-28 12:55
标题: 求高手看看这段MC9S12DG128单片机的代码哪里错了
运行的时候报错,就是在延时Delay设置那里报错、


下面是代码
uchar MA[]={0XC0,0XF9,0XA4,0Xb0,0X99,0X92,0X82,0XF8,0X80,0X90};
;
word AD_Value;
int g,s,b,q;

void main(void) {
  AD_Init();
  ;
  DDRB=0xFF;
  PORTB=0xFF;
  DDRP=0xFF;
  PTP=0xFF;
  DDRT=0xFF;
  PTT=0x0F;
   
  
  for(;;) {
  while(!ATD0STAT1_CCF0);
  AD_GetValue(&AD_Value);
  Dat_Deal(AD_Value);
  Display(q,b,s,g);
  Warn();
  
  }

}
void Delay(uint dly) {
  uint 1;
  for(;dly>0;dly--)
  for(i=0;i<500;i++);
}
void Display(int g1,int s1,int b1,int q1)
{
g1=g;
s1=s;
b1=b;
q1=q;
PTT=0xFE;
PTP=MA[q1];
Delay(20);
PTT=0xFC;
PTP=MA[b1];
Delay(20);
PTT=0xF8;
PTP=MA[s1];
Delay(20);
PTT=0xF0;
PTP=MA[g1];
Delay(20);
}
void AD_Init(void) {
ATD0CTL2=0xC0;
ATD0CTL3=0x20;
ATD0CTL4=0x83;


ATD0CTL5=0xA7;
ATD0DIEN=0x00;
}
void AD_GetValue(word*AD_Value) {
*AD_Value=atd0dr0;
}
void Dat_Deal(int DispValue) {
DispValue=30+((((90-30)/10)*AD_Value)/10);
;
q=DispValue/1000;
b=(DispValue-q*1000)/100;
s=(DispValue-q*1000-b*100)/10;
g=DispValue-q*1000-b*100-s*10;
}
void Warn(void) {
if(AD_Value>80)
      PORTB=0x00;
else
      PORTB=0xFF;
}




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2