*****************修改后的代码,感谢RC5的指点,已经简洁多了******************
#include <iom48v.h>
#include <macros.h>
#include "delay.h" /*拿来主义的延时函数*/
#include "led_dis.h" /*LED数码管断码表*/
#define Led_a 0b11111110
#define Led_b 0b11111101
#define Led_M 0b11111111
void main (void)
{
DDRC=0xFF;
DDRB=0xFF;
DDRD=0xFF;
PORTC=0xFF;
PORTB=0xFF;
PORTD=0xFF;
while(1)
{
unsigned char Counter;
int a=0,b=0,c=0;
for (Counter=10;c<10000;Counter=c++/100) /*这两个参数决定了计数器的递增频率与总循环数*/
{
a=Counter/10;
PORTD=DisTab[a];
PORTB=Led_a; /*点亮十位数码管*/
Delay_ms(5);
b=Counter%10;
PORTD=DisTab[b];
PORTB=Led_b; /*点亮个位数码管*/
Delay_ms(5);
PORTB=Led_M; /*关闭所有的数码管*/
}
}
}
************************分割线*********************************
有个问题,就是根据您的建议,我想将循环变量 Counter ,a,b,c 放进初始化表达式中却总是失败,但只放Counter就没问题,是否for函数的初始化表达式只允许放一个变量呢?不解……试了好几次了。