📄 ocm4x8b.c
字号:
//OCM4x8B参考程序
#include <reg52.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#define data_ora P1 //MCU P1<------> LCM
#define uchar unsigned char
#define uint unsigned int
sbit req =P3^0; //请求信号,H有效
sbit busy=P3^1; //H:已收到数据并在处理中,L:空闲可接收数据
void send (uchar dat);
uchar code tab2[]={
0x24,0x03,0x1f,0x49,0x24,0x3a,0x36,0x23,0x19,0x5a,0x11,0x4a,0x1c,0x52,0x2c,0x45,
0x36,0x30,0x2e,0x24,0x32,0x1b,0x1c,0x16,0x37,0x36,0x1f,0x42,0x32,0x34,0x1c,0x10,
0x19,0x06,0x24,0x3c,0x17,0x41,0x18,0x1b,0x15,0x24,0x33,0x23,0x1b,0x07,0x36,0x18,
0x21,0x4e,0x2a,0x19,0x33,0x23,0x18,0x5c,0x17,0x1d,0x11,0x43,0x21,0x49,0x1b,0x4e};
uchar code tab4[]={
"Golden Palm TECH"
"TEL:0758-2263858"
" No.31 Jianshe "
"Road3 Zhaoqing "
"P.R.China "
"Postcode: 526040"};
uchar code tab6[]={
/*-- 调入了一幅图像:F:\梁\画图\COCK.bmp --*/
/*-- 宽度x高度=128x64 --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,
0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x20,0x81,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x61,0x83,0x00,0xE0,0x00,0x00,0x0F,0xFF,0xE0,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0xE3,0x87,0x03,0xE0,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x01,
0x80,0x00,0x00,0x01,0xC7,0x8F,0x07,0xC0,0x00,0x1F,0xFF,0xFF,0xFF,0xF0,0x00,0x01,
0x80,0x00,0x00,0x23,0xCF,0x9E,0x0F,0x80,0x00,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x01,
0x80,0x00,0x00,0x3B,0xFF,0xFF,0xFE,0x00,0x03,0xFF,0xFC,0x00,0x0F,0xFF,0x00,0x01,
0x80,0x00,0x00,0x3F,0xFF,0xFF,0xF8,0x00,0x0F,0xFF,0x80,0x00,0x00,0xFF,0x80,0x01,
0x80,0x00,0x00,0x3F,0xFF,0xFF,0xF0,0x00,0x3F,0xFF,0xFF,0xFF,0x00,0x0F,0xC0,0x01,
0x80,0x00,0x00,0x7C,0xFF,0xFF,0xC0,0x00,0xFF,0xFF,0xFF,0xFF,0xF0,0x07,0xC0,0x01,
0x80,0x00,0x00,0xFC,0xFF,0xFF,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFE,0x01,0xE0,0x01,
0x80,0x00,0x01,0xFF,0xFF,0xF0,0x00,0x03,0xFF,0xFF,0xF0,0x00,0xFF,0x80,0xF0,0x01,
0x80,0x00,0x01,0xFF,0xFF,0x80,0x00,0x07,0xFF,0xFF,0xFF,0xE0,0x0F,0xE0,0x70,0x01,
0x80,0x00,0x01,0x87,0xFF,0xE0,0x00,0x0F,0xFF,0xFF,0xFF,0xFE,0x01,0xF0,0x30,0x01,
0x80,0x00,0x01,0x0F,0xFF,0xF0,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xC0,0xF8,0x30,0x01,
0x80,0x00,0x00,0x7F,0xFF,0xF8,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xF0,0x78,0x30,0x01,
0x80,0x00,0x01,0xFF,0xFF,0xFC,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xF0,0x1C,0x30,0x01,
0x80,0x00,0x07,0xFF,0xFF,0xFE,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFC,0x1C,0x30,0x01,
0x80,0x00,0x1F,0xFF,0xFF,0xFE,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFE,0x0C,0x30,0x01,
0x80,0x00,0x3F,0xFF,0xFF,0xFE,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x0C,0x30,0x01,
0x80,0x00,0x7F,0xFF,0xFF,0xFE,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0C,0x30,0x01,
0x80,0x00,0xFF,0xFF,0xFF,0xFE,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x18,0x20,0x01,
0x80,0x00,0xFF,0xFF,0xFF,0xFE,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x10,0x40,0x01,
0x80,0x00,0xFF,0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0xFE,0x3F,0x00,0x80,0x01,
0x80,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9F,0x00,0x00,0x01,
0x80,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0x00,0x00,0x01,
0x80,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xEF,0x00,0x00,0x01,
0x80,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xE7,0x00,0x00,0x01,
0x80,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xE6,0x00,0x00,0x01,
0x80,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xE6,0x00,0x00,0x01,
0x80,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xBF,0xC6,0x00,0x00,0x01,
0x80,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0x9F,0xC6,0x00,0x00,0x01,
0x80,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x7F,0xFF,0x9F,0x0C,0x00,0x00,0x01,
0x80,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x7F,0xFE,0x1E,0x0C,0x00,0x00,0x01,
0x80,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x7F,0xFE,0x1E,0x0C,0x00,0x00,0x01,
0x80,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x7F,0xFE,0x1C,0x0C,0x00,0x00,0x01,
0x80,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0xFE,0xFC,0x18,0x0C,0x00,0x00,0x01,
0x80,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xE0,0xF8,0xF8,0x10,0x08,0x00,0x00,0x01,
0x80,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xE0,0xF9,0xF0,0x10,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0x21,0xF1,0xC0,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFE,0x21,0x81,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFE,0x11,0x01,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x01,0xFF,0xFE,0x7F,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x7F,0xF8,0x3F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x1F,0xF0,0x0F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x07,0xE6,0x03,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x03,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x01,0xC0,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x01,0xC0,0x00,0x64,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x03,0xE0,0x00,0x3A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x06,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x0C,0x20,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x31,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0xE1,0x90,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x01,0xFF,0xC1,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x03,0xFA,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
};
/*---------------延时子程序----------------*/
void delay (uint us)
{
while(us--);
}
void delay1 (uint ms)
{
uint i,j;
for(i=0;i<ms;i++)
for(j=0;j<1000;j++)
;
}
/*------------写命令或数据到LCD--------------*/
void wr_zb (uchar comm,uchar addr_x,uchar addr_y)
{
send(comm);
send(addr_x);
send(addr_y);
}
void send (uchar dat) //写命令或数据
{
while(busy==1)
;
data_ora=dat;
req=1;
while(busy==0)
;
req=0;
}
/*--------------显示点阵------------------*/
void disp_lat (uchar data1,uchar data2)
{
uchar i,j,k;
for(k=0;k<64;k=k+4)
{
for(j=0;j<2;j++)
{
for(i=4;i<20;i++)
{
wr_zb(0xf3,i,k+j);
send(data1);
}
}
for(j=2;j<4;j++)
{
for(i=4;i<20;i++)
{
wr_zb(0xf3,i,k+j);
send(data2);
}
}
}
}
/*-----------------显示图形-----------------*/
void disp_img (uchar code *img)
{
uchar i,j;
for(j=0;j<64;j++)
{
for(i=4;i<20;i++)
{
wr_zb(0xf3,i,j);
send(img[j*16+i-4]);
}
}
}
/*--------------显示中文------------------*/
void disp_chn (uchar code *chn)
{
uchar i,j;
for(j=0;j<4;j++)
{
for(i=2;i<10;i++)
{
wr_zb(0xf0,i,j);
send(chn[j*16+(i-2)*2]);
send(chn[j*16+(i-2)*2+1]);
}
}
}
/*--------------显示字符------------------*/
void disp_eng (uchar code *eng)
{
uchar i,j;
for(j=0;j<2;j++)
{
for(i=4;i<20;i++)
{
wr_zb(0xf9,i,j*16);
send(eng[j*16+i-4]);
}
}
for(j=2;j<6;j++)
{
for(i=4;i<20;i++)
{
wr_zb(0xf1,i,(j+2)*8);
send(eng[j*16+i-4]);
}
}
}
/*------------------主程序--------------------*/
void main ()
{
SP=0x5f;
req=0;
busy=1;
while(1)
{
send(0xf4);
disp_lat(0xff,0xff);
delay1(800);
send(0xf4);
disp_chn(tab2);
delay1(800);
send(0xf4);
disp_lat(0xff,0x00);
delay1(800);
send(0xf4);
disp_eng(tab4);
delay1(800);
send(0xf4);
disp_lat(0xcc,0xcc);
delay1(800);
send(0xf4);
disp_img(tab6);
delay1(800);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -