智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1574|回复: 0
打印 上一主题 下一主题

求高手看看这段MC9S12DG128单片机的代码哪里错了

[复制链接]

3

主题

7

帖子

0

精华

注册会员

Rank: 2

积分
183
威望
150
贡献
33
兑换币
0
注册时间
2011-12-28
在线时间
0 小时
跳转到指定楼层
1#
发表于 2011-12-28 12:35:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
运行的时候报错,就是在延时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;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-27 20:42 , Processed in 0.044565 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表