#include<reg52.h>
typedef unsigned char u8;
typedef unsigned int u16;
sbit beep=P3^7;//蜂鳴器
u8 h[][8]={{0x00,0x70,0x78,0x3c,0x1e,0x3c,0x78,0x70},
{0x00,0xe0,0xf0,0x78,0x3c,0x78,0xf0,0xe0}}; //愛心
u8 l[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//列掃描
u8 k;
void time0init() //定時器0初始化
{
TMOD=0X01;
TH0=0Xfc;
TL0=0X18; //1ms
TR0=1;
EA=1;
ET0=1;
}
void main()
{
time0init();
while(1);
}
void time0() interrupt 1
{
static u16 i,j;
TH0=0Xfc;
TL0=0X18; //1ms
i++;
if(i==800) //模仿心臟跳動頻率
{
i=0;
k++;
if(k==2)k=0;
beep=~beep;
}
P0=h[k][j];
P2=l[j];
j++;
if(j==8)j=0;
}
|