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

📄 show.lst

📁 采用LPC935控制的一个项目
💻 LST
📖 第 1 页 / 共 4 页
字号:
C51 COMPILER V7.10   SHOW                                                                  06/18/2007 11:05:54 PAGE 1   


C51 COMPILER V7.10, COMPILATION OF MODULE SHOW
OBJECT MODULE PLACED IN show.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE source\show.c BROWSE DEBUG OBJECTEXTEND PRINT(.\show.lst) OBJECT(show.obj)

line level    source

   1          
   2          /*
   3          *********************************************************************************************************
   4          *
   5          * 文 件 名 : LCD240160b.c
   6          *
   7          * 作    者 : Aoker
   8          *
   9          * 创建日期 : 2004年12月7日
  10          * 描    述 : LCD的接口驱动函数
  11          * 备     注: 如果显示图形时有阴影的竖状条幅出现可以给液晶的读写命令加大延时.
  12          *
  13          * 版    本 : 1.0
  14          *********************************************************************************************************
  15          */
  16          
  17          #include <REG935.H>
  18          #include"..\SOURCE\general.h"
  19          #include "..\SOURCE\Lcd.h"
  20          #include <math.h>
  21          extern BYTE code ASCII[][16];
  22          bit  CS;
  23          
  24          
  25          /*********************************************************************************************************
  26          * 函数名称: LcdWriteCmd  
  27          *
  28          * 功能描述: 向LCD写入指令
  29          *
  30          * 入口参数: bCmd,命令代码
  31          *
  32          * 出口参数: 无
  33          *
  34          * 全局变量: 无
  35          * 
  36          * 调用模块: 无
  37          *
  38          * 作    者: Aoker
  39          * 创建时间: 2004年12月7日
  40          ********************************************************************************************************/
  41          static void LcdWriteCmd(BYTE bCmd)      
  42          {
  43   1              RD = 1;
  44   1      
  45   1              _nop_ ();
  46   1              _nop_ ();
  47   1              _nop_ ();
  48   1      
  49   1              A0 = 1;
  50   1              _nop_ ();
  51   1              _nop_ ();
  52   1              _nop_ ();
  53   1              P0 = bCmd;
  54   1              _nop_ ();
  55   1              _nop_ ();
C51 COMPILER V7.10   SHOW                                                                  06/18/2007 11:05:54 PAGE 2   

  56   1              _nop_ ();
  57   1              CS = 0;
  58   1              _nop_ ();
  59   1              _nop_ ();
  60   1              _nop_ ();
  61   1              _nop_ ();
  62   1              _nop_ ();
  63   1              _nop_ ();
  64   1              WR = 0;
  65   1              _nop_ ();
  66   1              _nop_ ();
  67   1              _nop_ ();
  68   1              WR = 1;
  69   1              _nop_ ();
  70   1              _nop_ ();
  71   1              _nop_ ();
  72   1              CS = 1;
  73   1              _nop_ ();
  74   1              _nop_ ();
  75   1              _nop_ ();
  76   1      }
  77          
  78          /*********************************************************************************************************
  79          * 函数名称: LcdWriteData  
  80          *
  81          * 功能描述: 向LCD写入数据
  82          *
  83          * 入口参数: bData,液晶写入数据
  84          *
  85          * 出口参数: 无
  86          *
  87          * 全局变量: 无
  88          *
  89          * 调用模块: 无
  90          *
  91          * 作    者: Aoker
  92          * 创建时间: 2004年12月7日
  93          ********************************************************************************************************/
  94          static void LcdWriteData(BYTE bData)
  95          {
  96   1              RD = 1;
  97   1              _nop_ ();
  98   1              _nop_ ();
  99   1              _nop_ ();
 100   1              A0 = 0;
 101   1              _nop_ ();
 102   1              _nop_ ();
 103   1              _nop_ ();
 104   1              P0 = bData;
 105   1              _nop_ ();
 106   1              _nop_ ();
 107   1              _nop_ ();
 108   1              CS = 0;
 109   1              _nop_ ();
 110   1              _nop_ ();
 111   1              _nop_ ();
 112   1              WR = 0;
 113   1              _nop_ ();
 114   1              _nop_ ();
 115   1              _nop_ ();
 116   1              WR = 1;
 117   1              _nop_ ();
C51 COMPILER V7.10   SHOW                                                                  06/18/2007 11:05:54 PAGE 3   

 118   1              _nop_ ();
 119   1              _nop_ ();
 120   1              CS = 1;
 121   1              _nop_ ();
 122   1              _nop_ ();
 123   1              _nop_ ();
 124   1      }
 125          
 126          /*********************************************************************************************************
 127          * 函数名称: LcdRead  
 128          *
 129          * 功能描述: 读出数据或光标地址
 130          *
 131          * 入口参数: 无
 132          *
 133          * 出口参数: 数据或光标地址
 134          *
 135          * 全局变量: 无
 136          *
 137          * 调用模块: 无
 138          *
 139          * 作    者: Aoker
 140          * 创建时间: 2004年12月7日
 141          *-------------------------------------------------------------------------------------------------------
 142          * 修 改 人: Aoker
 143          *
 144          * 说    明: 2004年12月7日的创建的程序读液晶数据不对,造成在显示图形或汉字时,只能在横坐标整除8的位置处才能
 145          *               正确显示,其他位置处显示时会出现竖状的阴影条幅. 改正之后,如果还出现,则可在液晶的读写函数里加
 146          *                       大延时即可解决.
 147          *
 148          * 修改时间: 2004年12月10日
 149          ********************************************************************************************************/
 150          static BYTE LcdRead(void){
 151   1      
 152   1              BYTE bStatus;
 153   1      
 154   1      /*
 155   1              P0 = 0xff;
 156   1              A0 = 1;
 157   1              RD = 0;
 158   1              bStatus = P0;
 159   1              CS = 0;
 160   1              RD = 1;
 161   1              CS = 1;
 162   1      */
 163   1              P0 = 0xff;
 164   1              _nop_ ();
 165   1              _nop_ ();
 166   1              _nop_ ();
 167   1              RD = 1;
 168   1              _nop_ ();
 169   1              _nop_ ();
 170   1              _nop_ ();
 171   1              A0 = 1;
 172   1              _nop_ ();
 173   1              _nop_ ();
 174   1              _nop_ ();
 175   1              CS = 0;
 176   1              _nop_ ();
 177   1              _nop_ ();
 178   1              _nop_ ();
 179   1              RD = 0;
C51 COMPILER V7.10   SHOW                                                                  06/18/2007 11:05:54 PAGE 4   

 180   1              _nop_ ();
 181   1              _nop_ ();
 182   1              _nop_ ();
 183   1              bStatus = P0;
 184   1              _nop_ ();
 185   1              _nop_ ();
 186   1              _nop_ ();
 187   1              CS = 1;                         
 188   1              _nop_ ();
 189   1              _nop_ ();
 190   1              _nop_ ();
 191   1              RD = 1;
 192   1              _nop_ ();
 193   1              _nop_ ();
 194   1              _nop_ ();
 195   1        
 196   1          return(bStatus);
 197   1      }
 198          
 199          /*********************************************************************************************************
 200          * 函数名称: LcdInit  
 201          *
 202          * 功能描述: LCD初始化
 203          *
 204          * 入口参数: 无
 205          *
 206          * 出口参数: 无
 207          *
 208          * 全局变量: 无
 209          *
 210          * 调用模块: LcdWriteCmd(),
 211          *           LcdWriteData(),
 212          *
 213          * 作    者: Aoker
 214          * 创建时间: 2004年12月7日
 215          ********************************************************************************************************/
 216          void LcdInit(void)
 217          {
 218   1      
 219   1              BYTE i;
 220   1      
 221   1              const BYTE SYSTAB[8] = {0x30,0x87,0x07,0x1D,0x42,0x9f,0x1e,0x00};
 222   1              const BYTE SCRTAB[8] = {0x00,0x00,0xA0,0xC0,0x12,0xA0,0x80,0x25};
 223   1      //      CCU_init(80);
 224   1              LcdWriteCmd(0x40);
 225   1              for(i=0; i<8; i++)
 226   1              {
 227   2                      LcdWriteData(SYSTAB[i]);
 228   2              }
 229   1      
 230   1              LcdWriteCmd(0x44);
 231   1              for(i=0; i<8; i++)
 232   1              {
 233   2                      LcdWriteData(SCRTAB[i]);
 234   2              }
 235   1      
 236   1              LcdWriteCmd(0x5A);
 237   1              LcdWriteData(0x00);
 238   1              LcdWriteCmd(0x5B);
 239   1              LcdWriteData(0x0C);
 240   1              LcdWriteCmd(0x59);
 241   1              LcdWriteData(0x04);
C51 COMPILER V7.10   SHOW                                                                  06/18/2007 11:05:54 PAGE 5   

 242   1      }
 243          
 244          /*********************************************************************************************************
 245          * 函数名称: LcdClr  
 246          *
 247          * 功能描述: 清除整个LCD屏幕
 248          *
 249          * 入口参数: 无
 250          *
 251          * 出口参数: 无
 252          *
 253          * 全局变量: 无
 254          *
 255          * 调用模块: LcdWriteCmd(),
 256          *           LcdWriteData(),

⌨️ 快捷键说明

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