📄 12864.txt
字号:
#include<avr/io.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char zk[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
0xFF,0x00,0x00,0x00,0x00,0xFF,0x41,0x41,0x41,0x41,0x41,0x41,0x00,0x00,0xFF,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x3F,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x38,
0x30,0x30,0x20,0x30,0x30,0x3C,0x1F,0x00,0x00,0x00,0x1F,0x38,0x30,0x30,0x20,0x30,
0x30,0x3C,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xE0,0xF0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0xE0,0x20,
0x00,0x00,0x00,0x00,0x80,0x80,0x80,0xB0,0xE0,0x80,0x80,0xC0,0xC0,0xC0,0x80,0x80,
0xC0,0x60,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0xB0,0xE0,0xE0,
0x80,0x80,0x80,0x80,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0xC0,
0x00,0x00,0x00,0xF0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,
0x80,0x80,0x80,0xA0,0xE0,0xC0,0x80,0x80,0x80,0x80,0xC0,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x30,0x18,0x0E,0xFF,0x13,0x98,0xD9,0xFB,0x87,0x87,0xFF,0x02,0x00,0x00,0xFF,0x00,
0x00,0x00,0x00,0x00,0x58,0xD9,0xDA,0xDE,0xF8,0xEF,0xEF,0x6C,0xEC,0xFF,0x08,0x0C,
0xFC,0x0C,0x0C,0x0C,0x00,0x00,0x00,0x00,0x8F,0x87,0x81,0xB5,0xE5,0xED,0x81,0xF1,
0xBF,0xC1,0xC1,0xC6,0xC3,0xC0,0x80,0x00,0x00,0x00,0x00,0x79,0x5F,0x41,0x7F,0xE3,
0x30,0xDC,0x17,0xF9,0x99,0x9B,0xEE,0x18,0x10,0x10,0x00,0x00,0x00,0x00,0x03,0x27,
0x36,0x3E,0x3E,0x76,0xF2,0x52,0x9A,0x9A,0xB3,0x33,0x01,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0F,0x0C,0x09,0x0B,0x0C,0x0F,0x00,0x01,0x08,0x18,0x30,0x7F,0x00,
0x00,0x00,0x00,0x00,0x08,0x06,0x0B,0x19,0x3F,0x00,0x31,0x1F,0x07,0x01,0x00,0x10,
0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x21,0x31,0x11,0x19,0x0D,0x06,0x03,0x03,
0x06,0x0C,0x0C,0x18,0x38,0x00,0x00,0x00,0x00,0x02,0x02,0x03,0x19,0x31,0x3F,0x07,
0x10,0x13,0x13,0x11,0x19,0x1F,0x19,0x18,0x18,0x00,0x00,0x00,0x00,0x10,0x10,0x1B,
0x1B,0x1B,0x19,0x19,0x1F,0x19,0x19,0x09,0x09,0x08,0x08,0x08,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
void delay(unsigned long v)
{
while(v!=0)
v--;
}
void lcd_busy(void)
{
PORTD&=~(1<<6);//RS=0
PORTD|=(1<<7);//RW=1
PORTC=0xff;
while(1)
{
PORTD|=(1<<8);//EN=1
if(PORTC<0x80) break;
PORTD&=~(1<<8);//EN=0
}
PORTD&=~(1<<8);
}
void wcode(uchar c,uchar csl,uchar csr)
{
PORTA|=(csl<<8);//CS1
PORTA|=(csr<<7);//CS2
lcd_busy();
PORTD&=~(1<<6);//RS=0
PORTD&=~(1<<7);//RW=0
PORTC=c;
PORTD|=(1<<8);//EN=1
PORTD&=~(1<<8);//EN=0
}
void wdata(uchar c,uchar csl,uchar csr)
{
PORTA|=(csl<<8);//CS1
PORTA|=(csr<<7);//CS2
lcd_busy();
PORTD|=(1<<6);
PORTD&=~(1<<7);
PORTC=c;
PORTD|=(1<<8);//EN=1
PORTD&=~(1<<8);//EN=0
}
void set_xy(uchar x,uchar y)
{
x=x+0x40;
y=y+0xb8;
wcode(x,1,1);
wcode(y,1,1);
}
void lw(uchar x,uchar y,uchar dd)
{
if(x>64)
{
set_xy(x-64,y);
wdata(dd,0,1);
}
else
{
set_xy(x,y);
wdata(dd,1,0);
}
}
void set_startline(uchar i)
{
i=0xc0+i;
wcode(i,1,1);
}
void dison_off(uchar o)
{
o=o+0x3e;
wcode(o,1,1);
}
void reset()
{
PORTA&=~(1<<6);//RST=0
delay(20);
PORTA|=(1<<6);//RST=1
delay(20);
}
void init()
{
uchar x,y;
DDRC=0xff;
DDRA=0xff;
DDRD=0xff;
PORTA=0x00;
PORTC=0x00;
PORTD=0x00;
reset();
set_startline(0);
dison_off(0);
for(y=0;y<8;y++)
{
for(x=0;x<128;x++)
lw(x,y,0);
}
dison_off(1);
}
void display(uchar xx,uchar yy,uchar n,uchar fb)
{
uchar i,dx;
for(i=0;i<16;i++)
{
dx=zk[2*i+n*32];
if(fb)
dx=255-dx;
lw(xx*8+i,yy,dx);
dx=zk[(2*i+1)+n*32];
if(fb)
dx=255-dx;
lw(xx*8+i,yy+1,dx);
}
}
int main(void)
{
uchar loop;
init();
delay(10000);
while(1)
{
/***********************************************/
for(loop=0;loop<8;loop++)
{
display(2*loop,0,loop,0);
display(2*loop,0,loop,0);
display(2*loop,0,loop,0);
display(2*loop,0,loop,0);
display(2*loop,0,loop,0);
display(2*loop,0,loop,0);
display(2*loop,0,loop,0);
display(2*loop,0,loop,0);
}
for(loop=0;loop<8;loop++)
{
display(2*loop,2,loop+8,0);
display(2*loop,2,loop+8,0);
display(2*loop,2,loop+8,0);
display(2*loop,2,loop+8,0);
display(2*loop,2,loop+8,0);
display(2*loop,2,loop+8,0);
display(2*loop,2,loop+8,0);
display(2*loop,2,loop+8,0);
}
for(loop=0;loop<8;loop++)
{
display(2*loop,4,loop+16,1);
display(2*loop,4,loop+16,1);
display(2*loop,4,loop+16,1);
display(2*loop,4,loop+16,1);
display(2*loop,4,loop+16,1);
display(2*loop,4,loop+16,1);
display(2*loop,4,loop+16,1);
display(2*loop,4,loop+16,1);
}
for(loop=0;loop<8;loop++)
{
display(2*loop,6,loop+24,1);
display(2*loop,6,loop+24,1);
display(2*loop,6,loop+24,1);
display(2*loop,6,loop+24,1);
display(2*loop,6,loop+24,1);
display(2*loop,6,loop+24,1);
display(2*loop,6,loop+24,1);
display(2*loop,6,loop+24,1);
}
delay(10000);
}
}
/********************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -