📄 main.c
字号:
/******************************************************************************
Title: 演示程序15 -12864 LCM显示程序 *
Name: ex15.c *
Date: 2005-6-15 *
Ver: 1.0 * *
web: http://www.mcustudy.com *
现象: *
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 Bmp010[]=
{
/*------------------------------------------------------------------------------
; 源文件 / 文字 : D:\Documents and Settings\pan\My Documents\My Pictures\12864.bmp单
; 宽×高(像素): 128×64
; 字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/1024字节
; 数据转换日期 : 2005-6-25 0:17:15
------------------------------------------------------------------------------*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x20,0x60,0xC0,0x80,0x00,0x00,0x00,0x00,0x80,0xE0,0x60,
0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,
0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,
0xE0,0x00,0x00,0x00,0xC0,0xC0,0x40,0x40,0x40,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x40,0xC0,0x80,0x00,0x00,0x60,0xE0,0x80,0x00,0x00,0x00,0x80,0xE0,
0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0xC0,0xC0,0x40,0x40,0x40,0x40,0x40,
0x40,0x40,0x40,0x40,0x40,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x40,0x40,
0x40,0x40,0xC0,0xC0,0x40,0x40,0x40,0x40,0xC0,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0xFF,0x91,0x91,0x91,0x91,0x91,0xFF,0xFF,0x91,0x91,0x91,0x91,
0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x44,0x44,0x44,0x44,0x44,
0x47,0x47,0x44,0xC4,0x84,0x04,0x04,0x04,0x04,0x00,0x00,0x00,0x02,0xE2,0xFE,0xFF,
0xFF,0xF2,0xE2,0xC0,0xFF,0x3F,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,
0x00,0x1E,0x1E,0x02,0x13,0x13,0x12,0x12,0x12,0xD3,0xD3,0x53,0x72,0x32,0x33,0x03,
0x32,0x3E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x0E,0x3C,0xB0,0x80,
0xC0,0x60,0x30,0x10,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x07,0x1E,
0xF8,0xF8,0xFF,0x07,0x03,0x0F,0xFC,0xF8,0xFF,0x07,0xFF,0xFF,0x00,0x00,0x00,0x00,
0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x7F,0x7F,0x04,0x04,0x04,0x04,
0x04,0x04,0x04,0x04,0x00,0x00,0x00,0x20,0x3C,0x1F,0x03,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x7F,
0x7F,0x60,0x70,0x3F,0x0F,0x00,0x00,0x00,0x00,0x3F,0x3F,0x20,0x3C,0x3C,0x00,0x00,
0x00,0x00,0x02,0x02,0x02,0x22,0x62,0x42,0x42,0x42,0x63,0x7F,0x3E,0x02,0x02,0x02,
0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x0C,0x06,0x02,0x03,0x01,0x01,
0x20,0x20,0x20,0x20,0x30,0x3F,0x0F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x0C,0x07,
0x03,0x00,0x07,0x07,0x0C,0x0F,0x23,0x20,0x23,0x2F,0x3F,0x3F,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,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,0x02,0x1E,0x60,0x1E,0x60,0x1E,0x02,0x02,0x1E,0x60,0x1E,0x60,0x1E,
0x02,0x02,0x1E,0x60,0x1E,0x60,0x1E,0x02,0x00,0x60,0x60,0x00,0x00,0x00,0x00,0x42,
0x7E,0x02,0x7E,0x02,0x7C,0x40,0x00,0x3C,0x42,0x42,0x42,0x26,0x00,0x02,0x3E,0x40,
0x40,0x42,0x7E,0x40,0x00,0x64,0x4A,0x4A,0x52,0x26,0x00,0x02,0x02,0x3F,0x42,0x42,
0x00,0x00,0x02,0x3E,0x40,0x40,0x42,0x7E,0x40,0x00,0x3C,0x42,0x42,0x42,0x7F,0x40,
0x02,0x06,0x9A,0x60,0x1A,0x06,0x02,0x00,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x3C,
0x42,0x42,0x42,0x26,0x00,0x00,0x3C,0x42,0x42,0x42,0x3C,0x00,0x42,0x7E,0x02,0x7E,
0x02,0x7C,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0x01,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,0x00,0x00,0x00,0x00,0x00,
};
const unsigned char code ChinaFlag[]=
{
/*------------------------------------------------------------------------------
; 源文件 / 文字 : D:\Documents and Settings\pan\My Documents\My Pictures\china.bmp字模
; 宽×高(像素): 128×64
; 字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/1024字节
; 数据转换日期 : 2005-6-25 21:06:33
------------------------------------------------------------------------------*/
0x00,0x00,0x00,0x1E,0x19,0x2A,0xBF,0xFC,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xAA,0xFF,0xFD,0xF8,0xF8,0xFC,0xF8,0xF8,0xFC,0xF8,
0xF8,0xF8,0xF8,0xF8,0xFC,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF0,0xF0,0xF0,0xF0,
0xF0,0xF0,0xF0,0x70,0x70,0x70,0x30,0x30,0xF0,0xF0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,
0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,
0xE0,0xC0,0xE0,0xC0,0xC0,0xC0,0x80,0x80,0xC0,0x80,0x80,0x80,0x80,0xC0,0x80,0x00,
0x00,0x00,0x00,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xAA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xDF,0xDF,0xBF,0x4F,0x37,0x03,0x03,0x0F,0x0F,0x9F,0x8F,0xCF,0xDF,0xEF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFC,0xFC,0xFE,0xFF,0xFF,0xDF,0xCF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,
0x1F,0x0F,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xAA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xF9,0xFC,0xFC,0xFE,0xFC,0xFC,0xFC,0xF0,0xFB,0xF7,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x07,0x07,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xAA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xAA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xD0,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xAA,0xFF,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,
0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x3F,0x3F,0x3F,
0x3F,0x0F,0x1F,0x0F,0x1F,0x0F,0x1F,0x0F,0x1F,0x0F,0x1F,0x0F,0x1F,0x0F,0x1F,0x0F,
0x1F,0x0F,0x1F,0x0F,0x1F,0x3F,0x1F,0x3F,0x1F,0x3F,0x3F,0x1F,0x1F,0x1F,0x0F,0x07,
0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x06,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xAA,0xFF,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
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 *)Bmp010,0,00,PIC_HIGHTH,PIC_WIDETH);
delay(0x100);
display((unsigned char *)&ChinaFlag[0],0,00,PIC_HIGHTH,PIC_WIDETH);
delay(0x100);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -