#include <reg52.h>
#include <intrins.h>
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //0-9的数码管的段码值
unsigned char Second; //定义秒钟变量
//延时子程序
void delay(void) //误差0 us
{
unsigned char a,b,c;
for(c=167;c>0;c--)
for(b=171;b>0;b--)
for(a=16;a>0;a--);
_nop_; //if Keil,require use intrins.h
}
//主程序
void main(void)
{
Second=0; //初始化秒钟变量
P0=table[Second/10]; //P0口为秒钟的十位的段码值
P2=table[Second%10]; //P2口为秒钟的个位的段码值
while(1)
{
delay(); //调用延时子程序
Second++; //秒钟加1
if(Second==60) //秒钟为60时,重新初始化
{
Second=0;
}
P0=table[Second/10];
P2=table[Second%10];
}
}