📄 szeda.c
字号:
#include<reg51.h>
#include<stdio.h>
#include<string.h>
#include<absacc.h>
#define uchar unsigned char
#define ulong unsigned long
#define PA XBYTE[0X2000]
char code tbuf[27]={"Welcome to use SanZhi dsps!"};
uchar code table1[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,
0x00,0x00,0xC0,0xFF,0x0F,0x00,0x00,0x00,0xC0,0x03,0xC0,0xFF,0x8F,0x02,0x00,0x00,
0xF0,0x0F,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,
0xFC,0x7F,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0xFC,0xFF,0x07,0xFF,0xFF,0xFF,0x01,0x00,
0xFC,0xFF,0xFD,0xFC,0xFF,0xFF,0x07,0x00,0xFC,0xFF,0xFD,0xFD,0xFF,0xFF,0x03,0x00,
0xFC,0x7F,0xFE,0xF1,0xFF,0xFF,0x07,0x00,0xFC,0xDF,0x2E,0xE0,0xFF,0xFF,0x3F,0x00,
0xFC,0x8F,0xD2,0xBF,0xFF,0xFF,0x3F,0x00,0xFC,0xEF,0xDA,0xFF,0xFF,0xFF,0x3F,0x00,
0xFC,0x07,0xF7,0x7F,0xFF,0xFF,0x7F,0x00,0xFC,0x47,0xF7,0x7F,0xFF,0xFF,0x7F,0x00,
0xF4,0x37,0xFD,0x7F,0xFC,0xFF,0x7F,0x00,0xF8,0x0F,0xF8,0x7F,0xFC,0xFF,0xFF,0x00,
0x00,0x00,0xFA,0xFF,0xFC,0xFF,0xFF,0x00,0x00,0x00,0xFC,0x3F,0xFC,0xFF,0xFF,0x00,
0x00,0x00,0xF6,0xA7,0xFF,0xF3,0x7F,0x00,0x00,0x00,0xF6,0xE3,0xFF,0xF3,0x7F,0x00,
0x00,0x00,0xC3,0xCD,0xFB,0xFF,0xFF,0x1F,0x00,0x00,0x0A,0xDF,0xFF,0xFF,0xFF,0x3F,
0x00,0x00,0x7F,0xCF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0xFF,0xDC,0xFF,0xFF,0xFF,0x3F,
0x00,0x00,0xFE,0xCD,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0xFC,0xCD,0xFF,0xFF,0xFF,0x3F,
0x00,0x00,0xFC,0xCF,0xF3,0xFF,0xFF,0x1F,0x00,0x00,0xFD,0xD3,0xFC,0xFF,0xFF,0x1F,
0x00,0x00,0xFD,0x13,0xFF,0xFF,0xFF,0x0F,0xF0,0x0B,0xFC,0x6F,0xFF,0xFF,0xFF,0x0F,
0xFC,0x07,0xFC,0xBF,0xFF,0xFF,0xFF,0x07,0xFC,0x07,0xFC,0x9F,0xFF,0xFF,0xFF,0x07,
0xFE,0x07,0xF9,0x9F,0xFF,0xFF,0xFF,0x01,0xFE,0xE7,0xFB,0xDF,0xFF,0xFF,0xFF,0x01,
0xFE,0xFF,0xFA,0xCF,0xFF,0xFF,0x7F,0x00,0xFE,0x9F,0xD2,0xE3,0xFF,0xFF,0x7F,0x00,
0xFE,0xFF,0x4C,0xF0,0xFF,0xFF,0x7F,0x00,0xFE,0xFF,0x00,0xFC,0xFF,0xFF,0x3F,0x00,
0xFE,0xFF,0x00,0xFC,0xFF,0xFF,0x3F,0x00,0xFE,0xF7,0xFF,0xFF,0xFF,0xFF,0x33,0x00,
0xFE,0xEF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xFE,0xDF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,
0xFC,0x23,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0xE0,0xFE,0xFF,0xFF,0xFF,0x3F,0x00,
0x00,0xE0,0xFE,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0xE0,0xFB,0xFF,0xF3,0xFF,0x3F,0x00,
0x00,0xE0,0x06,0x00,0xF5,0xFF,0x3F,0x00,0x00,0xF0,0x01,0x00,0xF8,0xFF,0x3F,0x00,
0x00,0xD0,0x01,0x00,0xFC,0xFF,0x1F,0x00,0x00,0xF0,0x01,0x00,0xFC,0xFF,0x07,0x00,
0x00,0xF0,0x01,0x00,0xFC,0xFF,0x07,0x00,0x00,0xE0,0x00,0x80,0xFF,0xFF,0x03,0x00,
0x00,0xE0,0x00,0xC0,0xFF,0xFF,0x03,0x00,0x00,0x80,0x07,0xF0,0xFF,0xFF,0x01,0x00,
0x00,0x00,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x1F,0x00,0x00,
0x00,0x00,0xFC,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x07,0x00,0x00,
0x00,0x00,0xC0,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0xFE,0x1F,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//;??????????: ??x??=64x64, ????: 64x64
};
void delay10ms(int count)
{int i,j,k;
for (i=0;i<count;i++)
for (j=0;j<10;j++)
for (k=0;k<120;k++);
}
void dicenga(void) /*??1????*/
{
while(ACC&0x80==0);
ACC=P0;
{ P2=0x00;
ACC=P0;}
}
void dicengb(void) /*??2?????*/
{ ACC=P0;
while(ACC&0x80==0);
{ P2=0x01;
ACC=P0;
}
}
void lcdwc1(uchar dat) /*??1?????*/
{
dicenga();
P2=0x04;
P0=dat;
}
void lcdwc2(uchar dat) /*??2???????*/
{
dicengb();
P2=0x05;
P0=dat;
}
void lcdwd1(uchar dat) /*??1??????*/
{
dicenga();
P2=0x06;
P0=dat;
}
void lcdwd2(uchar dat) /*??2??????*/
{
dicengb();
P2=0x07;
P0=dat;
}
void lcdreset(void) /*lcd reset */
{uchar dat;
dat=0x3f;
lcdwc1(dat);
lcdwc2(dat);
dat=0xc0;
lcdwc1(dat);
lcdwc2(dat);
}
void lcdwd(uchar dat,uchar ypos,uchar xpos) /* lcd write data*/
{
uchar bbb;
bbb=dat;
dat=xpos;
if(dat<64)
{
dat=bbb;
lcdwd1(dat);
}
else
{
dat=bbb;
lcdwd2(dat);
}
}
void lcdpos(uchar ypos,uchar xpos)
{
uchar bbb;
bbb=xpos;
if(bbb<64)
{
bbb=ypos;
bbb=bbb&0x07;
bbb=bbb+0x0B8;
lcdwc1(bbb);
bbb=xpos;
bbb=bbb&0x3f;
bbb=bbb+0x40;
lcdwc1(bbb);
}
else
{
bbb=ypos;
bbb=bbb&0x07;
bbb=bbb+0x0b8;
lcdwc2(bbb);
bbb=xpos;
bbb=bbb&0x3F;
bbb=bbb+0x40;
lcdwc2(bbb);
}
}
void lcdwrite(uchar dat,uchar ypos,uchar xpos)
{
lcdpos( ypos, xpos);
lcdwd(dat,ypos,xpos);
}
void lcdfill(uchar dat,uchar ypos,uchar xpos )
{
dat=0x0;
for(ypos=0;ypos<=7;ypos++)
{
for(xpos=0;xpos<0x81;xpos++)
{
lcdwrite(dat,ypos,xpos);
}
}
}
void rs232fill(uchar dat)
{ uchar ypos,xpos;
dat=0x0;
for(ypos=4;ypos<=7;ypos++)
{
for(xpos=0;xpos<=0x80;xpos++)
{
lcdwrite(dat,ypos,xpos);
}
}
}
void play()
{
uchar dat1,ypos,xpos;
ulong x;
x=0;
for(xpos=31;xpos<95;xpos++)
{
for(ypos=0;ypos<=7;ypos++)
{
dat1=table1[x];
lcdwrite(dat1,ypos,xpos);
x=x+1;
}
}
}
main(void)
{ char bdata flag;
uchar dat5,dat6,ddd;
ulong i;
lcdreset();
lcdfill();
play();
for (;;)
{} // ???? key5
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -