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

📄 ra8835.lst

📁 C8051F020+RA8835 I/O口控制 中英文混合显示
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.20   RA8835                                                                08/19/2008 11:47:52 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE RA8835
OBJECT MODULE PLACED IN ra8835.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe ra8835.c DB OE

line level    source

   1          #include <ra8835.h>
   2          #include <wordlib.h>
   3          //#include "variable.h"
   4          //LCD初始化时 命令SystemSet 后的8个参数
   5          Uchar code ParaSysTable8[]= { 
   6                  0x30,0x87,0x07,0x27,0x42,0xf0,0x28,0x00                  
   7                  }; 
   8          //LCD初始化时 命令Scroll 后的10个参数
   9          Uchar code ParaScrTableA[]= { 
  10                  0x00,BasePart1,0xF0,0x00,BasePart2,0xF0,0x00,BasePart3,0x00,BasePart4 
  11          };
  12          
  13          Uchar  test_read;  
  14                      
  15          extern void Delay( Uint tt );
  16          extern xdata unsigned char byte_sel,position_sel,yuyan_sel;
  17          /*===================================== 
  18          ** 函数名称: WriteCommand
  19          ** 功能描述: 写指令到LCD模块MISSING DEVICE
  20          ** 输入参数: 待写入的数据值  类型 Uchar
  21          **
  22          ** 输出参数: 无
  23          **
  24          ** 全局变量: 无
  25          ** 调用模块:  
  26          **---------------------------------------
  27          ** 作  者:      wjf
  28          ** 日  期:      2008/07/30
  29          ** 注:具体操作时序图参考液晶显示模块使用手册第9页
  30          ======================================*/ 
  31          void WriteCommand( Uchar CommandByte ) { 
  32   1      
  33   1          lcd_CS = 0;
  34   1          lcd_A0 = 1;
  35   1          lcd_WR = 0;
  36   1          lcd_RD = 1;
  37   1                lcd_CMD = CommandByte;
  38   1          Delay(2);
  39   1          lcd_WR = 1;
  40   1          lcd_CS = 1;
  41   1      } 
  42          
  43          /*===================================== 
  44          ** 函数名称: WriteData
  45          ** 功能描述: 写数据到LCD模块显示内存
  46          ** 输入参数: 待写入的数据值  类型 Uchar
  47          **
  48          ** 输出参数: 无
  49          **
  50          ** 全局变量: 无
  51          ** 调用模块:  
  52          **---------------------------------------
  53          ** 作  者:      wjf
  54          ** 日  期:      2008/07/30
  55          ** 注:具体操作时序图参考液晶显示模块使用手册第9页
C51 COMPILER V7.20   RA8835                                                                08/19/2008 11:47:52 PAGE 2   

  56          ======================================*/ 
  57          void WriteData( Uchar dataW ) { 
  58   1      
  59   1          lcd_CS = 0;
  60   1                      lcd_A0 = 0;
  61   1          lcd_WR = 0;
  62   1          lcd_RD = 1;
  63   1          lcd_DATA = dataW;
  64   1          Delay(2);
  65   1          lcd_WR = 1;
  66   1          lcd_CS = 1;
  67   1          lcd_A0 = 1;
  68   1      } 
  69          /*===================================== 
  70          ** 函数名称: ReadData
  71          ** 功能描述: 读数据从LCD模块显示内存
  72          ** 输入参数: 无
  73          **
  74          ** 输出参数: 无
  75          **
  76          ** 全局变量: 无
  77          ** 调用模块:  测试函数 LcmTest
  78          **---------------------------------------
  79          ** 作  者:      wjf
  80          ** 日  期:      2008/08/04
  81          ** 注:具体操作时序图参考液晶显示模块使用手册第9页
  82          ======================================*/ 
  83          unsigned char ReadData(void)
  84          {
  85   1          char address_data;
  86   1          lcd_CS = 0;
  87   1          lcd_A0 = 1;
  88   1          Delay(1);
  89   1          lcd_WR = 1;
  90   1          lcd_RD = 0; 
  91   1          Delay(5);
  92   1          address_data = lcd_DATA;
  93   1          lcd_RD = 1;
  94   1          lcd_CS = 1;
  95   1          lcd_A0 = 1;
  96   1          return(address_data);
  97   1      }
  98          
  99          
 100          /*====================================================== 
 101          ** 函数名称: LcmInition
 102          ** 功能描述: 初始化RA8835   具体初始化内容参看程序行注释
 103          ** 输入参数: 无
 104          **
 105          ** 输出参数: 无
 106          **
 107          ** 全局变量: ParaSysTable8[]   ParaScrTableA[]
 108          ** 调用模块:  main.c中main()
 109          **------------------------------------------------------
 110          ** 作  者:      wjf
 111          ** 日  期:      2008/07/31
 112          =======================================================*/ 
 113          void LcmInition( void ) { 
 114   1      
 115   1                      Uchar i; 
 116   1          WriteCommand( SystemSet );                          // 系统参数设置 
 117   1          for (i=0;i<8;i++) {                 
C51 COMPILER V7.20   RA8835                                                                08/19/2008 11:47:52 PAGE 3   

 118   2              WriteData( ParaSysTable8[i] );                  
 119   2          } 
 120   1          WriteCommand( Scroll );                             //设定显示区域起始地址 
 121   1          for (i=0;i<10;i++) { 
 122   2              WriteData( ParaScrTableA[i] ); 
 123   2          } 
 124   1          WriteCommand( HdotScr );                                    // 写入点位移指令代码 
 125   1          WriteData( 0x00 );                          // 写入P1参数 
 126   1          WriteCommand( Ovlay );                              // 显示合成方式设置 
 127   1          WriteData( 0x04 );                           // 0000 0100 显示一区图形,三区文本属性,二重"或"合成 
 128   1          
 129   1          WriteCommand( 0x4c );                                                               //设置光标移动的方向为 光标向右移动   地址:CSR+1→CSR
 130   1          
 131   1          WriteCommand( DispOn );                     // 显示状态设置 
 132   1          WriteData( 0x54 );                          // 显示 1~4 区开显示,光标关显示 
 133   1              
 134   1      }
 135          /*============================================================================ 
 136          ** 函数名称: LcmRest
 137          ** 功能描述: 复位LCD——RA8835
 138          ** 输入参数: 无
 139          **
 140          ** 输出参数: 无
 141          **
 142          ** 全局变量: 无
 143          ** 调用模块:  
 144          **---------------------------------------------------------------------------
 145          ** 作  者:      wjf
 146          ** 日  期:      2008/08/06
 147           ============================================================================*/ 
 148          
 149          void LcmRest( void ) { 
 150   1               lcd_RES=0;
 151   1               Delay(1000);
 152   1               lcd_RES=1;
 153   1      } 
 154          
 155          /*============================================================================ 
 156          ** 函数名称: LcmClear
 157          ** 功能描述: LCD清屏函数   清除32K的显示内存
 158          ** 输入参数: 无
 159          **
 160          ** 输出参数: 无
 161          **
 162          ** 全局变量: 无
 163          ** 调用模块:  
 164          **---------------------------------------------------------------------------
 165          ** 作  者:      wjf
 166          ** 日  期:      2008/08/01
 167           ============================================================================*/ 
 168          
 169          void LcmClear( void ) { 
 170   1      
 171   1              Uint i1=32768; 
 172   1      
 173   1              WriteCommand( CsrDirR );             // 光标移动方向定义:自动右移 
 174   1              WriteCommand( CsrW );                // 光标Locate,定位 
 175   1              WriteData( 0 );                        // 写入参数CSRL设置参数光标指针低8位 
 176   1              WriteData( 0 );                        // 写入参数CSRH设置参数光标指针高8位 
 177   1              WriteCommand( mWrite );                // 数据写入指令,代码0x42 
 178   1              while(i1--)    { 
 179   2                      WriteData( 0x00 );    // 写入数据0 
C51 COMPILER V7.20   RA8835                                                                08/19/2008 11:47:52 PAGE 4   

 180   2              } 
 181   1      } 
 182          /*====================================================== 
 183          ** 函数名称: LcmTest
 184          ** 功能描述: 测试LCD  Display Memory 的写读
 185          ** 输入参数: 无
 186          **
 187          ** 输出参数: 无
 188          **
 189          ** 全局变量: 
 190          ** 调用模块:  
 191          **------------------------------------------------------
 192          ** 作  者:      wjf
 193          ** 日  期:      2008/08/04
 194          =======================================================*/ 
 195          void LcmTest( void ) { 
 196   1              
 197   1              WriteCommand( 0x46 );     //设置光标地址           
 198   1              WriteData( 0 );                       
 199   1              WriteData( 0 );        
 200   1              WriteCommand( mWrite );   // 显示数据写入指令,代码0x42 
 201   1              WriteData( 0x55 ); 
 202   1                      
 203   1              WriteCommand( 0x46 );     //设置光标地址           
 204   1              WriteData( 0 );                       
 205   1              WriteData( 0 );        
 206   1              WriteCommand( mRead );    //显示数据读出指令,代码0x43

⌨️ 快捷键说明

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