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

📄 lcd7920.lst

📁 LCD7920汉字液晶操作程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.01  LCD7920                                                                04/04/2006 15:06:29 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE LCD7920
OBJECT MODULE PLACED IN LCD7920.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LCD7920.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /****************************************************************************
   2          *                                                                           *
   3          * File:         LCD.C                                                       *
   4          *                                                                           *
   5          * Created:      29/12/05                                                    *
   6          *                                                                           *
   7          * Author:       王凤秀                                                      *
   8          *                                                                           *
   9          * Compiler:     KEIL C51 V6.23                                              *
  10          *                                                                           *
  11          * Description:  RT12864液晶屏例程库.                                        *
  12          *                                                                           *
  13          *****************************************************************************
  14          *                                                                           *
  15          * Version | Date     | Description                                          *
  16          * --------+----------+----------------------------------------------------- *
  17          * V1.0    | 21.11.95 | 原始文本                                             *
  18          *                                                                           *
  19          ****************************************************************************/
  20          #define _LCD_GLOBALS
  21          #include "Includes.h"
*** ERROR C231 IN LINE 27 OF LCD7920.H: 'RS': redefinition
*** ERROR C231 IN LINE 29 OF LCD7920.H: 'E': redefinition
  22          
  23          /*******************************************************************************************
  24          *                                                                                          *
  25          * Function:void LCD_Init(void)                                                             *
  26          *                                                                                          *
  27          * Input:        -                                                                          *
  28          * Output:       -                                                                          *
  29          *                                                                                          *
  30          * Description:  液晶屏初始化例程.                                                          *
  31          *                                                                                          *
  32          *******************************************************************************************/
  33          void LCD_Init(void)
  34          {
  35   1        LCD_Send_CMD(0x30);                      //功能设定:8位并口
  36   1        LCD_Wait_nBysy();                            //等待命令处理结束.
  37   1        delay_1ms(0x0A);
  38   1        LCD_Send_CMD(0x30);                      //功能设定:8位并口
  39   1        delay_1ms(0x0A);
  40   1        LCD_Wait_nBysy();                            //等待命令处理结束.
  41   1        LCD_Send_CMD(0x0C);                      //B2=1--整体显示On, B1=1--游标显示On, B0=1--游标反显On.
  42   1        LCD_Wait_nBysy();                            //等待命令处理结束.
  43   1        LCD_Send_CMD(0x01);                      //清显示.
  44   1        LCD_Wait_nBysy();                            //等待命令处理结束.
  45   1        LCD_Send_CMD(0x06);                      //配置:B1=1--游标右移, B0=1画面整体移动.
  46   1        LCD_Wait_nBysy();                            //等待命令处理结束.
  47   1      }
  48          /*******************************************************************************************
  49          *                                                                                          *
  50          * Function:uchar Wait_EN_LCD_CMD_Write(void)                                               *
  51          *                                                                                          *
  52          * Input:        -                                                                          *
  53          * Output:       -                                                                          *
C51 COMPILER V7.01  LCD7920                                                                04/04/2006 15:06:29 PAGE 2   

  54          *                                                                                          *
  55          * Description:  等待LCD进入命令写使能状态.                                                 *
  56          *                                                                                          *
  57          *******************************************************************************************/
  58          void  LCD_Wait_nBysy(void)
  59          {
  60   1        while(LCD_Read_CMD() & 0x80)
  61   1        {
  62   2          _nop_();
  63   2        }
  64   1      }
  65          /*******************************************************************************************
  66          *                                                                                          *
  67          * Function:uchar LCD_Print_Chinese(uchar _ROW,uchar _COL, code uchar * PT,uchar _Num)      *
  68          *                                                                                          *
  69          * Input:        -_ROW--起始行号                                                            *
  70          *                _COL--起始列号                                                            *
  71          *                _PT --字符串指针                                                          *
  72          *                _Num--要显示的汉字数.                                                     *
  73          * Output:       -                                                                          *
  74          *                                                                                          *
  75          * Description:  显示汉字串.                                                                *
  76          *                                                                                          *
  77          *******************************************************************************************/
  78          void LCD_Print_Chinese(uchar _ROW,uchar _COL, uchar code  * PT,uchar _Num)
  79          {
  80   1        uchar data itmp;
  81   1        uchar data count;
  82   1        uchar Tmp_Array[0x10];
  83   1        //计算显示首址
  84   1        itmp=_Num;
  85   1        itmp=((_ROW*0x20+_COL) % 0x40) | 0x40;
  86   1        LCD_Send_CMD(itmp);                       //置起始行列  
  87   1        count=0;
  88   1        Tmp_Array[0]=(uchar) itmp;
  89   1        Tmp_Array[1]=(uchar) (itmp>>8);
  90   1        Tmp_Array[2]=0x24;  //设置显示存储器首址
  91   1        LCD_Send_CMD(Tmp_Array[0]);
  92   1        while(count<0xF0)
  93   1        {
  94   2          if(PT[count]==0)
  95   2            break;
  96   2          Tmp_Array[1]=PT[count]-0x20;
  97   2          Tmp_Array[2]=0xC0;  //设置显示存储器首址
  98   2          LCD_Send_CMD(Tmp_Array[0]);
  99   2          ++count;
 100   2        }
 101   1      }
 102          /*******************************************************************************************
 103          *                                                                                          *
 104          * Function:uchar LCD_Print_Chr(uchar _ROW,uchar _COL, uchar PT)                            *
 105          *                                                                                          *
 106          * Input:        -_ROW--起始行号                                                            *
 107          *                _COL--起始列号                                                            *
 108          *                _字符串指针                                                               *
 109          * Output:       -                                                                          *
 110          *                                                                                          *
 111          * Description:  显示一个字符.                                                              *
 112          *                                                                                          *
 113          *******************************************************************************************/
 114          void LCD_Print_Chr(uchar _ROW,uchar _COL, uchar PT)
 115          {
C51 COMPILER V7.01  LCD7920                                                                04/04/2006 15:06:29 PAGE 3   

 116   1        uint data itmp;
 117   1        uchar data count;
 118   1        uchar data Tmp_Array[3];
 119   1        //计算显示首址
 120   1        itmp=_ROW*0x10+_COL;
 121   1        count=0;
 122   1        Tmp_Array[0]=(uchar) itmp;
 123   1        Tmp_Array[1]=(uchar) (itmp>>8);
 124   1        Tmp_Array[2]=0x24;  //设置显示存储器首址
 125   1        LCD_Send_CMD(Tmp_Array[0]);
 126   1        Tmp_Array[1]=PT-0x20;
 127   1        Tmp_Array[2]=0xC4;  //设置显示存储器首址

⌨️ 快捷键说明

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