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

📄 320240.lst

📁 RA8835或SED1335黑白屏主控系列C源程序,测试OK(端口需要根据自己需要修改)
💻 LST
字号:
C51 COMPILER V7.06   320240                                                                12/20/2008 16:55:15 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE 320240
OBJECT MODULE PLACED IN 320240.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE 320240.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*
   2          ;-------------------------------------------------------------------
   3          ;
   4          ; LCM指令端口地址FFFFH:数据端口地址:FFFEH
   5          ; 320*240点阵整屏的点象素为76800,也就有9600(2580H)个字节,单屏图形方式
   6          ; 所以第一区显示缓存地址范围为:0000H----257FH
   7          ; 所以第二区显示缓存地址范围为:2580H----4AFFH
   8          ; 所以第三区显示缓存地址范围为:4B00H----707FH
   9          ; 320*240点阵整屏---一行占40个字节的显示缓存
  10          ;
  11          ;--------------------------------------------------------------------
  12          */
  13          
  14          #include <reg52.h>
  15          //include "240160.h"
  16          #define uchar unsigned char
  17          #define uint unsigned int
  18          //=====================================
  19          void LcdCommand(uchar com);
  20          void LcdDataWrite(uchar dat);
  21          void Initialize(void);
  22          void delay(uint);
  23          void SetCursor(uchar,uchar);
  24          void WriteOneWork(uchar,uchar,uchar *);
  25          void WriteLine(uchar,uchar,uchar);
  26          //==============================================
  27           sbit RST= P2^4;
  28           sbit A0 = P2^3;
  29           sbit CS = P2^2;
  30           sbit R_D = P2^1;
  31           sbit W_R = P2^0; 
  32          //==============================================
  33          uchar code ZKWU[]=
  34          {0x00,0x10,0x1F,0xF8,0x10,0x10,0x10,0x10,0x1F,0xF0,0x00,0x00,0x00,0x10,0x3F,
  35          0xF8,0x01,0x00,0x01,0x04,0xFF,0xFE,0x02,0x80,0x02,0x40,0x04,0x20,0x18,0x1C,0x60,0x08};
  36          uchar code ZKLIN[]=
  37          {0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0xFD,0xFE,0x10,0x20,0x10,0x60,0x38,0x70,
  38          0x34,0xB0,0x54,0xA8,0x51,0x28,0x92,0x26,0x14,0x24,0x10,0x20,0x10,0x20,0x10,0x20};
  39          
  40          
  41          
  42          
  43          void LcdCommand(uchar com)
  44          { 
  45   1              CS = 0;
  46   1              R_D = 1;
  47   1          A0 = 1;
  48   1          P1 = com;
  49   1          W_R = 0;
  50   1          W_R = 1;
  51   1          CS = 1;
  52   1              A0 = 0;
  53   1      }
  54          
  55          
C51 COMPILER V7.06   320240                                                                12/20/2008 16:55:15 PAGE 2   

  56          void LcdDataWrite(uchar dat);
  57          {
*** ERROR C141 IN LINE 57 OF 320240.C: syntax error near '{'
  58              CS = 0;
*** ERROR C231 IN LINE 58 OF 320240.C: 'CS': redefinition
*** ERROR C231 IN LINE 58 OF 320240.C: 'CS': redefinition
  59                  R_D = 1;
*** ERROR C231 IN LINE 59 OF 320240.C: 'R_D': redefinition
*** ERROR C231 IN LINE 59 OF 320240.C: 'R_D': redefinition
  60                  A0 = 0;
*** ERROR C231 IN LINE 60 OF 320240.C: 'A0': redefinition
*** ERROR C231 IN LINE 60 OF 320240.C: 'A0': redefinition
  61              P1 = dat;   
*** ERROR C231 IN LINE 61 OF 320240.C: 'P1': redefinition
*** ERROR C202 IN LINE 61 OF 320240.C: 'dat': undefined identifier
*** ERROR C231 IN LINE 61 OF 320240.C: 'P1': redefinition
  62              W_R = 0;
*** ERROR C231 IN LINE 62 OF 320240.C: 'W_R': redefinition
*** ERROR C231 IN LINE 62 OF 320240.C: 'W_R': redefinition
  63              W_R = 1;
*** ERROR C279 IN LINE 63 OF 320240.C: 'W_R': multiple initialization
*** ERROR C231 IN LINE 63 OF 320240.C: 'W_R': redefinition
*** ERROR C231 IN LINE 63 OF 320240.C: 'W_R': redefinition
  64              CS = 1;
*** ERROR C279 IN LINE 64 OF 320240.C: 'CS': multiple initialization
*** ERROR C231 IN LINE 64 OF 320240.C: 'CS': redefinition
*** ERROR C231 IN LINE 64 OF 320240.C: 'CS': redefinition
  65              A0 = 1;
*** ERROR C279 IN LINE 65 OF 320240.C: 'A0': multiple initialization
*** ERROR C231 IN LINE 65 OF 320240.C: 'A0': redefinition
*** ERROR C231 IN LINE 65 OF 320240.C: 'A0': redefinition
  66          }
*** ERROR C141 IN LINE 66 OF 320240.C: syntax error near '}'
  67          
  68          
  69          /******************************** 初始化LCD函数 ********************************/
  70          void Initialize(void)
  71          {
  72   1      uint i;
  73   1      LcdCommand(0x40); /* ---------LCD SYSTEM SET系统设置令,8个参数--------
  74   1      */
  75   1      LcdDataWrite(0x30);
  76   1      LcdDataWrite(0x87);
  77   1      LcdDataWrite(0x07);
  78   1      LcdDataWrite(39); /* 显示域长度为320dot */
  79   1      LcdDataWrite(0x36); /* 确定液晶工作频率 */
  80   1      LcdDataWrite(239); /* 显示屏高度为240dot */
  81   1      LcdDataWrite(40); /* 显示屏一行所占显示缓冲区字节数(L) */
  82   1      LcdDataWrite(0); /* 显示屏一行所占显示缓冲区字节数(H) */
  83   1      delay(0x9);
  84   1      LcdCommand(0x44); /* ---------LCD SCROLL显示区设置命令,最多10个参数---
  85   1      ------ */
  86   1      LcdDataWrite(0x00); /* 显示1区对应的显示RAM起始高8位地址 */
  87   1      LcdDataWrite(0x00); /* 显示1区对应的显示RAM起始低8位地址 */
  88   1      LcdDataWrite(240); /* 显示1区占用240个dot行 */
  89   1      LcdDataWrite(0x80); /* 显示2区对应的显示RAM起始低8位地址 */
  90   1      LcdDataWrite(0x25); /* 显示2区对应的显示RAM起始高8位地址 */
  91   1      LcdDataWrite(240); /* 显示3区占用240个dot行 */
  92   1      LcdDataWrite(0x00); /* 显示3区对应的显示RAM起始低8位地址 */
  93   1      LcdDataWrite(0x4b); /* 显示3区对应的显示RAM起始高8位地址 */
  94   1      delay(0x9);
  95   1      LcdCommand(0x5a); /* 水平卷动,初始化时必须清零 */
C51 COMPILER V7.06   320240                                                                12/20/2008 16:55:15 PAGE 3   

  96   1      LcdDataWrite(0x00);
  97   1      delay(0x9);
  98   1      LcdCommand(0x5b); /* 各个显示区的合成方式,1个参数 */
  99   1      LcdDataWrite(0x1c); /* 参数:显示方式为三屏图形叠加,逻辑或 */
 100   1      delay(0x9);
 101   1      LcdCommand(0x59); /* 打开显示,1个参数 */
 102   1      LcdDataWrite(0x04); /* 只显示第一个区并关闪烁 */
 103   1      delay(0x9);
 104   1      LcdCommand(0x4c); /* 光标自动向右增一?*/
 105   1      delay(0x9);
 106   1      LcdCommand(0x46); /* 设定光标位置命令 */
 107   1      LcdDataWrite(0); /* 从0000位置开始 */
 108   1      LcdDataWrite(0);
 109   1      delay(0x9);
 110   1      LcdCommand(0x42); /* 允许MPU连续地把显示数据写入显示区内命令 */
 111   1      for(i=0;i<32760;i++)
 112   1      {
 113   2      
 114   2      LcdDataWrite(0); /* 将32K显缓全部清零,即LCD不显示任何东西 */
 115   2      }
 116   1      }
 117          /* --------------------------设定光标,允许显示------------------------- */
 118          void SetCursor(uchar CursorHIGH,uchar CursorLOW)
 119          {
 120   1      delay(0x9);
 121   1      LcdCommand(0x46); /* 设定光标位置命令 */
 122   1      LcdDataWrite(CursorLOW); /* 从0000位置开始 */
 123   1      LcdDataWrite(CursorHIGH);
 124   1      delay(0x9);
 125   1      LcdCommand(0x42); /* 允许MPU连续地把显示数据写入显示区内命令 */
 126   1      }
 127          /* ---------------------------在指定位置显示一个汉字--------------------------- */
 128          void WriteOneWork(uchar CurHIGH,uchar CurLOW,uchar * ZiKu)
 129          {
 130   1      uchar i;
 131   1      SetCursor(CurHIGH,CurLOW); /* 设定光标,允许显示 */
 132   1      i=0;
 133   1      do
 134   1      {
 135   2      LcdDataWrite(ZiKu[i]);
 136   2      i=i+2;
 137   2      }
 138   1      while(i<0x1e);
 139   1      SetCursor(CurHIGH,CurLOW+1);
 140   1      i=1;
 141   1      while(i<0x1f)
 142   1      {
 143   2      LcdDataWrite(ZiKu[i]);
 144   2      i=i+2;
 145   2      }
 146   1      }
 147          /* ----------------------延时子程序----------------------------- */
 148          void delay(uint delx)
 149          {
 150   1      uint i=0;
 151   1      while(i<delx)
 152   1      {
 153   2      i++;
 154   2      }
 155   1      }
 156          void main(void)
 157          {
C51 COMPILER V7.06   320240                                                                12/20/2008 16:55:15 PAGE 4   

 158   1      uchar i;
 159   1      SP=0x60;
 160   1      EA=0;
 161   1      delay(0x30);
 162   1      Initialize();
 163   1      delay(0x9);
 164   1      LcdCommand(0x4f); /* 光标地址自动向下增一 */
 165   1      WriteOneWork(0,0,ZKWU);
 166   1      WriteOneWork(0x2,0x80,ZKLIN);
 167   1      while(1);
 168   1      }
 169          

C51 COMPILATION COMPLETE.  0 WARNING(S),  22 ERROR(S)

⌨️ 快捷键说明

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