#include <reg51.h>
unsigned char code SEG_CODE[lbk]10[rbk] = { 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
sbit KEY1 = P2^0;
sbit KEY2 = P2^1;
sbit KEY3 = P2^2;
sbit LED = P1^0;
unsigned char digit = 0;
void delay(unsigned int time) { unsigned int i, j; for (i = 0; i < time; i++) { for (j = 0; j < 123; j++); }}
bit key_scan(sbit key) { if (key == 0) { delay(20); if (key == 0) { while (key == 0); return 1; } } return 0;}
void main()
{ while (1) {
if (key_scan(KEY1)) { LED = !LED; }
if (key_scan(KEY2)) {
if (digit < 9) { digit++; }
P0 = SEG_CODE[lbk]digit[rbk];
}
if (key_scan(KEY3)) {
if (digit > 0) { digit--; }
P0 = SEG_CODE[lbk]digit[rbk]; }
}}

unsigned char code SEG_CODE[lbk]10[rbk] = { 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
sbit KEY1 = P2^0;
sbit KEY2 = P2^1;
sbit KEY3 = P2^2;
sbit LED = P1^0;
unsigned char digit = 0;
void delay(unsigned int time) { unsigned int i, j; for (i = 0; i < time; i++) { for (j = 0; j < 123; j++); }}
bit key_scan(sbit key) { if (key == 0) { delay(20); if (key == 0) { while (key == 0); return 1; } } return 0;}
void main()
{ while (1) {
if (key_scan(KEY1)) { LED = !LED; }
if (key_scan(KEY2)) {
if (digit < 9) { digit++; }
P0 = SEG_CODE[lbk]digit[rbk];
}
if (key_scan(KEY3)) {
if (digit > 0) { digit--; }
P0 = SEG_CODE[lbk]digit[rbk]; }
}}
