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

📄 lcm.lst

📁 基于ST7920A控制器的128*64液晶驱动程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V8.02   LCM                                                                   06/09/2007 19:54:48 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE LCM
OBJECT MODULE PLACED IN LCM.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE LCM.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //***********************************************************************
   2          //                                              液晶控制芯片ST7920驱动源文件                                    *
   3          //                                                                                                                                              *
   4          //硬件连接说明:                                                                                                                 *
   5          //                                                                                                                                              *
   6          //                              RS(CS)    -----------------------------  P3^1                   *
   7          //                              R/W(STD)  -----------------------------  P3^4                   *
   8          //                              E(SCLK)   -----------------------------  P3^5                   *
   9          //                              PSB       -----------------------------  P0^1                   *
  10          //                              RST       -----------------------------  P0^0                   *
  11          //                              DB0       -----------------------------  P1^0                   *
  12          //                              DB1       -----------------------------  P1^1                   *
  13          //                              DB2       -----------------------------  P1^2                   *
  14          //                              DB3       -----------------------------  P1^3                   *
  15          //                              DB4       -----------------------------  P1^4                   *
  16          //                              DB5       -----------------------------  P1^5                   *
  17          //                              DB6       -----------------------------  P1^6                   *
  18          //                              DB7(BUSY) -----------------------------  P1^7                   *
  19          //                                                                                                                                              *
  20          //***********************************************************************
  21          
  22          #include <reg52.h>
  23          #include<intrins.h>
  24          #include<string.h>
  25          #define uchar unsigned char
  26          #define uint  unsigned int
  27          
  28          #define  COUNT    0x10
  29          
  30          //每行的首地址,基于RT12864-4M型液晶
  31          #define LINE_ONE_ADDRESS   0x80
  32          #define LINE_TWO_ADDRESS   0x90
  33          #define LINE_THREE_ADDRESS 0x88
  34          #define LINE_FOUR_ADDRESS  0x98
  35          
  36          //基本指令集预定义
  37          #define DATA                    1               //数据位
  38          #define COMMAND                 0                       //命令位
  39          #define CLEAR_SCREEN            0x01            //清屏  
  40          #define ADDRESS_RESET           0x02            //地址归零       
  41          #define BASIC_FUNCTION          0x30            //基本指令集
  42          #define EXTEND_FUNCTION         0x34            //扩充指令集
  43          
  44          //扩展指令集预定义
  45          #define AWAIT_MODE                      0x01            //待命模式      
  46          #define ROLLADDRESS_ON          0x03            //允许输入垂直卷动地址
  47          #define IRAMADDRESS_ON          0x02            //允许输入IRAM地址      
  48          #define SLEEP_MODE                      0x08            //进入睡眠模式
  49          #define NO_SLEEP_MODE           0x0c            //脱离睡眠模式
  50          #define GRAPH_ON                        0x36            //打开绘图模式
  51          #define GRAPH_OFF                       0x34            //关闭绘图模式
  52          
  53          
  54          //并行位定义
  55          sbit RS=P3^1;
C51 COMPILER V8.02   LCM                                                                   06/09/2007 19:54:48 PAGE 2   

  56          sbit RW=P3^4;
  57          sbit E= P3^5;
  58          sbit BUSY=P1^7;
  59          
  60          //控制位定义
  61          sbit PSB = P2^3;        //串并选择信号
  62          sbit RST = P2^5;        //复位信号
  63          
  64          
  65          uchar code Tab1[]="北京信息科技大学";//显示在第一行
  66          uchar code Tab2[]="信息与通信工程系";//显示在第二行
  67          uchar code Tab3[]="电子信息工程专业";//显示在第三行
  68          uchar code Tab4[]="全国电子设计大赛";//显示在第四行
  69          uchar code Tab5[]={0x54,0xf4};
  70          
  71          //*******************************************
  72          //*函数名称:void Parallel_Check_Busy(void)      *
  73          //*函数功能:并行方式查忙                                        *
  74          //*形式参数:无                                                          *
  75          //*形参说明:无                                                          *
  76          //*返回参数:无                                                          *
  77          //*使用说明:无                                                          *
  78          //*******************************************
  79          void Parallel_Check_Busy(void)
  80          {
  81   1              bit temp;
  82   1              P1 = 0xff;      //输入前置1
  83   1              RS = 0;         //指令
  84   1              RW = 1;         //读模式
  85   1              do
  86   1              {       
  87   2                  E  = 1;      //使能
  88   2                      temp = BUSY;
  89   2                  E  = 0;
  90   2              }
  91   1              while(temp);//等待不忙
  92   1      }
  93          
  94          
  95          //************************************************************************************
  96          //*函数名称:void Parallel_Write_LCD( bit b_Data_Command , unsigned char uc_Content ) *
  97          //*函数功能:并行模式向LCD发送数据或指令                                                                                          *
  98          //*形式参数:bit b_Data_Command , unsigned char uc_Content                                                        *
  99          //*形参说明:数据或指令的标志位,指令或数据的内容                                                                          *
 100          //*返回参数:无                                                                                                                                           *
 101          //*使用说明:无                                                                                                                                           *
 102          //************************************************************************************
 103          void Parallel_Write_LCD( bit b_Data_Command , unsigned char uc_Content )
 104          {
 105   1              Parallel_Check_Busy();
 106   1              if(b_Data_Command)
 107   1               {
 108   2                      RS = 1;   //数据
 109   2              RW = 0;   //写模式
 110   2               }
 111   1              else 
 112   1               {
 113   2              RS = 0;   //指令
 114   2              RW = 0;   //写模式
 115   2               }
 116   1              P1=uc_Content;//数据放到P1口上
 117   1              E = 1;
C51 COMPILER V8.02   LCM                                                                   06/09/2007 19:54:48 PAGE 3   

 118   1              _nop_();//很重要 
 119   1              _nop_();
 120   1              _nop_();
 121   1          E = 0;                                                                                                              
 122   1      }
 123          
 124          
 125          //********************************************
 126          //*函数名称:uc_Parallel_Read_LCD_Data            *
 127          //*函数功能:并行读LCD数据                                        *
 128          //*形式参数:无                                                           *
 129          //*形参说明:无                                                           *
 130          //*返回参数:读回的数据                                           *
 131          //*使用说明:无                                                           *
 132          //********************************************
 133          uchar uc_Parallel_Read_LCD_Data(void)

⌨️ 快捷键说明

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