标题: 51单片机跳动的心,可以尝试一下 [打印本页]

作者: Yyc53    时间: 2017-12-20 22:34
标题: 51单片机跳动的心,可以尝试一下
/* P0控制行  8*8从上到下控制行的是P0.7.....P0.0 高电平亮
P2控制列          8*8点阵从左至右控制列的是P2.7,P2.6...P2.0 高电平灭  */

#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;
}

接线图.JPG (89.22 KB, 下载次数: 32)

接线图.JPG





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1