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

📄 lcm.lst

📁 一个基于XMODEM协议的下载字库的程序
💻 LST
字号:
C51 COMPILER V7.50   LCM                                                                   06/22/2006 09:45:46 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE LCM
OBJECT MODULE PLACED IN .\myproject\lcm.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lcm.c LARGE OPTIMIZE(5,SPEED) BROWSE DEBUG OBJECTEXTEND OBJECT(.\myproject\
                    -lcm.obj)

line level    source

   1          
   2          #define LCM_GLOBAL
   3          #include "config.h"
   4          
   5          INT8U  bdata SfrByte;
   6          
   7          sbit SB0 = SfrByte ^ 0;
   8          sbit SB1 = SfrByte ^ 1;
   9          sbit SB2 = SfrByte ^ 2;
  10          sbit SB3 = SfrByte ^ 3;
  11          sbit SB4 = SfrByte ^ 4;
  12          sbit SB5 = SfrByte ^ 5;
  13          sbit SB6 = SfrByte ^ 6;
  14          sbit SB7 = SfrByte ^ 7;
  15          
  16          
  17          INT8U FigureId[10] = {0x77,0x30,0x6e,0x7c,0x39,0x5d,0x5f,0x70,0x7f,0x7d};
  18          
  19          INT8U data chZK[32];
  20          
  21          void ReadZK(INT8U type, INT8U da1, INT8U da2, BOOLEAN y_n_bit)
  22          {
  23   1              INT8U code *data p1;    
  24   1              INT32U addr;
  25   1              INT8U  i, *pZK;
  26   1      
  27   1              switch(type)
  28   1              {
  29   2                      case 0:
  30   2                              addr = 0x38500;
  31   2                              addr += (INT32U)da1 * 30L;
  32   2                              SPI_Read(addr, 30, chZK, y_n_bit);
  33   2                              break;
  34   2      
  35   2                      case 1:
  36   2                              addr = 0x38000;
  37   2                              addr += 8L * da1;
  38   2                              SPI_Read(addr, 8, chZK, y_n_bit);
  39   2                              break;
  40   2                              
  41   2                      case 2:
  42   2                              p1 = 0x6000 + 16L * da1;
  43   2                              if(y_n_bit)
  44   2                              {
  45   3                                      for(i=0; i<16; i++)
  46   3                                              chZK[i] = *p1++;
  47   3                              }
  48   2                              else
  49   2                              {
  50   3                                      for(i=0; i<16; i++)
  51   3                                              chZK[i] = (~(*p1++));
  52   3                              }
  53   2                              break;
  54   2                              
C51 COMPILER V7.50   LCM                                                                   06/22/2006 09:45:46 PAGE 2   

  55   2                      case 3:
  56   2                              da1 &= 0x7f;
  57   2                              da2 &= 0x7f;
  58   2                              addr = ((INT32U)da1 - 0x21) * 94L + ((INT32U)da2 - 0x21);
  59   2                              addr *= 28;
  60   2      
  61   2                              pZK = chZK;
  62   2                              *pZK++ = 0x00;
  63   2                              *pZK++ = 0x00;
  64   2                              SPI_Read(addr, 28, pZK, y_n_bit);
  65   2                              chZK[30] = 0x00;
  66   2                              chZK[31] = 0x00;
  67   2                              break;
  68   2                              
  69   2                      default:
  70   2                              return;
  71   2              }
  72   1      }
  73                                  
  74          
  75          /*--------和液晶控制器T6963C有关说明和定义-------
  76          
  77          状态标志字寄存器:PSDR   bit7  bit6  bit5  bit4  bit3  bit2  bit1  bit0
  78                                 STA7  STA6  STA5  STA4  STA3  STA2  STA1  STA0
  79          
  80          STA0:指令读、写状态             =1:准备好       =0:忙
  81          STA1:数据读、写状态             =1:准备好       =0:忙
  82          STA2:数据自动读状态             =1:准备好       =0:忙
  83          STA3:数据自动写状态             =1:准备好       =0:忙
  84          STA4:未用
  85          STA5:控制器运行检测可能性        =1:可能        =0:不能
  86          STA6:屏读/拷贝出错状态          =1:出错        =0:正确
  87          STA7:闪烁状态检测               =1:正常显示     =0:关显示
  88          
  89          T6963C可管理64KB字节的显示缓冲区。显示缓冲区的管理是通过地址计数器、图形计数器、字符计数器和CG RAM地址偏移
             -寄存器进行寻址管理
  90          一般情况下将显示缓冲区划分为文本显示区、图形显示区和CG RAM区,三个区的首地址可通过指令设置
  91          
  92          图形区域的显示原理:图形区域的首地址字节单元中的内容对应显示屏第一行点阵前八个点的显示,1- 点亮,0-灭;依

⌨️ 快捷键说明

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