📄 ocm12864.c
字号:
/*************************LCD12864驱动程序 应用电路 ******************************************/
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
#define disp_off 0x3e //显示关标志位
#define disp_on 0x3f //显示开标志位
#define disp_x 0xb8
#define disp_z 0xc0
#define disp_y 0x40
#define command 0 //传送命令或数据选择
#define data 1 //
/*-------------------------端口定义说明---------------------------------*/
#define data_port P2 //单片机P2口为并行数据端口<--> LCD
sbit di =P3^7; //H:写数据(数据送入显示),L:写指令(数据送入命令)对应RS引脚
sbit rw =P3^6; // 读/写选择 H 读数据 L写数据
sbit e =P3^5; //读写使能 读/写使能 高电平有效 下降沿锁定数据
sbit cs1=P3^4; //cs1=H,选择左半屏
sbit cs2=P3^3; //cs2=H,选择右半屏
sbit rst=P3^2; //Lcm reset,低有效 复位信号
sbit bf =P2^7; //检测LCD忙引脚
sbit res=P2^4; //检测是否处于复位状态 为H处于复位 为L正常
unsigned char b=0;
unsigned char mir=0; //1/100秒
unsigned char second=0; //秒
unsigned char minite=0; //分
unsigned char hour=1; //时
unsigned char year=8;
unsigned char month=12;
unsigned char date=3;
unsigned char week=4;
unsigned char Temper=20;
unsigned char setnumber=1;
unsigned char setminite=0;
unsigned char sethour=12;
unsigned char setoff_on=1;
unsigned char settimeoff_on=0;
unsigned char settempoff_on=0;
unsigned char setdateoff_on=0;
unsigned char setdelayoff_on=0;
unsigned char falg=1;
/*---------------------------------------------------------------------------*/
uchar code digital1[]={ /*-- 楷体_GB231212; 此字体下对应的点阵为:宽x高=8x16 --*/
/*-- 数字: 0 --*/
0x00,0x00,0xF0,0x08,0x08,0x18,0xE0,0x00,0x00,0x00,0x0F,0x10,0x20,0x10,0x0F,0x00,
/*-- 数字: 1 --*/
0x00,0x00,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x10,0x00,0x00,0x00,
/*-- 数字: 2 --*/
0x00,0x30,0x08,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x18,0x14,0x13,0x10,0x08,0x00,
/*-- 数字: 3 --*/
0x00,0x00,0x10,0x08,0x88,0x78,0x00,0x00,0x00,0x00,0x10,0x20,0x20,0x11,0x0E,0x00,
/*-- 数字: 4 --*/
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x1F,0x02,0x00,
/*-- 数字: 5 --*/
0x00,0x00,0x70,0x48,0xC8,0x88,0x00,0x00,0x00,0x10,0x10,0x20,0x10,0x0F,0x00,0x00,
/*-- 数字: 6 --*/
0x00,0x00,0xE0,0x90,0x88,0x80,0x00,0x00,0x00,0x07,0x18,0x20,0x20,0x19,0x06,0x00,
/*-- 数字: 7 --*/
0x00,0x10,0x08,0x08,0x88,0x78,0x00,0x00,0x00,0x00,0x00,0x18,0x07,0x00,0x00,0x00,
/*-- 数字: 8 --*/
0x00,0x00,0x78,0x88,0x88,0x78,0x00,0x00,0x00,0x0C,0x12,0x21,0x21,0x1E,0x00,0x00,
/*-- 数字: 9 --*/
0x00,0x60,0x98,0x08,0x08,0xF8,0xC0,0x00,0x00,0x00,0x21,0x12,0x09,0x07,0x00,0x00,
/*-- 文字: --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
uchar code point[]={
/*-- 文字: : --*/
0x00,0x00,0x3C,0x3C,0x3C,0x3C,0x00,0x00,0x00,0x00,0x3C,0x3C,0x3C,0x3C,0x00,0x00,
/*-- 文字: - --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
/*-- 文字: . --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00};
/*---------------------------------------------------------------------------*/
uchar code digital2[]={ /*-- 楷体_GB231212; 此字体下对应的点阵为:宽x高=16x16 --*/
/*-- 文字: 一 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*-- 文字: 二 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x06,0x04,0x00,0x00,0x00,
0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x18,0x10,0x00,
/*-- 文字: 三 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x04,0x00,0x00,
0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
/*-- 文字: 四 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0xFE,0x02,0x02,0x02,0xFE,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0xFE,0x00,0x00,
0x00,0x7F,0x28,0x24,0x23,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x22,0x7F,0x00,0x00,
/*-- 文字: 五 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x02,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0xC2,0x82,0x02,0x00,0x00,0x00,
0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x30,0x20,0x00,
/*-- 文字: 六 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x10,0x10,0x10,0x10,0x10,0x91,0x12,0x1E,0x94,0x10,0x10,0x10,0x10,0x10,0x10,0x00,
0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x00,0x00,0x01,0x02,0x0C,0x78,0x30,0x00,0x00,
/*-- 文字: 日 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0x00,0xFE,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xFE,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x3F,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x00};
/*---------------------------------------------------------------------------*/
uchar code timepoint[]={/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
/*-- 文字: 时 --*/
0x00,0xFC,0x44,0x44,0x44,0xFC,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,
0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,
/*-- 文字: 分 --*/
0x80,0x40,0x20,0x98,0x87,0x82,0x80,0x80,0x83,0x84,0x98,0x30,0x60,0xC0,0x40,0x00,
0x00,0x80,0x40,0x20,0x10,0x0F,0x00,0x00,0x20,0x40,0x3F,0x00,0x00,0x00,0x00,0x00,
/*-- 文字: 秒 --*/
0x12,0x12,0xD2,0xFE,0x91,0x11,0xC0,0x38,0x10,0x00,0xFF,0x00,0x08,0x10,0x60,0x00,
0x04,0x03,0x00,0xFF,0x00,0x83,0x80,0x40,0x40,0x20,0x23,0x10,0x08,0x04,0x03,0x00,
/*-- 文字: 年 --*/
0x00,0x00,0x00,0x10,0xE8,0x24,0x27,0x24,0xFC,0x12,0x12,0x10,0x00,0x00,0x00,0x00,
0x02,0x02,0x02,0x02,0x01,0x01,0x01,0x01,0x7F,0x01,0x01,0x01,0x01,0x01,0x01,0x00,
/*-- 文字: 月 --*/
0x00,0x00,0x00,0x00,0x00,0xFC,0x24,0x92,0x92,0x02,0xFE,0x00,0x00,0x00,0x00,0x00,
0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x00,0x10,0x20,0x1F,0x00,0x00,0x00,0x00,0x00,
/*-- 文字: 日 --*/
0x00,0x00,0x00,0xFE,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xFE,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x3F,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x00,
/*-- 文字: 星 --*/
0x00,0x00,0x00,0x00,0x8E,0x32,0x2A,0xEA,0xAA,0x91,0x91,0x0F,0x00,0x00,0x00,0x00,
0x00,0x24,0x22,0x21,0x21,0x25,0x25,0x3F,0x12,0x12,0x10,0x10,0x10,0x10,0x00,0x00,
/*-- 文字: 期 --*/
0x00,0x00,0x08,0x08,0xFE,0xA8,0x04,0xFF,0x04,0x00,0xF8,0x24,0x04,0xFC,0x00,0x00,
0x02,0x22,0x12,0x0A,0x07,0x02,0x06,0x49,0x21,0x18,0x07,0x01,0x10,0x3F,0x00,0x00};
/*---------------------------------------------------------------------------*/
uchar code setdisp[]={/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
/*-- 文字: 时 --*/
0x00,0xFC,0x44,0x44,0x44,0xFC,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,
0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,
/*-- 文字: 间 --*/
0x00,0xF8,0x01,0x06,0x00,0xF0,0x92,0x92,0x92,0x92,0xF2,0x02,0x02,0xFE,0x00,0x00,
0x00,0xFF,0x00,0x00,0x00,0x07,0x04,0x04,0x04,0x04,0x07,0x40,0x80,0x7F,0x00,0x00,
/*-- 文字: 日 --*/
0x00,0x00,0x00,0xFE,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xFE,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x3F,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x00,
/*-- 文字: 期 --*/
0x00,0x04,0xFF,0x54,0x54,0x54,0xFF,0x04,0x00,0xFE,0x22,0x22,0x22,0xFE,0x00,0x00,
0x42,0x22,0x1B,0x02,0x02,0x0A,0x33,0x62,0x18,0x07,0x02,0x22,0x42,0x3F,0x00,0x00,
/*-- 文字: 温 --*/
0x10,0x21,0x86,0x70,0x00,0x7E,0x4A,0x4A,0x4A,0x4A,0x4A,0x7E,0x00,0x00,0x00,0x00,
0x02,0xFE,0x01,0x40,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x40,0x00,
/*-- 文字: 度 --*/
0x00,0x00,0xFC,0x04,0x24,0x24,0xFC,0xA5,0xA6,0xA4,0xFC,0x24,0x24,0x24,0x04,0x00,
0x80,0x60,0x1F,0x80,0x80,0x42,0x46,0x2A,0x12,0x12,0x2A,0x26,0x42,0xC0,0x40,0x00,
/*-- 文字: 定 --*/
0x00,0x10,0x0C,0xA4,0x24,0x24,0x25,0xE6,0x24,0x24,0x24,0x24,0x14,0x0C,0x04,0x00,
0x40,0x20,0x18,0x07,0x08,0x10,0x20,0x7F,0x42,0x42,0x42,0x42,0x40,0x40,0x00,0x00,
/*-- 文字: 时 --*/
0x00,0xFC,0x44,0x44,0x44,0xFC,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,
0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,
/*-- 文字: 设 --*/
0x40,0x41,0xCE,0x04,0x00,0x80,0x40,0xBE,0x82,0x82,0x82,0xBE,0xC0,0x40,0x40,0x00,
0x00,0x00,0x7F,0x20,0x90,0x80,0x40,0x43,0x2C,0x10,0x10,0x2C,0x43,0xC0,0x40,0x00,
/*-- 文字: 定 --*/
0x00,0x10,0x0C,0xA4,0x24,0x24,0x25,0xE6,0x24,0x24,0x24,0x24,0x14,0x0C,0x04,0x00,
0x40,0x20,0x18,0x07,0x08,0x10,0x20,0x7F,0x42,0x42,0x42,0x42,0x40,0x40,0x00,0x00,
/*-- 文字: 开 --*/
0x40,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0x00,
0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,
/*-- 文字: 关 --*/
0x00,0x10,0x10,0x10,0x11,0x1E,0x14,0xF0,0x10,0x18,0x17,0x12,0x18,0x10,0x00,0x00,
0x01,0x81,0x41,0x21,0x11,0x09,0x05,0x03,0x05,0x09,0x31,0x61,0xC1,0x41,0x01,0x00,
/*-- 文字: ℃ --*/
0x00,0x02,0x05,0xE2,0x18,0x04,0x02,0x02,0x02,0x02,0x02,0x02,0x04,0x1E,0x00,0x00,
0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x40,0x40,0x40,0x40,0x40,0x20,0x18,0x00,0x00};
//-------------------------------------------------------------------------*/
uchar code Company[]={ /*-- 楷体_GB231212; 此字体下对应的点阵为:宽x高=16x16 --*/
/*-- 文字: 超 --*/
0x80,0x80,0x90,0x90,0xFF,0x48,0x48,0x40,0x28,0x98,0xA4,0xA4,0x9C,0x00,0x00,0x00,
0x10,0x08,0x06,0x04,0x07,0x09,0x09,0x10,0x17,0x34,0x24,0x26,0x21,0x20,0x20,0x00,
/*-- 文字: 超 --*/
0x80,0x80,0x90,0x90,0xFF,0x48,0x48,0x40,0x28,0x98,0xA4,0xA4,0x9C,0x00,0x00,0x00,
0x10,0x08,0x06,0x04,0x07,0x09,0x09,0x10,0x17,0x34,0x24,0x26,0x21,0x20,0x20,0x00,
/*-- 文字: 电 --*/
0x00,0x00,0xF0,0x10,0x90,0x90,0xFF,0x48,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x03,0x02,0x02,0x1F,0x21,0x21,0x21,0x20,0x20,0x20,0x1C,0x00,0x00,
/*-- 文字: 子 --*/
0x00,0x40,0x40,0x40,0x44,0x44,0x44,0x72,0xCA,0x26,0x22,0x20,0x20,0x20,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x20,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*-- 文字: 开 --*/
0x00,0x80,0x80,0x84,0x84,0xFC,0x44,0x44,0xFE,0x22,0x22,0x20,0x20,0x20,0x00,0x00,
0x00,0x20,0x10,0x08,0x06,0x01,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*-- 文字: 发 --*/
0x00,0x00,0x20,0x38,0x20,0xE0,0xB8,0x96,0x90,0x90,0x14,0x08,0x00,0x00,0x00,0x00,
0x10,0x10,0x08,0x24,0x23,0x12,0x14,0x08,0x0C,0x13,0x30,0x20,0x20,0x20,0x20,0x00,
/*-- 文字: 网 --*/
0x00,0x00,0xFC,0x24,0x44,0x84,0x74,0x04,0x44,0x82,0x72,0x02,0xFE,0x00,0x00,0x00,
0x00,0x00,0x1F,0x02,0x01,0x00,0x05,0x02,0x01,0x00,0x11,0x22,0x1F,0x00,0x00,0x00,
};
//-------------------------------------------------------------------------*/
void delay (uint us) //延时子程序
{
while(us--);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -