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

📄 fyd12864.c

📁 带中文字库的lcm12864模块 c51驱动程序
💻 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 + -