#include<reg52.h>  //包含52系列单片机头文件
sbit dula=P2^6;    //U1锁存器的锁存端位定义
sbit wela=P2^7;    //U2锁存器的锁存端位定义
unsigned char table []={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,
                        0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};  //数码管真值表编码
void main()
{
    P0=0xfe;     //P0口给数码管送入位选信号
    wela=1;      //打开U2锁存端，让0Xfe通过
    wela=0;      //关闭U2锁存端，使0Xfe保持在U2输出端上,作为数码管位选

    P0=table[0] ;  //中括号中的0表示数组table中的第一个元素0x3f
    dula=1;      //打开U1锁存端，让0X3f通过
    dula=0;	    //关闭U1锁存端，使0X3f保持在U1输出端上,提供给数码管段选
    while(1);	    //程序在这停下来
}