📄 fyd12864.c
字号:
/****************************/
/* 程序名: FYD12864 */
/* 功能:液晶12864显示驱动 */
/* MCU:AT89c52 晶振:12M */
/* 设计者: MCUC51小虫 */
/* 设计时间:2007.02.15 */
/* 修改时间:2007.02.15 */
/* 测试: 通过硬件测试 */
/****************************/
/*此程序适用于FYD12864-0402B*/
//FYD12864-0402B的数据口
//1:GND 2:VCC 3:VO 4:RS 5:R/W 6:E 7-14:(D0-D7) 15:PSB 16:NC 17:/RESET 18:VUOT 19:A 20:K
#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int
#define PDATA P0
sbit RS= P2^0;
sbit RW= P2^1;
sbit E= P2^2;
sbit PSB= P2^3;
sbit P1_2=P1^2;
unsigned char code nBitmapDot[];
uchar code kwi[]="有辉商行" ;
//函数名: delay1ms
//功能: 1豪秒延时程序
//上传参数: count(t=count*10ms)
//下传参数: 无
//编程人: MCUC51
//编程时间: 2007.02.15
void delay1ms(uchar count)
{
uchar i,j,t;
for(i=0;i<count;i++)
for(j=0;j<40;j++)
for(t=0;t<120;t++)
{;}
}
//函数名: delay10ms
//功能: 10豪秒延时程序
//上传参数: count(t=count*10ms)
//下传参数: 无
//编程人: MCUC51
//编程时间: 2007.02.15
void delay10ms(uint count)
{
uint i,j,t;
for(i=0;i<count;i++)
for(j=0;j<10;j++)
for(t=0;t<120;t++)
{;}
}
//函数名: LCM12864_WRI
//功能: 12864液晶模块写指令
//上传参数: dat(要写入的命令数据)
//下传参数: 无
//编程人: MCUC51
//编程时间: 2007.02.15
void LCM12864_WRI (uchar dat)
{
uchar i;
RS=0;
RW=1;
do
{
PDATA=0x0ff;
E=1;
i=PDATA;
E=0;
}
while(i&0x80);
RW=0;
PDATA=dat;
E=1;
E=0;
}
//函数名: LCM12864_WRD
//功能: 12864液晶模块写数据
//上传参数: dat(要写入的数据)
//下传参数: 无
//编程人: MCUC51
//编程时间: 2007.02.15
void LCM12864_WRD (uchar dat)
{
uchar i;
RS=0;
RW=1;
do
{
PDATA=0x0ff;
E=1;
i=PDATA;
E=0;
}
while(i&0x80);
RS=1;
RW=0;
PDATA=dat;
E=1;
E=0;
}
//函数名: LCM12864_DISP
//功能: 汉字/字符显示
//上传参数: y_dat 显示的首地址(第一行为80H-87H,第二行为90H-97H,第三行为88H-8FH,第四行为98H-9FH)
// : *pdat 显示数据的基址
// : conut 显示汉字的个数
// : dalay_dat 字符与字符之间的显示时间间隔 (t=10ms*dalay_dat)
//下传参数: 无
//编程人: MCUC51
//编程时间: 2007.02.15
void LCM12864_DISP (uchar y_dat,uchar *pdat,uchar conut,uint t_dat)
{
uchar i;
LCM12864_WRI(y_dat);
for(i=0;i<conut;i++)
{
LCM12864_WRD(pdat[i*2]);
LCM12864_WRD(pdat[i*2+1]);
delay10ms(t_dat);
}
}
//函数名: LCM12864_initial
//功能: 12864液晶模块初始化 (初始化后为字符/汉字显示模式)
//上传参数: 无
//下传参数: 无
//编程人: MCUC51
//编程时间: 2007.02.15
void LCM12864_initial (void)
{
PSB=0;
delay10ms(1);
PSB=1;
delay10ms(1);
LCM12864_WRI(0x30);
delay1ms(1);
LCM12864_WRI(0x0c);
delay1ms(1);
LCM12864_WRI(0x01);
delay1ms(1);
LCM12864_WRI(0x06);
delay1ms(1);
}
//函数名: LCM12864_CLR
//功能: 12864液晶模块清0
//上传参数: 无
//下传参数: 无
//编程人: MCUC51
//编程时间: 2007.02.15
void LCM12864_CLR (void)
{
LCM12864_WRI(0x01);
delay10ms(1);
}
//函数名: LCM12864_BIMEN
//功能: 使能12864液晶显示模块显示图片功能 (使能后12864显示模块为图片显示模式)
//上传参数: 无
//下传参数: 无
//编程人: MCUC51
//编程时间: 2007.02.15
void LCM12864_BIMEN (void)
{
LCM12864_CLR();
LCM12864_WRI(0x32);
delay1ms(1);
LCM12864_WRI(0x36);
delay1ms(1);
}
//函数名: LCM12864_BIMDISP
//功能: 驱动12864液晶模块显示图片
//上传参数: *pdat图片数据首基址
//下传参数: 无
//编程人: MCUC51
//编程时间: 2007.02.15
void LCM12864_BIMDISP (uchar *pdat)
{
uchar i,j,r,y,x;
uint f=0x0000;
for(r=0;r<2;r++)
{
if(r==0){ y=0x80;x=0x80;}
else{y=0x80;x=0x88;}
for(i=0;i<32;i++)
{
LCM12864_WRI(y+i);
LCM12864_WRI(x);
for(j=0;j<16;j++)
{LCM12864_WRD(pdat[f++]);}
}
}
}
//驱动程序已通过以下的实例验证
void main (void)
{
P1_2=0;
while(1)
{
LCM12864_initial();
LCM12864_BIMEN();
LCM12864_BIMDISP (nBitmapDot);
delay10ms(500);
while(1);
LCM12864_DISP (0x92,kwi,4,20);
delay10ms(500);
LCM12864_BIMEN();
}
}
unsigned char code nBitmapDot[] = // 数据表
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -