//135数码管从0到f间隔1s然后246数码管从0到f间隔1s显示,如此循环
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit wela=P2^7; //位选控制端口
sbit dula=P2^6; //段选控制端口
uchar code number[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//数字编码从1到f
void delay(uint x); //延时函数声明
void main() //主函数
{
while(1)
{
int i,j;
wela=1;
P0=0xea; //135管亮
wela=0;
for(i=0;i<=15;i++) //0-f循环
{
dula=1;
P0=number[i];
dula=0;
delay(100);
}
wela=1;
P0=0xd5; //246管亮
wela=0;
for(j=0;j<=15;j++) //0-f循环
{
dula=1;
P0=number[j];
dula=0;
delay(100);
}
}
}
void delay(uint x)
{ //延时函数
int i,j;
for(i=0;i<x;i++)
for(j=0;j<=1000;j++) ;
}