1、静态
/*
#include <reg52.h>
unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};
void delayms(int ms)
{
int i,j;
for(i=ms;i>0;i--)
for(j=845;j>0;j--);
}
void main()
{
int i;
P2=0xa0;P0=0x00;P2=0xc0;P0=0xff;P2=0xff;
while(1)
{
for(i=0;i<12;i++)
{
P0 = tab[i];
delayms(1000);
}
}
}
*/
/*系统上电之后数码管显示0,按下S4用定时器以间隔500ms在数码管上依次显示0,1,2,3,……,C,D,E,F,重复。
按下S5用定时器以间隔1s在数码管上依次显示0,1,2,3,……,A,b,C,d,E,F,重复。
按下S6用定时器以间隔2s在数码管上依次显示0,1,2,3,……,C,D,E,F,重复。
按下S7用定时器以间隔5s在数码管上依次显示0,1,2,3,……,A,b,C,d,E,F,重复。*/
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sfr AUXR = 0x8e;
sbit s7 = P3^0;
sbit s6 = P3^1;
sbit s5 = P3^2;
sbit s4 =