⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12864welcome.c

📁 我知道一定很多人对液晶感兴趣的!我最近刚写的12864 供大家参考 觉的好的顶一下
💻 C
📖 第 1 页 / 共 2 页
字号:
#include<reg51.h>
#include<intrins.h>
#include <string.h> //用于指针
/*********************************************************************************************
//接口定义
//
/*********************************************************************************************/
#define LCM12864_DB7_DB0 P0 // 定义LCM12864的数据总线
sbit LCM12864_RS = P2 ^ 3; // 定义LCM12864的RS控制线
sbit LCM12864_RW = P2 ^ 4; // 定义LCM12864的RW控制线
sbit LCM12864_E = P2 ^ 2; // 定义LCM12864的E控制线
sbit LCM12864_CS1 = P2 ^ 7; // 定义LCM12864的CS1控制线
sbit LCM12864_CS2 = P2 ^ 6; // 定义LCM12864的CS2控制线
sbit LCM12864_RESET = P2 ^ 5; // 定义LCM12864的RESET控制线
sbit LCM12864_LEDK = P2 ^ 0; // 定义LCM12864的LEDK(BLK)控制线
/*********************************************************************************************
//数据定义
//定义LCM12864的命令字
/*********************************************************************************************/
#define LCM12864_DISP_ON 0x3f // 打开LCM12864显示
#define LCM12864_DISP_OFF 0x3e // 关闭LCM12864显示
#define LCM12864_START_ROW 0xc0 // 显示起始行0,可以用LCM12864_START_ROW+x设置起始行。(x<64)
#define LCM12864_PAGE_START_ADDR 0xb8 // 页起始地址,可以用LCM12864_PAGE_START_ADDR+x设置当前页。(x<8)
#define LCM12864_COL_START_ADDR 0x40 // 列起始地址,可以用LCM12864_COL_START_ADDR+x设置当前列。(x<64)
//定义LCM12864的状态屏蔽码
//在BUSY和REST状态时,除读状态指令外,其他指令均不对LCM12864产生作用。
//在对LCM12864操作之前要查询BUSY状态,以确定是否可以对LCM12864进行操作。
#define LCM12864_STATUS_BUSY 0x80 // LCM12864忙状态屏蔽码
#define LCM12864_STATUS_DISP_OFF 0x20 // LCM12864显示关闭状态屏蔽码
#define LCM12864_STATUS_REST 0x10 // LCM12864复位状态屏蔽码
/*********************************************************************************************
//字符/图像定义库
//
/*********************************************************************************************/
/*-- 文字: 欢 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
/* 纵向取模,字节倒序 */
unsigned char code huan1[]={
0x0C,0x6C,0xEC,0x8C,0xFC,0x3C,0x40,0x70,0x3F,0xCF,0xCC,0x0C,0x3C,0x3C,0x00,0x00,
0x10,0x38,0x1C,0x07,0x07,0x4C,0x60,0x30,0x18,0x0F,0x07,0x0C,0x18,0x30,0x20,0x00,
};
/*-- 文字: 迎 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
/* 纵向取模,字节倒序 */
unsigned char code ying2[]={
0x60,0x66,0xEE,0xE8,0x00,0xFE,0xFE,0x07,0x03,0xFE,0xFE,0x06,0xFE,0xFE,0x00,0x00,
0x40,0x60,0x3F,0x1F,0x30,0x67,0x67,0x62,0x60,0x6F,0x6F,0x62,0x67,0x67,0x60,0x00
};
///////////////////////////////////////////////////////////////////
// ASCII字模的数据表 //
// 码表从0x20~0x7e //
// 字库:Asc8X16E.dat 纵向取模下高位 //
///////////////////////////////////////////////////////////////////
unsigned char code nAsciiDot[] = // ASCII
{
0x04,0xFC,0xFC,0x04,0x0C,0xF8,0xF0,0x00, // -D-
0x08,0x0F,0x0F,0x08,0x0C,0x07,0x03,0x00,
0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00, // -y-
0x47,0x4F,0x48,0x48,0x68,0x3F,0x1F,0x00,
0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00, // -1-
0x00,0x08,0x08,0x0F,0x0F,0x08,0x08,0x00,
0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00, // -2-
0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00,
0xB8,0xFC,0x44,0x44,0x44,0xFC,0xB8,0x00, // -8-
0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
0xF0,0xF8,0x4C,0x44,0x44,0xC0,0x80,0x00, // -6-
0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00, // -4-
0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,
};
/////////////////////////////////////////////////////////////////////////
// Bitmap点阵数据表 //
// 图片: C:\..鎈doyleee.bmp,纵向取模下高位,数据排列:从左到右从上到下 //
// 图片尺寸: 128 * 64 //
/////////////////////////////////////////////////////////////////////////
unsigned char code doyleee[] = // 数据表
{
0xFF,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x81,0xF1,0xF1,0xF1,0x71,0x31,
0x31,0x71,0xF1,0xF1,0xE1,0xC1,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x81,0xF1,0xF1,0xF1,0x71,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xF0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,
0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x7F,0x00,
0x00,0xF0,0xFC,0xFE,0xFE,0x0F,0x03,0x03,
0x07,0xFF,0xFE,0xFE,0xF8,0x00,0xE0,0xE0,
0xE0,0xE0,0x00,0x03,0x3F,0xFF,0xFF,0xFC,
0xC0,0xF0,0xFE,0x3F,0x0F,0x03,0x00,0xF0,
0xFF,0xFF,0xFF,0x0F,0x00,0x00,0xF0,0xFC,
0xFE,0xFE,0x3F,0x33,0x33,0x33,0x3F,0x3F,
0x3E,0x38,0x00,0x00,0xF0,0xFC,0xFE,0xFE,
0x3F,0x33,0x33,0x33,0x3F,0x3F,0x3E,0x38,
0x00,0x00,0xF0,0xFC,0xFE,0xFE,0x3F,0x33,
0x33,0x33,0x3F,0x3F,0x3E,0x38,0x00,0x00,
0x00,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,0x00,0x00,0x80,0x80,0x80,
0x8E,0x8F,0x8F,0x8F,0x8C,0x8C,0x8C,0x8C,
0x8E,0x8F,0x87,0x87,0x83,0x81,0x80,0x80,
0x80,0x81,0x87,0x87,0x8F,0x8E,0x8C,0x8C,
0x8F,0x87,0x87,0x83,0x80,0x80,0x80,0xC0,
0xC0,0xC0,0xC0,0xC0,0xC0,0xF3,0x7F,0x3F,
0x0F,0x03,0x00,0x00,0x00,0x00,0x0E,0x0F,
0x0F,0x0F,0x00,0x00,0x00,0x00,0x01,0x07,
0x07,0x0F,0x0E,0x0C,0x0C,0x0F,0x07,0x03,
0x01,0x00,0x00,0x00,0x01,0x07,0x07,0x0F,
0x0E,0x0C,0x0C,0x0F,0x07,0x03,0x01,0x00,
0x00,0x00,0x01,0x07,0x07,0x0F,0x0E,0x0C,
0x0C,0x0F,0x07,0x03,0x01,0x00,0x00,0x00,
0x00,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,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,
0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
0x40,0x40,0x40,0x40,0x40,0x00,0x00,0xFC,
0xFC,0x04,0x0C,0xF8,0xF0,0x00,0x00,0xF0,
0xF0,0x00,0x00,0xF0,0xF0,0x00,0x00,0x40,
0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x10,
0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,0x18,
0x1C,0x84,0xC4,0x7C,0x38,0x00,0x00,0xB8,
0xFC,0x64,0xC4,0xFC,0xB8,0x00,0x00,0xE0,
0xF0,0x3C,0x2C,0xE4,0xC0,0x00,0x00,0x80,
0xFC,0x7C,0x00,0xF0,0xF0,0x00,0x00,0xFC,
0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,
0xFC,0x04,0x04,0x1C,0x18,0x00,0x00,0x40,
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,
0x07,0x04,0x06,0x03,0x01,0x00,0x20,0x23,
0x27,0x34,0x1C,0x0F,0x03,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x07,0x07,0x04,0x00,0x00,0x06,
0x07,0x05,0x04,0x04,0x04,0x00,0x00,0x03,
0x07,0x04,0x04,0x07,0x03,0x00,0x00,0x03,
0x07,0x04,0x04,0x07,0x03,0x00,0x00,0x01,
0x01,0x01,0x01,0x07,0x07,0x01,0x00,0x07,
0x07,0x04,0x04,0x04,0x04,0x00,0x00,0x03,
0x07,0x04,0x04,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,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,
0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,
0x00,0x20,0x20,0xF0,0xF0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xF0,
0x10,0x10,0x90,0x50,0xF0,0xE0,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,
0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x81,0x83,
0x86,0x8C,0x8C,0x86,0x83,0x81,0x80,0x80,
0x88,0x88,0x88,0x8F,0x8F,0x88,0x88,0x88,
0x80,0x80,0x8C,0x8C,0x80,0x80,0x87,0x8F,
0x8A,0x89,0x88,0x88,0x8F,0x87,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFF
};
/********************************************************************************************
//软件延时 Delay()
//
*********************************************************************************************/
void Delay(unsigned int count){
unsigned char i;
while(--count != 0){
for(i = 0; i < 125; i++); // ";" 表示空语句,CPU空转。
} // i 从0加到125,在12M晶体下CPU大概耗时1毫秒
}
/*********************************************************************************************
//LCM12864测忙函数 LCM12864_TestBusy()
//
**********************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -