#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit beep=P3^5;
uchar i;
uchar code table1[]={
0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f,};
uchar code table[]= {
0x02 , 0x9F, 0x25, 0x0D , 0x99 ,
0x49 , 0x40, 0x1F, 0x00, 0x08,
0x10, 0xC0, 0x62, 0x84, 0X60, 0x70
} ;
uchar num;
uint m;
void delay(uint z);
void main()
{
EA=1;
EX0=1;
IT0=1;
EX1=1;
IT1=1;
while(1)
{
// EA=1;
// EX0=1;
// IT0=1;
// EX1=1;
// IT1=1;
for(num=0;num<8;num++)
{
delay(50) ;
P2=0X00;
P0=table1[num];
}
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void enter0()interrupt 0 //第一个中断无源蜂鸣器响,无源蜂鸣器响要给响,需要不停给高低电平。
{
while(1)
{ P0=0X11;
for(i=100;i>0;i--)
beep=~beep;
}
}
void enter1()interrupt 2 第二个中断是数码管从0到F闪烁。
{
while(1)
{
for(i=0;i<17;i++)
{
P2=0XFF;
P0=table[i] ;
delay(200) ;
}
}
}
注释: P0是控制LED, P2控制数码管。
温馨提示:内容为网友见解,仅供参考