📄 12864显示._c
字号:
/*====================================*/
/*大液晶显示*/
/*8M晶振*/
/*包含了测试程序,和到图形显示程序*/
/*====================================*/
#include"iom16v.h"
#include"macros.h"
#include"延时子程序.c"
#define uchar unsigned char
#define uint unsigned int
#define RS_H DDRC|=(1<<2);PORTC|=(1<<2);
#define RS_L DDRC|=(1<<2);PORTC&= ~(1<<2);
#define RW_H DDRC|=(1<<3);PORTC|=(1<<3);
#define RW_L DDRC|=(1<<3);PORTC&= ~(1<<3);
#define E_H DDRC|=(1<<4);PORTC|=(1<<4);
#define E_L DDRC|=(1<<4);PORTC&=~(1<<4);
//#define DA DDRA;
//#define PA PORTA;
//#define PIA PINA;
//***************************************************
/*数据区*/
//***************************************************
uchar data01[]={"欢迎进入"};
uchar data02[]={"WELCOME TO ENTER"};
const uchar data00[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xC1,0xE0,0x3C,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0x83,0xFF,0xFC,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0x83,0xFF,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x87,0xFF,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x07,0xFF,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x0F,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFE,0x0F,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFE,0x0F,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFE,0x1F,0xFF,0xE0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x60,0xFE,0x1F,0xFF,0xE0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x0E,0x3F,0xFF,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xE0,0x3F,0xFF,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xF8,0x7F,0xFF,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xF8,0x1F,0xFF,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFC,0x60,0xFE,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF8,0x78,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF8,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF0,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xE0,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xE1,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xE1,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xC3,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xC1,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xC3,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xF1,0x83,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x1E,0x00,0x00,0x00,0x76,0x00,0x07,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x1E,0x0E,0x07,0x00,0x00,0x00,0x0F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x1E,0x0E,0x0F,0x00,0x00,0x00,0x0F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x0F,0x0E,0x0F,0x00,0x00,0x00,0x07,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x0F,0x0E,0x1E,0x00,0x00,0x00,0x00,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x0F,0x1F,0x1C,0x00,0x00,0x00,0x00,0x3F,0xC0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x0F,0x1F,0x1C,0x00,0x00,0x70,0x00,0x00,0x00,0x0C,0x6E,0x00,0x00,0x00,
0x00,0x00,0x0F,0x1F,0x1C,0x00,0x00,0x70,0x00,0x00,0x00,0x0C,0x6F,0x80,0x00,0x00,
0x00,0x00,0x0F,0x1F,0x3B,0x80,0x00,0x70,0x00,0x00,0x00,0x07,0xCF,0xC0,0x00,0x00,
0x00,0x00,0x07,0x1F,0x3B,0xB3,0x07,0x70,0xE3,0x1C,0x67,0x83,0x8C,0xC0,0x00,0x00,
0x00,0x00,0x07,0x1F,0x3B,0xBF,0xCF,0xF3,0xFB,0x9C,0xFF,0xC3,0x0C,0xC0,0x00,0x00,
0x00,0x00,0x07,0x9F,0x70,0x3F,0xDF,0xF7,0xFB,0x9E,0xFF,0xE7,0x8C,0xC0,0x00,0x00,
0x00,0x00,0x07,0xBF,0x73,0xBD,0xDF,0xF7,0xBB,0xBE,0xF8,0xEF,0xCF,0xC0,0x00,0x00,
0x00,0x00,0x03,0xB7,0xF3,0xB9,0xDC,0x77,0x1D,0xFE,0xDF,0x0C,0xCF,0x80,0x00,0x00,
0x00,0x00,0x03,0xF7,0xF3,0xB9,0xDC,0x7F,0x1D,0xFF,0xDF,0xE0,0x0C,0x00,0x00,0x00,
0x00,0x00,0x03,0xF3,0xF3,0xB9,0xDC,0x7F,0x1C,0xF7,0xCF,0xE0,0x0C,0x00,0x00,0x00,
0x00,0x00,0x01,0xF3,0xE3,0xB9,0xDC,0x77,0xBC,0xF7,0x81,0xE0,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0xF3,0xE3,0xB9,0xDF,0xF7,0xF8,0xF7,0xBC,0xE0,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0xE3,0xE3,0xB9,0xDF,0xF7,0xF8,0xF7,0x3F,0xE0,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0xE1,0xC3,0xB9,0xEF,0xF1,0xF0,0xE3,0x0F,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x37,0x77,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x37,0x77,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x37,0x77,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,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,0x30,0x77,0x70,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x77,0x70,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x77,0x70,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x07,0x77,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x07,0x77,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x07,0x77,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x77,0x70,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x77,0x70,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x77,0x70,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x07,0x77,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x07,0x77,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x07,0x77,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x77,0x70,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x77,0x70,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x77,0x70,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x07,0x77,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x07,0x77,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x07,0x77,0x00,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x77,0x70,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x77,0x70,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x77,0x70,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x07,0x77,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x07,0x77,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x07,0x77,0x00,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x77,0x70,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x77,0x70,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x77,0x70,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x07,0x77,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x07,0x77,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x07,0x77,0x01,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x77,0x71,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x77,0x71,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x77,0x71,0x80,0x00,0x00,0x00
};
//***************************************************
/*查忙状态*/
//***************************************************
void checkbusy()
{
DDRA=0x00;
PORTA=0xff;
RS_L;
delay_us(5);
RW_H;
delay_us(5);
E_H;
while(PINA&0X80);
E_L;
}
//***************************************************
/*写指令*/
//***************************************************
void writecomd(uchar comd)
{
checkbusy();
RS_L;
RW_L;
E_H;
DDRA=0XFF;
PORTA=comd;
delay_us(5);
E_L;
}
//****************************************************
/*写数据*/
//****************************************************
void writedata(uchar data)
{
checkbusy();
RS_H;
RW_L;
E_H;
DDRA=0XFF;
PORTA=data;
delay_us(5);
E_L;
}
//****************************************************
/*写入显示内部带字库型的字体的位置*/
//****************************************************
void wezhi(uchar x,uchar y)//x为在哪一行,y是在哪一列
{
uchar p;
if(x==0) p=0x80;//第一行
if(x==1) p=0x90;//第二行
if(x==2) p=0x88;//第三行
if(x==3) p=0x98;//第四行
p+=y;//再加上y列
writecomd(p) ;
delay_ms(1);
}
//****************************************************
/*写入字体*/
//**************************************************
void zhiti(uchar *data)
{
while(*data!='\0')
{
writedata(*data);
delay_ms(5);
data++;
}
}
//********************************************************
/*基本指令初始化*/
//*******************************************************
void frist1()
{
writecomd(0x01);//清屏显示
writecomd(0x30);//8位并口,基本指令
delay_us(10);
writecomd(0x0c);//整体显示,无游标,无反百,
delay_us(10);
writecomd(0x02);//地址归位
delay_us(10);
writecomd(0x40);//设置CGRAM地址
}
//*****************************************************
/*扩充指令*/
//*****************************************************
void frist2()
{
writecomd(0x01);//清屏显示
delay_us(10);
writecomd(0x36);//8位控制,扩充指令,绘图开
delay_ms(10);
}
//*****************************************************
/*绘图程序,整页显示*/
//*****************************************************
void drwa(const uchar *data)
{
uchar i,j,k,temp_x,temp_y;
temp_x=0x80;
temp_y=0x80;
for(i=0;i<32;i++)
{
writecomd(temp_y++);
writecomd(temp_x);
for(j=0;j<16;j++)
{
writedata(*data);
data++;
}
}
temp_x=0x88;
temp_y=0x80;
for(i=0;i<32;i++)
{
writecomd(temp_y++);
writecomd(temp_x);
for(j=0;j<16;j++)
{
writedata(*data);
data++;
}
}
for(k=0;k<11;k++) ////下面程序是为了实现动画的
{
temp_x=0x98;
temp_y=0x9B;
for(i=0;i<3;i++)
{
writecomd(temp_y++);
writecomd(temp_x);
for(j=0;j<16;j++)
{
writedata(*data);
data++;
}
}
delay_ms(100);
}
}
/*********************************************
开机画面
***********************************************/
void kaiji(void)
{
frist2();
drwa(data00);
frist1();
writecomd(0x01);//清屏显示
wezhi(1,2);
zhiti(data01);
wezhi(2,0);
zhiti(data02);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -