一,项目操作前准备工作
1.硬件部分:一个两位数数码管,杜邦线若干,按键两个,51单片机一个 (数码管的连接请看小编的上一个文章)
按键的使用:按键有四个引脚两个长引脚导通,两个短引脚之间默认不导通
2.软件部分:代码编写KEIL4 仿真protues
代码如下:
#include <reg52.h> //包含51头文件
#include <intrins.h> //包含移位标准库函数头文件
#define uint unsigned int
#define uchar unsigned char
sbit key0=P3^2;
sbit key1=P3^3;
uint m = 0,i = 1,j,ge,shi,temp = 0,coun = 0;//LED灯相关变量
uchar code table[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共阳极数码管
//毫秒级函数
void delay( uint z)
{
uint x,y;
for(x = z; x > 0; x--)
for(y = 114; y > 0 ; y--);
}
uchar key()
{
if(key0 ==0)//按键被按下
{
m++;
}
if(key1 ==0)//按键被按下
{
if( m != 0)
m--;
else
m=0;
}
return m;
}
void xianshi( )
{
m = key();
shi = m / 10; //计算十位的值
ge = m % 10;
for(j = 0;j < 20;j++){ //延长显示的时间
P1=0x02; //显示十位的值
P2=table[shi];
delay (10);
P1=0x01; //显示个位的值
P2=table[ge];
delay (10);
}
}
void main ()
{
while(1){
xianshi();
}
}