📄 12864huitu.c
字号:
#include<iom16v.h>
#include<macros.h>
#define uchar unsigned char
#define uint unsigned int
#define RS_H PORTC|=BIT(PC7)
#define RS_L PORTC&=~BIT(PC7)
#define RW_H PORTC|=BIT(PC6)
#define RW_L PORTC&=~BIT(PC6)
#define E_H PORTC|=BIT(PC5)
#define E_L PORTC&=~BIT(PC5)
#pragma Data:code
const uint Data[]=
{0xFF,0xF2,0x00,0x00,0x00,0x06,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xF8,0x00,0x00,0x00,0x06,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xF4,0x00,0x00,0x00,0x04,0x4F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xF8,0x00,0x00,0x00,0x04,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xE8,0x00,0x00,0x00,0x04,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFC,0x00,0x00,0x00,0x04,0x2F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFC,0x00,0x00,0x00,0x04,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFE,0x00,0x00,0x00,0x04,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFE,0x00,0x00,0x00,0x04,0xFF,0xFF,0xB0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFA,0x00,0x00,0x00,0x0C,0xFF,0xFC,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xF8,0x00,0x00,0x00,0x0C,0xFF,0xF0,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,
0xFF,0xFA,0x00,0x00,0x00,0x0C,0x7F,0xE0,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,
0xFF,0xFE,0x00,0x00,0x00,0x0C,0xAF,0xE0,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xE1,
0xFF,0xFF,0x00,0x00,0x00,0x0C,0xFF,0xF8,0x07,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xE1,
0xFF,0xFC,0x00,0x00,0x00,0x0C,0xFF,0x80,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFD,0xE1,
0xFF,0xF8,0x80,0x00,0x00,0x0C,0xFF,0xF8,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xEF,0xE1,
0xFF,0xFF,0x00,0x00,0x00,0x0C,0xFF,0xDB,0x01,0xCB,0xFF,0xFF,0xFF,0xFC,0x3F,0xE1,
0xFF,0xFF,0x00,0x00,0x00,0x00,0xF9,0xE1,0x30,0x80,0x3F,0xFF,0xFF,0xFF,0xFF,0xE1,
0xFF,0xFF,0x80,0x00,0x00,0x00,0xFF,0x02,0x00,0x00,0x1F,0x7F,0xFF,0xFF,0xFF,0xE1,
0xFF,0xFF,0x80,0x00,0x00,0x08,0xFE,0x00,0x00,0x00,0x0F,0x07,0xFF,0xFF,0xFF,0xE1,
0xFF,0xFF,0x80,0x00,0x00,0x08,0xFE,0x04,0x00,0x00,0x1E,0x0F,0xFF,0xFF,0xFF,0xE1,
0xFF,0xFF,0x80,0x00,0x00,0x08,0xFF,0x00,0x00,0x00,0x1E,0x0F,0xFF,0xFF,0xFF,0xE1,
0xFF,0xFF,0x80,0x00,0x00,0x09,0xFF,0x00,0x00,0x00,0x1D,0x1F,0xFF,0xFF,0xFF,0xC1,
0xFF,0xFF,0xB0,0x00,0x00,0x09,0xFF,0x00,0x00,0x00,0x3C,0x3F,0xFF,0xFF,0xFF,0xC1,
0xFF,0xFF,0xA0,0x00,0x00,0x09,0xFF,0x90,0x00,0x00,0x1C,0x7F,0xFF,0xFF,0xFF,0xC1,
0xFF,0xFF,0xA0,0x00,0x00,0x09,0xFF,0xF8,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xC3,
0xFF,0xFF,0x30,0x00,0x00,0x19,0xFF,0xCC,0x38,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xC3,
0xFF,0xFF,0xA0,0x00,0x00,0x19,0xFF,0xEC,0x00,0x00,0x73,0xFF,0xFF,0xFF,0xFF,0xC3,
0xFF,0xFF,0xE0,0x00,0x00,0x19,0xFF,0xF0,0x00,0x00,0xC3,0xFF,0xFF,0xFF,0xFF,0xC3,
0xFF,0xFF,0x20,0x00,0x00,0x19,0xFF,0xF0,0x00,0x03,0x03,0xFF,0xFF,0xFF,0xFF,0xC3,
0xFF,0xFF,0xF0,0x00,0x00,0x1B,0xFF,0xF8,0x00,0x0C,0x03,0xFF,0xFF,0xFF,0xFF,0xC3,
0xFF,0xFF,0xF0,0x00,0x00,0x1B,0xFF,0xFC,0x00,0x60,0x03,0xFB,0xFF,0xFF,0xFF,0xC3,
0xFF,0xFF,0xF8,0x00,0x00,0x1B,0xFF,0xFF,0x83,0x00,0x00,0x0E,0x1F,0xFF,0xFF,0xC3,
0xFF,0xFF,0xF6,0x00,0x00,0x1B,0xFF,0xFF,0xF8,0x00,0x00,0x03,0x0F,0xFF,0xFF,0xC3,
0xFF,0xFF,0xFC,0x00,0x00,0x13,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x01,0xFF,0xFF,0xC3,
0xFF,0xFF,0xF4,0x00,0x00,0x13,0xFF,0xFF,0xF0,0x00,0x00,0x04,0x00,0xFF,0xFF,0xC3,
0x0F,0xFF,0xFC,0x00,0x00,0x33,0xFF,0xFF,0xFC,0x00,0x00,0x08,0x00,0x7F,0xFF,0xC3,
0x07,0xFF,0xFC,0x00,0x00,0x3B,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x1F,0xFF,0xC3,
0x00,0xFF,0xFC,0x00,0x00,0x33,0xFF,0xFF,0x00,0x00,0x00,0x01,0xC0,0x07,0xFF,0xC7,
0x00,0x1F,0xFC,0x00,0x00,0x33,0xFF,0xFF,0x00,0x40,0x00,0x03,0xE0,0x03,0xFF,0xC7,
0x00,0x03,0xFF,0x00,0x00,0x33,0xFF,0x3E,0x00,0x20,0x00,0x01,0xF0,0x01,0xFF,0xC7,
0x00,0x01,0xFF,0x00,0x00,0x33,0xFF,0xFE,0x00,0x38,0x00,0x38,0xF0,0x00,0xFF,0xC7,
0x00,0x00,0x3F,0xC0,0x00,0x33,0x87,0xFE,0x00,0x0F,0xC0,0x3E,0x38,0x00,0x7F,0xC7,
0x00,0x00,0x0F,0x80,0x00,0x33,0xFF,0xFE,0x00,0x00,0x00,0x3F,0x3C,0x00,0x3F,0xC7,
0x00,0x00,0x01,0xE1,0x00,0x39,0xFF,0xFE,0x00,0x00,0x00,0x1F,0x3C,0x00,0x3F,0xC7,
0x00,0x00,0x00,0xFB,0xF0,0x1F,0xFF,0xFC,0x00,0x00,0x00,0x0F,0x1E,0x00,0x1F,0xCF,
0x00,0x00,0x00,0xFF,0xF0,0x3F,0xFF,0xFC,0x00,0x00,0x00,0x0F,0x9F,0x00,0x0F,0x8F,
0x00,0x00,0x03,0xFF,0xFC,0x7F,0xFF,0xFC,0x00,0x00,0x00,0x0F,0xCF,0x00,0x07,0xCF,
0x00,0x00,0x03,0x7F,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x1F,0xCF,0x00,0x03,0xCF,
0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x1F,0x8F,0x00,0x03,0xCF,
0x11,0x38,0x4D,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x3F,0xCF,0x00,0x03,0xDF,
0xC2,0x00,0x3F,0xFF,0xF8,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x3F,0xCF,0x00,0x03,0xDF,
0xFE,0x83,0x7F,0xFF,0x0C,0xFF,0xFC,0x3C,0x00,0x00,0x00,0x3F,0xCF,0x00,0x01,0xDF,
0xFF,0x3B,0xFF,0xF0,0x0C,0xFF,0xF8,0x3C,0x02,0x00,0x00,0x3F,0xCF,0x80,0x01,0xFF,
0xBF,0xFF,0xFF,0x80,0x00,0x7F,0xF8,0xFC,0x06,0xE0,0x00,0x7F,0xCF,0x80,0x01,0xFF,
0xFF,0xFF,0xE0,0x00,0x01,0xBF,0xC1,0xFC,0x02,0x50,0x00,0xFF,0xCF,0x80,0x01,0xFF,
0xFF,0xFF,0x80,0x03,0x9F,0xFF,0x0F,0xFC,0x00,0x48,0x00,0xFF,0xCF,0x00,0x01,0xFF,
0xFF,0xFF,0xFF,0xFB,0xFF,0xFE,0x3F,0xF8,0x04,0xC0,0x00,0xFF,0xCF,0x00,0x03,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xF3,0xFF,0xF8,0x01,0x03,0x80,0x7F,0x8F,0x00,0x03,0xFF,
0xFF,0xFF,0xFF,0xFF,0xF3,0xFB,0xFF,0xF8,0x05,0x27,0xE0,0x7F,0x8F,0x00,0x01,0xFF,
0xFF,0xFF,0xFF,0xEF,0xFF,0x4F,0xFF,0xF8,0x00,0x07,0xF0,0x7F,0x9F,0x00,0x01,0xFF,
0xFF,0xFF,0xFF,0xFF,0xE7,0xEF,0xFF,0xF8,0x00,0x0F,0xE0,0xFF,0x9F,0x02,0x00,0xFF,
0xFF,0xFE,0xFB,0xEF,0xFE,0xFF,0xFF,0xF8,0x00,0x8F,0xE0,0x7F,0x9F,0x00,0x00,0xFF,
0xFF,0xFB,0xF7,0xF7,0xFD,0xFF,0xFF,0xF8,0x00,0x1F,0xC1,0xFF,0x9F,0x00,0x00,0xFF,
};
void delay(uint k)
{
uint i,j;
for(i=0;i<k;i++)
for(j=0;j<1140;j++);
}
void check_busy()
{
uchar val;
RS_L;_NOP();
RW_H;_NOP();
PORTA=0;
while(1)
{
E_H;_NOP();
DDRA=0;
val=PINA;
if(val<0x80)break;
E_L;_NOP();
}
DDRA=0xff;
E_L;_NOP();
}
void write_com(uchar com)
{
check_busy();
RS_L;
RW_L;
PORTA=com;
E_H;
delay(1);
E_L;
}
void write_dat(uchar dat)
{
check_busy();
RS_H;
RW_L;
PORTA=dat;
E_H;
delay(1);
E_L;
}
void Init()
{
DDRA=0XFF;
DDRC|=BIT(5)|BIT(6)|BIT(7);
write_com(0x30);
write_com(0x0c);
write_com(0x01);
write_com(0x06);
write_com(0x02);
}
void setxy(uchar x,uchar y)
{
write_com(0x34);
write_com(y);
write_com(x);
//write_com(0X04);
//write_com(0X05);
write_com(0x30);
}
void write_16byte(uint data_add)
{
uchar num;
check_busy();
for(num=16;num>0;num--)
{
check_busy();
write_dat(~Data[data_add++]);//取反,反白
delay(5);
}
}
void main()
{
uchar x,y,i;
delay(2);
Init();
delay(2);
y=0x80;
x=0x80;
for(i=0;i<32;i++)
{
setxy(x,y);
write_16byte(i*16);
y++;
}
//delay(5000);
//write_com(0x01);
y=0x80;
x=0x88 ;
for(i=0;i<32;i++)
{
setxy(x,y);
write_16byte((32+i)*16);
y++;
}
write_com(0x34);
write_com(0x36);
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -