📄 st7920.c
字号:
0xFF,0xFF,0xEA,0xAF,0xEB,0xFF,0xFF,0xF8,0x2F,0xC0,0x01,0x5F,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xC0,0x0F,0x80,0xD5,0xFF,0xF8,0x1F,0x3F,0xFE,0x3F,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFE,0xDF,0xE5,0x5D,0x40,0xAA,0xAA,0xBC,0xC0,0x01,0xCF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0x00,0xA0,0x14,0x14,0x00,0x00,0x00,0x2D,0xFC,0x01,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFE,0x5F,0x86,0x96,0x22,0x27,0x1C,0x43,0xFE,0x03,0xF6,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0x5F,0xBA,0x75,0xF6,0xDB,0xEB,0xDF,0xF0,0x00,0x79,0x7F,0xFF,0xFF,0xFF,
0x7F,0xFE,0x5F,0xBA,0xF6,0x76,0xDB,0x0C,0x8D,0x80,0x00,0x0D,0x7F,0xFF,0xFF,0xFF,
0x3F,0xFE,0x4F,0xBA,0xF7,0xB6,0xDA,0xEF,0x48,0x00,0x00,0x00,0xBF,0xFF,0xFF,0xFF,
0x1F,0xFF,0x20,0xBA,0x94,0x7A,0xDB,0x08,0xD8,0x17,0xFF,0x50,0xBF,0xFF,0xFF,0xFF,
0x7F,0xFF,0x1F,0xEF,0x9F,0xFF,0xFF,0xFF,0x80,0xBC,0x01,0xE8,0x5F,0xFF,0xFF,0xFF,
0xBF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x21,0xE0,0x00,0x3C,0x5F,0xFF,0xFF,0xFF,
0xFF,0xFF,0xD5,0x55,0x55,0x55,0x40,0x05,0x42,0x00,0x00,0x02,0x2F,0xFF,0xFF,0xFF,
0xFF,0xFA,0xFF,0xFF,0xFF,0xFF,0xD0,0x1D,0x8C,0x00,0x00,0x02,0x2F,0xFF,0xFF,0xFF,
0xFF,0xFA,0xFF,0xFF,0xFF,0xFF,0xD0,0x1F,0x18,0x00,0x00,0x01,0x2F,0xFF,0xFF,0xFF,
0xFF,0xE0,0x7F,0xFF,0xFF,0xFF,0xD0,0x17,0x28,0x0E,0x00,0x0F,0xAF,0xFF,0xFF,0xFF,
0xFF,0xC0,0x1F,0xFF,0xFF,0xFF,0xD0,0x1D,0x10,0x00,0x00,0x00,0x4F,0xFF,0xFF,0xFF,
0xFF,0xD0,0x3F,0xFF,0xFF,0xFF,0xED,0x6E,0x60,0x40,0x40,0x40,0xBF,0xFF,0xFF,0xFF,
0xFF,0xE0,0xBF,0xFF,0xFF,0xFF,0xF7,0xD6,0x20,0x40,0x40,0x40,0xBF,0xFF,0xFF,0xFF,
0xFF,0xFA,0x7F,0xFF,0xFF,0xFF,0xF8,0x3A,0x40,0x40,0x40,0x40,0xBF,0xFF,0xFF,0xFF,
0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x40,0x00,0x00,0x00,0xBF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xC0,0x7F,0x00,0x1F,0xBF,0xFF,0xFF,0xFF,
0xFF,0xBF,0xEF,0xDF,0xFF,0xFF,0xFF,0xFC,0x40,0xFF,0x80,0x3F,0x3F,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF3,0xC2,0x80,0xC0,0x63,0x3F,0xFF,0xFF,0xFF,
0xF7,0xFB,0xDF,0xFF,0xFF,0xFF,0xFF,0xC8,0x42,0x80,0x00,0x02,0x1F,0xFF,0xFF,0xFF,
0xBE,0x67,0xAA,0xFF,0xFF,0xFF,0xFF,0xA0,0x40,0x00,0x10,0x40,0x5F,0xFF,0xFF,0xFF,
0x7F,0xAE,0x85,0xFF,0xFF,0xFF,0xFF,0x6A,0xA0,0x00,0x3F,0xE0,0x5F,0xFF,0xFF,0xFF,
0xDF,0xCC,0x85,0xFF,0xFF,0xFF,0xFF,0x40,0x20,0x00,0x2F,0xA0,0x6F,0xFF,0xFF,0xFF,
0x39,0xE3,0x02,0x43,0xE7,0xFF,0xFE,0x80,0x10,0x00,0x2F,0xA0,0x77,0xFF,0xFF,0xFF,
0xF0,0xEE,0xA9,0x81,0xAF,0xFF,0xFD,0xCA,0xD3,0x00,0x2F,0xA3,0x6F,0xFF,0xFF,0xFF,
0xE0,0x6C,0x1B,0xC3,0xCF,0xFF,0xFD,0xA1,0xE3,0xE0,0x2F,0xBE,0x2F,0xFF,0xFF,0xFF,
0xF6,0xE8,0x1A,0xDB,0xEF,0xFF,0xFD,0xCB,0xE3,0xFF,0xF0,0x7F,0x5F,0xFF,0xFF,0xFF,
0x30,0x6D,0xB9,0xC3,0xE3,0x87,0xFD,0x81,0xC7,0xD5,0x7D,0x63,0x87,0xFF,0xFF,0xFF,
0x00,0x00,0x0B,0x43,0xEF,0x03,0xFD,0xE8,0x4F,0xFF,0xFF,0xF7,0xF7,0xFF,0xFF,0xFF,
0x00,0x00,0x00,0x00,0xEF,0xB7,0xFE,0xD5,0x3F,0xFF,0xFF,0xFE,0xEF,0xFF,0xFF,0xFF,
0x00,0x00,0x00,0x00,0x0B,0x87,0xFE,0xEA,0xB8,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x3D,0xE0,0x00,0x00,0x0D,0xBF,0xFF,0xFF,0xFF,
0x25,0x00,0x00,0x00,0x21,0x00,0x00,0x0F,0x3F,0xD5,0x55,0x7F,0xF7,0xFF,0xFF,0xFF,
0x48,0x4A,0x00,0x00,0x40,0x80,0x00,0x00,0x1E,0xFF,0xFF,0xF7,0x77,0xFF,0xFF,0xFF,
0x41,0x40,0x00,0x00,0x21,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xE7,0xFF,0xFF,0xFF,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xC0,0x00,0x1D,0x87,0xFF,0xFF,0xFF,
0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x00,0x0F,0x47,0xFF,0xFF,0xFF,
0x11,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,
0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,
0x08,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x11,0x07,0xFF,0xFF,0xFF,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x27,0xFF,0xFF,0xFF,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF
};
/**************************
画图函数
**************************/
void Draw_Pic(uint8_t x, uint8_t y,uint8_t *Draw)
{
uint8_t i, j, temp_x, temp_y;
temp_x = x;
temp_y = y;
temp_x |= 0x80;
temp_y |= 0x80;
send_command(0x36);
for(i=0;i<32;i++ )
{
send_command(temp_y++); //设置绘图区的Y地址坐标
send_command(temp_x); //设置绘图区的X地址坐标
for(j=0;j<16;j++)
{
send_data(*Draw);
Draw++;
}
}
temp_x = 0x88;
temp_y = 0x80;
j = 0;
for(;i<64;i++ )
{
send_command(temp_y++); //设置绘图区的Y地址坐标
send_command(temp_x); //设置绘图区的X地址坐标
for(j=0;j<16;j++)
{
send_data(*Draw);
Draw++;
}
}
}
/*****************************
画点 x=0:128; y=0:64;
*****************************/
void Sendint(uint dd)
{
send_data(dd>>8);
send_data(dd);
}
void Gra(uchar x,uchar y)
{
uchar xx,yy;
send_command(0x34);
send_command(0x36);
xx=x/16;
yy=63-y;
if(yy>=32){xx=xx+8;yy-=32;}
send_command(0x80+yy);
send_command(0x80+xx);
Sendint(0x8000>>(x%16));
}
/**************************************************
画线
**************************************************/
void Linexy(uchar x0,uchar y0,uchar xt,uchar yt)
{
register uchar t;
int xerr=0,yerr=0,delta_x,delta_y,distance;
int incx,incy,uRow,uCol;
delta_x = xt-x0; //计算坐标增量
delta_y = yt-y0;
uRow = x0;
uCol = y0;
if(delta_x>0) incx=1; //设置单步方向
else if( delta_x==0 ) incx=0; //垂直线
else {incx=-1;delta_x=-delta_x;}
if(delta_y>0) incy=1;
else if( delta_y==0 ) incy=0; //水平线
else {incy=-1;delta_y=-delta_y;}
if( delta_x > delta_y ) distance=delta_x; //选取基本增量坐标轴
else distance=delta_y;
for( t=0;t <= distance+1; t++ )
{ //画线输出
Gra(uRow,uCol); //画点
xerr += delta_x ;
yerr += delta_y ;
if( xerr > distance )
{
xerr-=distance;
uRow+=incx;
}
if( yerr > distance )
{
yerr-=distance;
uCol+=incy;
}
}
}
/************************************************/
/*画圆。数学方程(X-Ox)^2+(Y-Oy)^2=Rx^2 */
/************************************************/
void circle(uchar Ox,uchar Oy,uchar Rx)
{
unsigned int xx,rr,xt,yt,rs,row,col;
yt=Rx;
rr=Rx*Rx+1; //补偿 1 修正方形
rs=(yt+(yt>>1))>>1; //(*0.75)分开1/8圆弧来画
for (xt=0;xt<=rs;xt++)
{
xx=xt*xt;
while ((yt*yt)>(rr-xx))yt--;
row=Ox+xt; //第一象限
col=Oy-yt;
Gra(row,col);
row=Ox-xt; //第二象限
Gra(row,col);
col=Oy+yt; //第三象限
Gra(row,col);
row=Ox+xt; //第四象限
Gra(row,col);
/***************45度镜象画另一半***************/
row=Ox+yt; //第一象限
col=Oy-xt;
Gra(row,col);
row=Ox-yt; //第二象限
Gra(row,col);
col=Oy+xt; //第三象限
Gra(row,col);
row=Ox+yt; //第四象限
Gra(row,col);
}
}
void display()
{ uchar i;
/*lcd_clean() ;
Linexy(1,1,126,1);
Linexy(1,1,1,62);
Linexy(126,1,126,62);
Linexy(1,62,126,62);
circle(64,32,26);
*/
while(1)
{
lcd_clean() ;
disp_str(0,1,"动画图片演示");
Delay(6000);
Lcd_flash(10,2000);
LcmClearTXT();
disp_str(0,7,"无");
disp_str(1,7,"线");
disp_str(2,7,"电");
disp_str(3,7,"社");
Draw_Pic(0,0,my1) ; Delay(3000); Draw_Pic(0,0,my2) ; Delay(3000); Draw_Pic(0,0,my3) ; Delay(3000);
Draw_Pic(0,0,my4) ; Delay(3000); Draw_Pic(0,0,my5) ; Delay(3000);
//LcmClearTXT();
lcd_clean() ;
disp_str(0,0,"无线电社欢迎新同学的加入");
Delay(6000);
LcmClearTXT();
disp_str(0,0,"预祝无线电社招新满成功^_^");
disp_str(2,0,"www.ggradio.net");
Delay(6000);
LcmClearTXT();
disp_str(0,2,"绘图演示");
Delay(6000);
for(i=0;i<=30;i++)
circle(64,32,i);
Delay(3000);
Linexy(1,1,127,63); Linexy(1,63,127,1); Delay(6000);
lcd_clean() ;
disp_str(0,1,"广东工业大学");
disp_str(1,1,"材料与能源学院");
disp_str(2,2,"焦进星");
disp_str(3,0,"2007年10月14日");
Delay(6000);
Lcd_flash(10,1000);
Move(8,left,500);
}
}
main()
{
display();
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -