智能车制作
标题:
求高手看看这段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