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

📄 lcddisp.c

📁 51单片机编程序学习实践经验丰富工程师编写实机通过
💻 C
字号:
/*****************************************************************/ 
/*                                                               */                                                                
/*名称:                LCD12864显示程序                         */                                                                                                                                                                           
/*功能:                    显示图片。                           */                                                    
/*难度等级:                   高                                */                                                                     
/* 作者:                  51kaifa                               */
/* 版权:           http://www.51kaifa.com                       */
/*编写日期:        2006.05.20                                   */                                                                                                                                                                                                             
/*****************************************************************/

#include <reg52.h>
#include  <string.h>

#define uchar unsigned char

unsigned char code picture1[];
unsigned char code picture2[];

/**********引脚定义*********/

sbit lck = P3^5;//锁存信号

/********常用命令及参数定义********/
#define DISPON     0x3f
#define DISPOFF    0x3e
#define DISPFIRST  0xc0
#define SETX       0x40
#define SETY       0xb8
#define LCDBUZY    0x80
#define L          0x00
#define R          0x40
#define LIMIT      0x80


/**********全局变量************/
uchar  cbyte;
uchar data statu;
bit xy;

/**************函数******************/

void WrL(uchar x);
void WrR(uchar x);
void Lcmcls(void);
void Lcminit (void);
void Putpicture(uchar flag);

void VtoH8x16change(uchar *hzbuf);
void Puthalf(uchar *strch,uchar row,uchar col);
void Wrdata(uchar x,uchar row,uchar col);
void Locatexy(uchar row,uchar col);
void vWrite8x16Character(uchar *ch,uchar row,uchar col,bit flag);
void vWrite8x16String(uchar  *str,uchar col, uchar row, bit flag);

extern void  delay(unsigned int loop);

extern uchar  code picture1[];
extern uchar  code picture2[];
extern uchar  code  char_Table[95][16];

     
/***************初始化LCD*****************/

void Lcminit (void)
{ 
    cbyte=DISPOFF;
    WrL(cbyte);
    WrR(cbyte);
    cbyte=DISPON;
    WrL(cbyte);
    WrR(cbyte);
    cbyte=DISPFIRST;
    WrL(cbyte);
    WrR(cbyte);
    Lcmcls();
    Locatexy(0,0);
}


/***************LCD清屏********************/
void Lcmcls(void)
{ uchar  i,j;
    for(i=0;i<8;i++){
      delay(6);
        for(j=0;j<LIMIT;j++){
          delay(6);
          Wrdata(0x0,i,j);
         }
     }
}

/**************写左区***************/

void WrL(uchar x)
{
   
   P0=0xFF;//P0口送FF,准备读
   lck = 0;
   P1 = 0x2a;//ELCD=1

⌨️ 快捷键说明

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