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

📄 lcd7920.c.bak

📁 LCD7920汉字液晶操作程序
💻 BAK
📖 第 1 页 / 共 2 页
字号:
/****************************************************************************
*                                                                           *
* File:         LCD.C                                                       *
*                                                                           *
* Created:      29/12/05                                                    *
*                                                                           *
* Author:       王凤秀                                                      *
*                                                                           *
* Compiler:     KEIL C51 V6.23                                              *
*                                                                           *
* Description:  RT12864液晶屏例程库.                                        *
*                                                                           *
*****************************************************************************
*                                                                           *
* Version | Date     | Description                                          *
* --------+----------+----------------------------------------------------- *
* V1.0    | 21.11.95 | 原始文本                                             *
*                                                                           *
****************************************************************************/
#define _LCD_GLOBALS
#include "Includes.h"
/*******************************************************************************************
*                                                                                          *
* Function:uchar void LCD_LCD_Send_CMDD(uchar *Cmd_Array)                                      *
*                                                                                          *
* Input:        -Cmd_Array为命令数组,使用3个单元                                           *
*                         0--命令的第一参数                                                *
*                         1--命令的第二参数                                                *
*                         2--命令码                                                        *
*                                                                                          *
* Output:       -                                                                          *
*                                                                                          *
* Description:  向液晶屏发送命令.                                                          *
*                                                                                          *
*******************************************************************************************/
uchar code WS_TAB[816] ={
              0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
              0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
              0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x03,0xFF,0xFF,0xFF,0x80,
              0x00,0x7F,0xC0,0x00,0x00,0x00,0x00,0x01,0xFF,0x80,0x00,0xFF,0xFF,0xFF,0xFF,0xE0,
              0x01,0xFF,0xF0,0x00,0x00,0x00,0x00,0x07,0xFF,0xC0,0x0F,0xFF,0xFF,0xFF,0xFF,0xF0,
              0x03,0xFF,0xF8,0x00,0x00,0x00,0x00,0x0F,0xFF,0xE0,0x3F,0xFF,0xFF,0xFF,0xFF,0xF0,
              0x03,0xFF,0xFC,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF0,0x7F,0xFF,0xFF,0xFF,0xFF,0xC0,
              0x03,0xFF,0xFE,0x00,0x00,0x00,0x00,0x1F,0xFF,0xE0,0xFF,0xFF,0x00,0x00,0x00,0x00,
              0x01,0xFF,0xFE,0x00,0x00,0x00,0x00,0x3F,0xFF,0xC0,0xFF,0xFE,0x00,0x00,0x00,0x00,
              0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x7F,0xFF,0x80,0xFF,0xFC,0x00,0x00,0x00,0x00,
              0x00,0x7F,0xFF,0x80,0x1F,0x80,0x00,0xFF,0xFF,0x00,0xFF,0xFC,0x00,0x00,0x00,0x00,
              0x00,0x3F,0xFF,0xC0,0x7F,0xC0,0x01,0xFF,0xFE,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,
              0x00,0x1F,0xFF,0xE0,0x7F,0xE0,0x03,0xFF,0xFE,0x00,0xFF,0xFF,0xC0,0x00,0x00,0x00,
              0x00,0x0F,0xFF,0xF0,0x7F,0xF0,0x03,0xFF,0xFC,0x00,0x7F,0xFF,0xFF,0xFF,0xF8,0x00,
              0x00,0x07,0xFF,0xF8,0x3F,0xF8,0x07,0xFF,0xF8,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0x00,
              0x00,0x07,0xFF,0xFC,0x1F,0xFC,0x0F,0xFF,0xF0,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xC0,
              0x00,0x03,0xFF,0xFE,0x0F,0xFE,0x1F,0xFF,0xE0,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xE0,
              0x00,0x01,0xFF,0xFF,0x07,0xFF,0x1F,0xFF,0xC0,0x00,0x00,0x00,0x00,0x7F,0xFF,0xF0,
              0x00,0x00,0xFF,0xFF,0x81,0xFF,0xBF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x03,0xFF,0xF0,
              0x00,0x00,0x7F,0xFF,0x81,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x03,0xFF,0xF0,
              0x00,0x00,0x7F,0xFF,0xC0,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xF0,
              0x00,0x00,0x3F,0xFF,0xE0,0x7F,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF0,
              0x00,0x00,0x1F,0xFF,0xF0,0x3F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xF0,
              0x00,0x00,0x0F,0xFF,0xF0,0x0F,0xFF,0xF8,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,
              0x00,0x00,0x07,0xFF,0xF8,0x0F,0xFF,0xF0,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,
              0x00,0x00,0x03,0xFF,0xF0,0x03,0xFF,0xE0,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,
              0x00,0x00,0x01,0xFF,0xE0,0x03,0xFF,0xC0,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xE0,0x00,
              0x00,0x00,0x00,0x3E,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
              0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
              0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
              0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
              0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFB,0xFF,0xFF,
              0xFF,0xFF,0xFE,0x3F,0xFF,0xFE,0x7F,0xBF,0xFF,0xFC,0x7F,0xFF,0xFF,0x3B,0xFF,0xFF,
              0xFF,0xFF,0xF0,0x1F,0xFF,0xFE,0x4F,0xBF,0xFF,0xFE,0x7F,0xFF,0xFF,0xBB,0xFF,0xFF,
              0xFF,0xFC,0xFF,0x9F,0xFF,0xFC,0xFF,0xBF,0xFF,0xFF,0xC3,0xFF,0xFF,0x80,0xFF,0xFF,
              0xFF,0xFE,0xFF,0xBF,0xFF,0xFD,0x7F,0xBF,0xFF,0xB8,0x01,0xFF,0xFE,0x3B,0xFF,0xFF,
              0xFF,0xFE,0xF1,0xBF,0xFF,0xFB,0xDD,0xBF,0xFF,0xBF,0xF7,0xFF,0xFF,0xAB,0xFF,0xFF,
              0xFF,0xFE,0xFF,0xBF,0xFF,0xF5,0xCD,0xBF,0xFF,0x3C,0xFF,0xFF,0xFF,0xBB,0xFF,0xFF,
              0xFF,0xFE,0xFF,0xBF,0xFF,0xEC,0xDD,0xBF,0xFF,0x7C,0xFF,0xFF,0xFF,0xAB,0xFF,0xFF,
              0xFF,0xFE,0x81,0xBF,0xFF,0xFC,0xDD,0xBF,0xFF,0xE0,0x3F,0xFF,0xFF,0xBB,0x7F,0xFF,
              0xFF,0xFE,0x99,0x9F,0xFF,0xFD,0xBD,0xBF,0xFF,0xE9,0xFF,0xFF,0xFF,0x20,0x3F,0xFF,
              0xFF,0xFE,0x99,0x9F,0xFF,0xFC,0x3D,0xBF,0xFF,0xF3,0x7F,0xFF,0xFC,0x7D,0xFF,0xFF,
              0xFF,0xFE,0xD1,0x9F,0xFF,0xF9,0xFD,0xBF,0xFF,0xF7,0x3F,0xFF,0xFF,0x3E,0xFF,0xFF,
              0xFF,0xFC,0xDF,0x9F,0xFF,0xFA,0x1F,0xBF,0xFF,0xEE,0x7F,0xFF,0xFE,0xEF,0x7F,0xFF,
              0xFF,0xFC,0xFF,0x9F,0xFF,0xF0,0xDF,0xBF,0xFF,0xDC,0xDF,0xFF,0xFD,0x83,0x8F,0xFF,
              0xFF,0xFC,0xFF,0x9F,0xFF,0xF4,0x9F,0xBF,0xFF,0xBD,0xCF,0xFF,0xF9,0xAF,0xC3,0xFF,
              0xFF,0xFC,0xFF,0x1F,0xFF,0xEE,0xFE,0x3F,0xFF,0xF0,0x27,0xFF,0xF7,0xEF,0xFF,0xFF,
              0xFF,0xFD,0xFF,0xBF,0xFF,0xFF,0xFF,0x3F,0xFF,0xF1,0xF7,0xFF,0xFF,0xE0,0x7F,0xFF,
              0xFF,0xFF,0xFF,0xBF,0xFF,0xFF,0xFF,0x3F,0xFF,0xFF,0xFF,0xFF,0xFC,0x7F,0xFF,0xFF,
              0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
              0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
            };

/*******************************************************************************************
*                                                                                          *
* Function:void LCD_Init(void)                                                             *
*                                                                                          *
* Input:        -                                                                          *
* Output:       -                                                                          *
*                                                                                          *
* Description:  液晶屏初始化例程.                                                          *
*                                                                                          *
*******************************************************************************************/
void LCD_Init(void)
{
  LCD_Send_CMD(0x30);                      //功能设定:8位并口
  LCD_Wait_nBysy();                            //等待命令处理结束.
  delay_1ms(0x0A);
  LCD_Send_CMD(0x30);                      //功能设定:8位并口
  delay_1ms(0x0A);
  LCD_Wait_nBysy();                            //等待命令处理结束.
  LCD_Send_CMD(0x0C);                      //B2=1--整体显示On, B1=1--游标显示On, B0=1--游标反显On.
  LCD_Wait_nBysy();                            //等待命令处理结束.
  LCD_Send_CMD(0x01);                      //清显示.
  LCD_Wait_nBysy();                            //等待命令处理结束.
  LCD_Send_CMD(0x06);                      //配置:B1=1--游标右移, B0=1画面整体移动.
  LCD_Wait_nBysy();                            //等待命令处理结束.
}
/*******************************************************************************************
*                                                                                          *
* Function:uchar Wait_EN_LCD_CMD_Write(void)                                               *
*                                                                                          *
* Input:        -                                                                          *
* Output:       -                                                                          *
*                                                                                          *
* Description:  等待LCD进入命令写使能状态.                                                 *
*                                                                                          *
*******************************************************************************************/
void  LCD_Wait_nBysy(void)
{
  while(LCD_Read_CMD() & 0x80)
  {
    _nop_();
  }
}
/*******************************************************************************************
*                                                                                          *
* Function:uchar LCD_Print_Chinese(uchar _ROW,uchar _COL, code uchar * PT,uchar _Num)      *
*                                                                                          *
* Input:        -_ROW--起始行号                                                            *
*                _COL--起始列号                                                            *
*                _PT --字符串指针                                                          *
*                _Num--要显示的汉字数.                                                     *
* Output:       -                                                                          *
*                                                                                          *
* Description:  显示汉字串.                                                                *
*                                                                                          *
*******************************************************************************************/
void LCD_Print_Chinese(uchar _ROW,uchar _COL, uchar code  * PT,uchar _Num)
{
  uchar data itmp;
  uchar data count;
  uchar Tmp_Array[0x10];
  //计算显示首址
  itmp=((_ROW*0x20+_COL) % 0x40) | 0x40;
  LCD_Send_CMD(itmp);                       //置起始行列  
  count=0;
  Tmp_Array[0]=(uchar) itmp;
  Tmp_Array[1]=(uchar) (itmp>>8);
  Tmp_Array[2]=0x24;  //设置显示存储器首址
  LCD_Send_CMD(Tmp_Array);
  while(count<0xF0)
  {
    if(PT[count]==0)
      break;
    Tmp_Array[1]=PT[count]-0x20;
    Tmp_Array[2]=0xC0;  //设置显示存储器首址
    LCD_Send_CMD(Tmp_Array);
    ++count;

⌨️ 快捷键说明

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