|
#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;
}
}
}
|
|