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

📄 lcd.lst

📁 DS1302时间DS1302时间DS1302时间DS1302时间DS1302时间
💻 LST
字号:
C51 COMPILER V7.20   LCD                                                                   02/24/2009 12:33:47 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN .\output\lcd.obj
COMPILER INVOKED BY: F:\program files\keil3\C51\BIN\C51.EXE src\lcd.c BROWSE DEBUG OBJECTEXTEND PRINT(.\output\lcd.lst) 
                    -OBJECT(.\output\lcd.obj)

line level    source

   1                                                   #include<reg51.h>
   2          #include<intrins.h>
   3          
   4          #define uint8 unsigned int
   5          #define uchar unsigned char
   6          #define pindata P0
   7          
   8          sbit RS=P1^0;
   9          sbit RW=P1^1;
  10          sbit E=P1^2;
  11          
  12          //寄存器设置 setRS()
  13          void setRS(bit i)
  14          {
  15   1              if(i==1)
  16   1              {
  17   2                      RS=1;          //数据寄存器
  18   2              }
  19   1              else
  20   1              {
  21   2                      RS=0;          //指令寄存器
  22   2              }
  23   1      }
  24          
  25          //读写设置  setRW()
  26          void setRW(bit i)
  27          {
  28   1              if(i==1)
  29   1              {
  30   2                      RW=1;       //读操作
  31   2              }
  32   1              else
  33   1              {
  34   2                      RW=0;       //写操作
  35   2              }
  36   1      }
  37          
  38          //使能信号  setE()
  39          void setE(bit i)
  40          {
  41   1              if(i==1) E=1;
  42   1              else     E=0;
  43   1      }
  44          
  45          //IO输入输出设置  InitP0()
  46          void InitP0(bit i)
  47          {
  48   1              if(i==1) P0=0xff;  //读
  49   1              else P0=0x00;           //写
  50   1      }
  51          
  52          //读BF及AC函数   Read-BF-AC()
  53          uint8  Read_BF_AC()
  54          {
C51 COMPILER V7.20   LCD                                                                   02/24/2009 12:33:47 PAGE 2   

  55   1              uint8 readValue;
  56   1              InitP0(1);
  57   1              setRS(0);
  58   1              setRW(1);
  59   1              setE(0);
  60   1              _nop_();
  61   1              setE(1);
  62   1              _nop_();
  63   1              readValue=pindata;
  64   1              setE(0);
  65   1              _nop_();
  66   1              setRS(1);
  67   1              setRW(0);
  68   1              return readValue;
  69   1      
  70   1      }
  71          
  72          //LCD控制器状态检测 StatusCheck()    1:忙 0:闲
  73          bit StatusCheck()
  74          {
  75   1              return((int)(Read_BF_AC()&0x80));
  76   1      }
  77          
  78          //写指令 WriteCommand()
  79          void WriteCommand(uint8 command)
  80          {
  81   1              while(StatusCheck());
  82   1              InitP0(0);
  83   1              setRS(0);
  84   1              setRW(0);
  85   1              setE(0);
  86   1              _nop_();
  87   1              setE(1);
  88   1              _nop_();
  89   1              pindata=command;
  90   1              _nop_();
  91   1              _nop_();
  92   1              _nop_();
  93   1              _nop_();
  94   1              _nop_();
  95   1              setE(0);
  96   1              _nop_();
  97   1              setRS(1);
  98   1              setRW(1);
  99   1      
 100   1      }
 101          
 102          //写数据到Ram中去    WriteData()
 103          void WriteData(uint8 data1)
 104          {
 105   1              InitP0(0);
 106   1              setRS(1);
 107   1              setRW(0);
 108   1              setE(0);
 109   1              setE(1);
 110   1              pindata=data1;
 111   1              _nop_();
 112   1              _nop_();
 113   1              _nop_();
 114   1              _nop_();
 115   1              _nop_();
 116   1              _nop_();
C51 COMPILER V7.20   LCD                                                                   02/24/2009 12:33:47 PAGE 3   

 117   1              _nop_();
 118   1              _nop_();
 119   1              _nop_();
 120   1              _nop_();
 121   1              setE(0);
 122   1              setRS(0);
 123   1              setRW(1);
 124   1              
 125   1      }
 126          
 127          //在指定位置显示字符  ShowCharater()
 128          void ShowCharacter(uint8 x,uint8 y,uint8 data1)
 129          {
 130   1              uint8 temp;
 131   1              while(StatusCheck());
 132   1              temp=y&0x0f;
 133   1              x&=0x01;
 134   1              if(x)
 135   1              {
 136   2              temp|=0x40;
 137   2              }
 138   1              WriteCommand(0x80|temp);
 139   1              WriteData(data1);
 140   1      
 141   1      }
 142          
 143          //LCD初始化  InitLCD()
 144          void InitLCD()
 145          {
 146   1              WriteCommand(0x01);   //清屏
 147   1              WriteCommand(0x02);   //归位
 148   1              WriteCommand(0x06);       //增长方式,不移位
 149   1              WriteCommand(0x01);      //显示开,光标关,闪烁关       WriteCommand(0x01);      //8位,2行,5*7
 150   1      }
 151          
 152          
 153          void main()
 154          {
 155   1              InitP0(0);
 156   1              P2=0x00;
 157   1              InitLCD();
 158   1              while(1)
 159   1              {
 160   2                      ShowCharacter(0,4,'W');
 161   2                      ShowCharacter(0,5,'e');
 162   2                      ShowCharacter(0,6,'l');
 163   2                      ShowCharacter(0,7,'c');
 164   2                      ShowCharacter(0,8,'o');
 165   2                      ShowCharacter(0,9,'m');
 166   2                      ShowCharacter(0,10,'e');
 167   2                      ShowCharacter(0,11,'!');
 168   2                      ShowCharacter(1,3,'2');
 169   2                      ShowCharacter(1,4,'0');
 170   2                      ShowCharacter(1,5,'0');
 171   2                      ShowCharacter(0,6,'8');
 172   2                      ShowCharacter(1,7,'-');
 173   2                      ShowCharacter(1,8,'2');
 174   2                      ShowCharacter(1,9,'-');
 175   2                      ShowCharacter(1,10,'2');
 176   2                      ShowCharacter(1,11,'3');
 177   2                      ShowCharacter(1,12,'W');
 178   2                      ShowCharacter(1,13,'W');
C51 COMPILER V7.20   LCD                                                                   02/24/2009 12:33:47 PAGE 4   

 179   2                      ShowCharacter(1,14,'W');
 180   2              }
 181   1      
 182   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    471    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       4
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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