📄 main.c
字号:
/******************************************************************************
Title: 演示程序15 -12864 LCM显示程序 *
Name: ex15.c *
Date: 2006-01-25 *
Ver: 1.0 * *
web: http://www.CPLD-FPGA.NET *
现象: *
128×64 点阵型LCD显示演示程序 *
第一页显示 可编程逻辑网 和 网址 *
第二页显示 国旗 *
轮换显示 *
********************************************************************************/
#include "reg51.h"
#include <intrins.h>
//******************************************************************************
//显示的字体要与定义的数组相符
#define PIC_HIGHTH 64 //定义图形的高度 64
#define PIC_WIDETH 128 //定义图形的宽度 128
#define CHAR_HIGHTH 8 //定义字符的高度
#define CHAR_WIDETH 5 //定义字符的宽度
#define ICON_HIGHTH 16 //定义图标的高度
#define ICON_WIDETH 16 //定义图标的宽度
//******************************************************************************
const unsigned char code Symbols[20][5]=
{
/*-- 符号: ':'和'-' --*/
/*-- 对应的点阵为:宽x高=5x8 --*/
0x00,0x36,0x36,0x00,0x00, // [0]':'
0x00,0x08,0x08,0x08,0x00 // [1]'-'
};
const unsigned char code ka[]=
{
0x00,0x40,0x40,0xC0,0xE0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,
0x00,0xA0,0xE0,0x60,0x20,0x20,0x00,0x00,
0x00,0x00,0x00,0xFF,0xFF,0x10,0x08,0x0C,
0x3F,0x71,0xE0,0x80,0x00,0x00,0x00,0x00,
0x00,0x04,0x04,0x07,0x07,0x04,0x04,0x00,
0x00,0x00,0x05,0x07,0x07,0x04,0x04,0x00,
/* (16 X 32 , 宋体 )*/
};
const unsigned char code ve[]=
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x20,0x20,0xE0,0xE0,0x20,0x20,0x00,
0x00,0x00,0x20,0xE0,0x60,0x20,0x00,0x00,
0x00,0x00,0x00,0x01,0x0F,0x7F,0xF8,0xC0,
0xC0,0x38,0x06,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x07,
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/* (16 X 32 , 宋体 )*/
};
const unsigned char code lin[]=
{
0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x40,
0x40,0x40,0xC0,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0xF0,0xFE,0x0F,0x01,0x00,0x00,
0x00,0x00,0x00,0x01,0x07,0xFE,0xF0,0x00,
0x00,0x00,0x1F,0xFF,0xE0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xC0,0xFF,0x1F,0x00,
0x00,0x00,0x00,0x00,0x01,0x03,0x06,0x04,
0x04,0x04,0x06,0x03,0x01,0x00,0x00,0x00,
/* (16 X 32 , 宋体 )*/
};
const unsigned char code yi[]=
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0x01,0x01,0x01,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x04,0x04,0x04,0x06,0x07,
0x07,0x06,0x04,0x04,0x04,0x00,0x00,0x00,10
/* (16 X 32 , 宋体 )*/
};
const unsigned char code fenhao[]=
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,
0xE0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x81,
0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x07,
0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
/* (16 X 32 , 宋体 )*/
};
const unsigned char code jiangz[]=
{
0x00,0x00,0xFE,0x62,0xA2,0x22,0x22,0x3E,
0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,
0x00,0x00,0x3F,0x00,0x01,0x06,0x18,0x60,
0x00,0x00,0x01,0x02,0x02,0x7F,0x02,0x02,
/* (16 X 16 )*/
};
const unsigned char code siy[]=
{
0x00,0x00,0x00,0x00,0x00,0xE0,0x18,0x18,
0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x70,0x18,0x0C,0x07,0x01,0x00,0x00,
0x03,0x06,0x0C,0x38,0x60,0x40,0x00,0x00,
/* (16 X 16 )*/
};
const unsigned char code fanz[]=
extern void lcd_init(void);
extern void write_command(unsigned char command);
extern void clear_lcd(void);
extern void display( unsigned char *chr, unsigned char nRow, unsigned char nCol,unsigned char highth,unsigned char wideth );
void delay(unsigned int count)
{
unsigned int i,j;
for(i=0;i<count;i++)
{
for(j=0;j<2000;j++);
}
}
void main()
{
lcd_init();
write_command(0xC0);
write_command(0x3f); //开显示
clear_lcd();
while(1)
{
display((unsigned char *)yi,0,0,32,16);
display((unsigned char *)yi,0,16,32,16);
display((unsigned char *)lin,0,32,32,16);
display((unsigned char *)ka,0,48,32,16);
display((unsigned char *)ve,0,64,32,16);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -