文档库 最新最全的文档下载
当前位置:文档库 › 51单片机数码管显示程序(按键控制显示数据)

51单片机数码管显示程序(按键控制显示数据)

#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90 };
sbit key=P3^3;
uint num;

void delay(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}

void key_scan()
{
if(key==0)
{
delay(1);
if(key==0)
{
while(!key);
num++;
if(num>9999)
num=0;
}
}
}
void main()
{
while(1)
{
key_scan();

P0=0xfe; //位选P0^0=0,选中第一个数码管,其阳极与Vcc相通
P1=table[num/1000]; //送数码管上要显示的数据
delay(1); //延时点亮数码管

P0=0xfd;
P1=table[num%1000/100];
delay(1);

P0=0xfb;
P1=table[num%100/10];
delay(1);

P0=0xf7;
P1=table[num%10];
delay(1);
}
}

/*
数码管显示过程:位选确定哪个管子显示、段选确定在数码管上显示什么。依次点亮各个数码管从而达到动态显示

通过按键改变显示内容。
*/

相关文档
相关文档 最新文档