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

📄 lcd.lst

📁 数控直流恒流源
💻 LST
字号:
C51 COMPILER V6.12  LCD                                                                    10/24/2008 22:55:37 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN .\LCD.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE .\LCD.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include<reg51.h>
   2          #include"Config.h"
   3          #include"IOCfg.c"
*** ERROR C231 IN LINE 10 OF E:\KEIL\C51\INC\REG51.H: 'P0': redefinition
*** ERROR C231 IN LINE 11 OF E:\KEIL\C51\INC\REG51.H: 'P1': redefinition
*** ERROR C231 IN LINE 12 OF E:\KEIL\C51\INC\REG51.H: 'P2': redefinition
*** ERROR C231 IN LINE 13 OF E:\KEIL\C51\INC\REG51.H: 'P3': redefinition
*** ERROR C231 IN LINE 14 OF E:\KEIL\C51\INC\REG51.H: 'PSW': redefinition
*** ERROR C231 IN LINE 15 OF E:\KEIL\C51\INC\REG51.H: 'ACC': redefinition
*** ERROR C231 IN LINE 16 OF E:\KEIL\C51\INC\REG51.H: 'B': redefinition
*** ERROR C231 IN LINE 17 OF E:\KEIL\C51\INC\REG51.H: 'SP': redefinition
*** ERROR C231 IN LINE 18 OF E:\KEIL\C51\INC\REG51.H: 'DPL': redefinition
*** ERROR C231 IN LINE 19 OF E:\KEIL\C51\INC\REG51.H: 'DPH': redefinition
*** ERROR C231 IN LINE 20 OF E:\KEIL\C51\INC\REG51.H: 'PCON': redefinition
*** ERROR C231 IN LINE 21 OF E:\KEIL\C51\INC\REG51.H: 'TCON': redefinition
*** ERROR C231 IN LINE 22 OF E:\KEIL\C51\INC\REG51.H: 'TMOD': redefinition
*** ERROR C231 IN LINE 23 OF E:\KEIL\C51\INC\REG51.H: 'TL0': redefinition
*** ERROR C231 IN LINE 24 OF E:\KEIL\C51\INC\REG51.H: 'TL1': redefinition
*** ERROR C231 IN LINE 25 OF E:\KEIL\C51\INC\REG51.H: 'TH0': redefinition
*** ERROR C231 IN LINE 26 OF E:\KEIL\C51\INC\REG51.H: 'TH1': redefinition
*** ERROR C231 IN LINE 27 OF E:\KEIL\C51\INC\REG51.H: 'IE': redefinition
*** ERROR C231 IN LINE 28 OF E:\KEIL\C51\INC\REG51.H: 'IP': redefinition
*** ERROR C231 IN LINE 29 OF E:\KEIL\C51\INC\REG51.H: 'SCON': redefinition
*** ERROR C231 IN LINE 30 OF E:\KEIL\C51\INC\REG51.H: 'SBUF': redefinition
*** ERROR C231 IN LINE 35 OF E:\KEIL\C51\INC\REG51.H: 'CY': redefinition
*** ERROR C231 IN LINE 36 OF E:\KEIL\C51\INC\REG51.H: 'AC': redefinition
*** ERROR C231 IN LINE 37 OF E:\KEIL\C51\INC\REG51.H: 'F0': redefinition
*** ERROR C231 IN LINE 38 OF E:\KEIL\C51\INC\REG51.H: 'RS1': redefinition
*** ERROR C231 IN LINE 39 OF E:\KEIL\C51\INC\REG51.H: 'RS0': redefinition
*** ERROR C231 IN LINE 40 OF E:\KEIL\C51\INC\REG51.H: 'OV': redefinition
*** ERROR C231 IN LINE 41 OF E:\KEIL\C51\INC\REG51.H: 'P': redefinition
*** ERROR C231 IN LINE 44 OF E:\KEIL\C51\INC\REG51.H: 'TF1': redefinition
*** ERROR C231 IN LINE 45 OF E:\KEIL\C51\INC\REG51.H: 'TR1': redefinition
*** ERROR C231 IN LINE 46 OF E:\KEIL\C51\INC\REG51.H: 'TF0': redefinition
*** ERROR C231 IN LINE 47 OF E:\KEIL\C51\INC\REG51.H: 'TR0': redefinition
*** ERROR C231 IN LINE 48 OF E:\KEIL\C51\INC\REG51.H: 'IE1': redefinition
*** ERROR C231 IN LINE 49 OF E:\KEIL\C51\INC\REG51.H: 'IT1': redefinition
*** ERROR C231 IN LINE 50 OF E:\KEIL\C51\INC\REG51.H: 'IE0': redefinition
*** ERROR C231 IN LINE 51 OF E:\KEIL\C51\INC\REG51.H: 'IT0': redefinition
*** ERROR C231 IN LINE 54 OF E:\KEIL\C51\INC\REG51.H: 'EA': redefinition
*** ERROR C231 IN LINE 55 OF E:\KEIL\C51\INC\REG51.H: 'ES': redefinition
*** ERROR C231 IN LINE 56 OF E:\KEIL\C51\INC\REG51.H: 'ET1': redefinition
*** ERROR C231 IN LINE 57 OF E:\KEIL\C51\INC\REG51.H: 'EX1': redefinition
*** ERROR C231 IN LINE 58 OF E:\KEIL\C51\INC\REG51.H: 'ET0': redefinition
*** ERROR C231 IN LINE 59 OF E:\KEIL\C51\INC\REG51.H: 'EX0': redefinition
*** ERROR C231 IN LINE 62 OF E:\KEIL\C51\INC\REG51.H: 'PS': redefinition
*** ERROR C231 IN LINE 63 OF E:\KEIL\C51\INC\REG51.H: 'PT1': redefinition
*** ERROR C231 IN LINE 64 OF E:\KEIL\C51\INC\REG51.H: 'PX1': redefinition
*** ERROR C231 IN LINE 65 OF E:\KEIL\C51\INC\REG51.H: 'PT0': redefinition
*** ERROR C231 IN LINE 66 OF E:\KEIL\C51\INC\REG51.H: 'PX0': redefinition
*** ERROR C231 IN LINE 69 OF E:\KEIL\C51\INC\REG51.H: 'RD': redefinition
*** ERROR C231 IN LINE 70 OF E:\KEIL\C51\INC\REG51.H: 'WR': redefinition
*** ERROR C231 IN LINE 71 OF E:\KEIL\C51\INC\REG51.H: 'T1': redefinition
*** ERROR C231 IN LINE 72 OF E:\KEIL\C51\INC\REG51.H: 'T0': redefinition
*** ERROR C231 IN LINE 73 OF E:\KEIL\C51\INC\REG51.H: 'INT1': redefinition
C51 COMPILER V6.12  LCD                                                                    10/24/2008 22:55:37 PAGE 2   

*** ERROR C231 IN LINE 74 OF E:\KEIL\C51\INC\REG51.H: 'INT0': redefinition
*** ERROR C231 IN LINE 75 OF E:\KEIL\C51\INC\REG51.H: 'TXD': redefinition
*** ERROR C231 IN LINE 76 OF E:\KEIL\C51\INC\REG51.H: 'RXD': redefinition
*** ERROR C231 IN LINE 79 OF E:\KEIL\C51\INC\REG51.H: 'SM0': redefinition
*** ERROR C231 IN LINE 80 OF E:\KEIL\C51\INC\REG51.H: 'SM1': redefinition
*** ERROR C231 IN LINE 81 OF E:\KEIL\C51\INC\REG51.H: 'SM2': redefinition
*** ERROR C231 IN LINE 82 OF E:\KEIL\C51\INC\REG51.H: 'REN': redefinition
*** ERROR C231 IN LINE 83 OF E:\KEIL\C51\INC\REG51.H: 'TB8': redefinition
*** ERROR C231 IN LINE 84 OF E:\KEIL\C51\INC\REG51.H: 'RB8': redefinition
*** ERROR C231 IN LINE 85 OF E:\KEIL\C51\INC\REG51.H: 'TI': redefinition
*** ERROR C231 IN LINE 86 OF E:\KEIL\C51\INC\REG51.H: 'RI': redefinition
   4          #include"TimeDLY.h"
   5          #include"LCD.h"
   6          
   7          //IO输入输出控制
   8          void InitLCDData(bit i) 
   9          {
  10   1      	if(i==1) LCDData = 0xff;
  11   1      	else     LCDData = 0x00;
  12   1      	} 
  13          
  14          //指令/数据选择函数:SetLCD_RS()
  15          void  SetLCD_RS(bit i)
  16          {
  17   1      	if(i==1) LCDRS = 1;
  18   1      	else     LCDRS = 0;
  19   1      	}
  20          
  21          //读写操作控制信号:SetLCD_RW()
  22          void SetLCD_RW(bit i)
  23          {
  24   1      	if(i==1) LCDRW = 1;
  25   1      	else     LCDRW = 0;
  26   1      	}
  27          
  28          //使能信号:SetLCD_EN()
  29          void SetLCD_EN(bit i)
  30          {
  31   1      	if(i==1) LCDE = 1;
  32   1      	else     LCDE = 0;
  33   1      	}	
  34          	
  35          //复位:SetLCD_RST()
  36          void SetLCD_RST(bit i)
  37          {
  38   1      	if(i==1) LCDRST = 1;
  39   1      	else     LCDRST = 0;
  40   1      	}
  41          
  42          //读状态函数:ReadStatus()
  43          INT8U ReadStatus(void)
  44          {
  45   1        INT8U i;
  46   1        InitLCDData(1);
  47   1        SetLCD_RW(1);
  48   1        SetLCD_RS(0);
  49   1        SetLCD_EN(0);
  50   1        nNop(10);
  51   1        SetLCD_EN(1);
  52   1        nNop(20);
  53   1        i = LCDData;
  54   1        nNop(40);
C51 COMPILER V6.12  LCD                                                                    10/24/2008 22:55:37 PAGE 3   

  55   1        SetLCD_EN(0);
  56   1        return(i);
  57   1      }
  58          
  59          //读一字节数据函数:ReadOneByte()
  60          INT8U ReadOneByte(void)
  61          {
  62   1        INT8U i;
  63   1        InitLCDData(1);
  64   1        SetLCD_RW(1);
  65   1        SetLCD_RS(1);
  66   1        SetLCD_EN(0);
  67   1        nNop(10);
  68   1        SetLCD_EN(1);
  69   1        nNop(20);
  70   1        i = LCDData;
  71   1        nNop(40);
  72   1        SetLCD_EN(0);
  73   1        return(i);
  74   1      }
  75          
  76          //写指令函数:WriteInstruc()
  77          void WriteInstruc(INT8U Instruction)
  78          {
  79   1        while((ReadStatus() & 0x80)!= 0x00);
  80   1        InitLCDData(0);
  81   1        SetLCD_RW(0);
  82   1        SetLCD_RS(0);
  83   1        SetLCD_EN(0);
  84   1        LCDData = Instruction;
  85   1        nNop(100);
  86   1        SetLCD_EN(1);
  87   1        nNop(100);
  88   1        SetLCD_EN(0);  
  89   1      }
  90          
  91          //写一字节数据函数:WriteOneByte()
  92          void WriteOneByte(INT8U Data)
  93          {
  94   1        while((ReadStatus() & 0x80)!= 0x00);
  95   1        InitLCDData(0);
  96   1        SetLCD_RW(0);
  97   1        SetLCD_RS(1);
  98   1        SetLCD_EN(0);
  99   1        LCDData = Data;
 100   1        nNop(100);
 101   1        SetLCD_EN(1);
 102   1        nNop(100);
 103   1        SetLCD_EN(0);
 104   1      }
 105          
 106          //复位函数:ResetLCD()
 107          void ResetLCD(void)
 108          {
 109   1        LDelay(40);
 110   1        SetLCD_RST(0);
 111   1        LDelay(1);
 112   1        SetLCD_RST(1);
 113   1        LDelay(1);
 114   1      }
 115          
 116          //初始化函数:InitLCD()
C51 COMPILER V6.12  LCD                                                                    10/24/2008 22:55:37 PAGE 4   

 117          void InitLCD(void)
 118          {
 119   1        ResetLCD();
 120   1        FunctionSet(0x30); // Function Set: 8_bits_Data, Base_Instrution
 121   1        LDelay(1);
 122   1        FunctionSet(0x30); // Function Set: 8_bits_Data, Base_Instrution
 123   1        LDelay(1);
 124   1        Disp_OnOff(0x0c);  // Disp_ON: The Whole ALL_ON
 125   1        LDelay(1);
 126   1        ClearLCD();        // Clear LCD
 127   1        LDelay(1);
 128   1        PointSet(0x06);    // Entry Mode Set: DDRAM Address Counter(AC) + 1
 129   1        LDelay(1);
 130   1      }
 131          
 132          //显示一个汉字(16x16)函数:DispOneWord()
 133          void DispOneWord(INT8U X,INT8U Y,INT16U Word)
 134          {
 135   1        INT8U Disp_Address;
 136   1        INT8U Address_H;
 137   1        INT8U Address_L;
 138   1        
 139   1        if((X == 0x00)||(X == 0x02)) // 0,2行
 140   1        	Address_H = 0x80;
 141   1        else // 1,3行
 142   1        	Address_H = 0x90;
 143   1        	
 144   1        if((X == 0x00)||(X == 0x01)) // 0,1行
 145   1        	Address_L = Y;
 146   1        else // 2,3行
 147   1        	Address_L = Y + 0x08;
 148   1        Disp_Address = (Address_H | Address_L) & 0xff;
 149   1        SetDDRAM_Add(Disp_Address); 				// Set DDRAM(Disp_Address)
 150   1        WriteOneByte(((Word & 0xff00) >> 8) & 0xff); // H_Byte
 151   1        WriteOneByte(Word & 0xff);		 // L_Byte  
 152   1      }
 153          
 154          
 155          //显示两个字符(8x16)函数:DispTwoCharacter()
 156          void DispTwoCharacter(INT8U X,INT8U Y,INT8U Character1,INT8U Character2)
 157          {
 158   1        INT8U Disp_Address;
 159   1        INT8U Address_H;
 160   1        INT8U Address_L;
 161   1        
 162   1        if((X == 0x00)||(X == 0x02)) // 0,2行
 163   1        	Address_H = 0x80;
 164   1        else // 1,3行
 165   1        	Address_H = 0x90;
 166   1        	
 167   1        if((X == 0x00)||(X == 0x01)) // 0,1行
 168   1        	Address_L = Y;
 169   1        else // 2,3行
 170   1        	Address_L = Y + 0x08;
 171   1        Disp_Address = Address_H | Address_L;
 172   1        SetDDRAM_Add(Disp_Address); // Set DDRAM(Disp_Address)
 173   1        WriteOneByte(Character1);
 174   1        WriteOneByte(Character2);
 175   1       }

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

⌨️ 快捷键说明

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