程序为什么不能正常显示
---------
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uint num;
uint i;
int a[]={0,0,0,0,0}; /*存储四位数据的每一位*/
int b[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,
0x7D,0x07,0x7F,0x6F}; /*0~9的字型码*/
int c[]={0x01,0x02,0x04,0x08}; /*控制四位数据显示位置的字位码*/
delay(uint x) /*延时时间*/
{
uint a,b;
for(a=x;a>0;a--)
for(b=200;b>0;b--);
}
void display(int x,uint i) /*显示程序*/
{
P2=c[i]; /*P2口送字位*/
P0=b[a[i]]; /*P1口送字型*/
delay(5); /*延时*/
}
void main()
{
delay(1);
a[0]=num/1000; /*将最高位取出*/
a[1]=num%1000/100; /*将百位取出 */
a[2]=num%1000%100/10; /*十位取出*/
a[3]=num%1000%100%10; /*个位取出 */
while(1)
{
for(i=0;i<4;i++) /*四次循环取数组存放的四位数据*/
display(a[i],i); /*调用显示子函数*/
}
} |