| 
 | 
 
 
 
#include <reg52.h> 
#include <stdio.h> 
 
sbit p11=P1^1; 
sbit p12=P1^2; 
unsigned char data discode[11]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09};//共阴串行 
unsigned char leddis[6]={1,2,3,4,5,6};//显存,有几个数码管可以定义几个 
 
void display(void)  //数码管显示函数 
{ 
    unsigned char count;//数码管个数 
 
    for (count=6;count>0;count--) 
    { 
        SBUF=discode[leddis[count-1]]; 
        while(TI==0); 
        TI=0; 
    } 
}     
void main() 
{ 
        SCON=0x00;        //设定UART的工作方式为MODEO 
                leddis[0]=1;        //显示内容的初始化 
                leddis[1]=2; 
                   leddis[2]=3; 
                   leddis[3]=4; 
        leddis[4]=5; 
        leddis[5]=6; 
                display();        //        显示函数 
 
                while(1) 
                { 
                        if(p11==0)        //键P11被按下,显示2008 
                        { 
                leddis[0]=1;        //显示内容的初始化 
                leddis[1]=2; 
                   leddis[2]=3; 
                   leddis[3]=4; 
                leddis[4]=5; 
                leddis[5]=6; 
                        display(); 
                        p11=1; 
                        } 
                        if(p12==0)        //键P12被按下,显示0808 
                        { 
                leddis[0]=9;        //显示内容的初始化 
                leddis[1]=8; 
                   leddis[2]=7; 
                   leddis[3]=6; 
                leddis[4]=5; 
                leddis[5]=4; 
                        display(); 
                        p12=1; 
                        }                 
                }                 
} 
 
 
 
 |   
 
 
 
 |