求C语言大师进来指点。
文件名 : 数码管显示.c* 描述 : 该程序为数码管静态显示程序。
两位数码管进行自加显示
*********************************
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
//数码管的段码编码
uchar table[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
/*****************************************
名称 : Delay_1ms()
* 功能 : 延时子程序,延时时间为 1ms * x
* 输入 : x (延时一毫秒的个数)
* 输出 : 无
*********************************************
void Delay_1ms(uint i)//1ms延时
{
uchar x,j;
for(j=0;j<i;j++)
for(x=0;x<=148;x++);
}
/*********************************
名称 : Main()
* 功能 : 主函数
* 输入 : 无
* 输出 : 无
*********************************
void main()
{
uint i = 0,j;
while(1)
{
for(j=0;j<100;j++)
{
P0 = 0; //消隐
P2 = 6; //第6位数码管显示
P0 = table[(i / 10)%10]; //在这里取 i 的个位数
Delay_1ms(3); //延时3毫秒后显示下一个数
P0 = 0; //消隐
P2 = 7; //第7位数码管显示
P0 = table[i % 10]; //在这里取 i 的个位数
Delay_1ms(3); //延时3毫秒后显示下一个数
}
i++;
}
}
主程序里面的for循环看不懂 不知道这个出程序是怎么一步一步执行的。。谁能告诉一下。