📄 fn_football.c
字号:
/****************************************************
作者:eleclike
时间:2007-10-10
功能:LCD1602显示小人踢足球的画面
****************************************************/
#include <reg52.h>
#include "my52.h"
#include "Lcd1602.h"
static const uchar code CharData[8][8]
={{0x01,0x02,0x04,0x05,0x04,0x04,0x03,0x01},//1 左脑
{0x10,0x8,0x04,0x14,0x4,0x4,0x18,0x10},//2 右脑
{0x03,0x5,0x0a,0x02,0x04,0x08,0x10,0x10},//3 左脚直步
{0x18,0x14,0x12,0x8,0x04,0x04,0x08,0x10},//4 右脚弯步
{0x18,0x14,0x12,0x08,0x04,0x02,0x01,0x01},//5 右脚直步
{0x03,0x05,0x09,0x02,0x04,0x04,0x02,0x01},//6 左脚弯步
{0x00,0x00,0x00,0x0e,0x11,0x11,0x0e,0x00},//7 足球空中
{0x00,0x00,0x00,0x00,0x0e,0x11,0x11,0x0e},//8 足球着地
};//用户自编码字符,用于表示图形
void WriteLcdCGRAM();
main()
{
InitialLcd();
WriteLcdCGRAM();
while(1)
{uchar i=0;
for(;i<15;)//从左向右移动
{WriteLcdInstr(1);
WriteLcdInstr(0x80+i);
WriteLcdData(0);
WriteLcdData(1);
WriteLcdInstr(0xc0+i);
WriteLcdData(2);
WriteLcdData(3);
WriteLcdData(6);
Delay(25000);
i++;
WriteLcdInstr(1);
WriteLcdInstr(0x80+i);
WriteLcdData(0);
WriteLcdData(1);
WriteLcdInstr(0xc0+i);
WriteLcdData(5);
WriteLcdData(4);
WriteLcdData(7);
Delay(25000);
i++;
}
for(;i>0;)//从右向左移动
{WriteLcdInstr(1);
WriteLcdInstr(0x80+i);
WriteLcdData(' ');
WriteLcdData(0);
WriteLcdData(1);
WriteLcdInstr(0xc0+i);
WriteLcdData(6);
WriteLcdData(2);
WriteLcdData(3);
Delay(25000);
i--;
WriteLcdInstr(1);
WriteLcdInstr(0x80+i);
WriteLcdData(' ');
WriteLcdData(0);
WriteLcdData(1);
WriteLcdInstr(0xc0+i);
WriteLcdData(7);
WriteLcdData(5);
WriteLcdData(4);
Delay(25000);
i--;
}
}
}
//---写CGRAM函数
void WriteLcdCGRAM()
{uchar i,j;
for(j=0;j<8;j++)
{for(i=0;i<8;i++)
{WriteLcdInstr(0x40+8*j+i);
WriteLcdData(CharData[j][i]);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -