//按键控制数码管计数
#include <REGX52.H>
#include "intrins.h"
#define uint unsigned int
#define uchar unsigned char
code uchar tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
sbit key = P3^2;
sbit key_0 = P3^7;
sbit wei1 = P3^0;
sbit wei2 = P3^1;
void delay(uint de)
{
uint i,j;
while(de--)
{
for(i = 0;i<de;i++)
for(j = 0;j<200;j++);
}
}
int num;
void main()
{
EA=1;
EX0=1;
IT0=1;//下降沿触发
num = 0;
while(1)
{
if(key_0 == 0)
num = 0;
wei1 = 0;//控制P30 1111 1110
P2 = tab[num];
delay(1);
P2 = 0X00;
wei1 = 1;
// wei2 = 0;//控制P31 1111 1101
// P2 = tab[num];
// delay(1);
// P2 = 0X00;
// wei2 = 1;
}
}
void INT0_SMG(void) interrupt 0
{
num++;
if(num == 10)
num =0;
}