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

📄 16x2_lcd.lst

📁 lcd16x2的驱动程序,另外有proteus制作的模型,万年历
💻 LST
字号:
C51 COMPILER V7.09   16X2_LCD                                                              12/21/2007 09:06:41 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE 16X2_LCD
OBJECT MODULE PLACED IN 16x2_lcd.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 16x2_lcd.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "16x2_main.h"
   2          
   3          /*
   4          unsigned char year_q=2;
   5          unsigned char year_b=0;
   6          unsigned char year_s=0;
   7          unsigned char year_g=7;
   8          unsigned char month_s=1;
   9          unsigned char month_g=2;
  10          unsigned char day_s=2;
  11          unsigned char day_g=0;
  12          
  13          unsigned char hour_s=0;
  14          unsigned char hour_g=0;
  15          unsigned char min_s=0;
  16          unsigned char min_g=0;
  17          unsigned char sec_s=0;
  18          unsigned char sec_g=0;
  19          */
  20          
  21          unsigned char datatime[14]={2,0,0,7,1,2,2,0,0,0,0,0,0,0,};
  22          
  23          
  24          void Delay(unsigned char time)
  25          {
  26   1         unsigned char i=1000;
  27   1         while(time--)
  28   1         {
  29   2           while(i--);
  30   2          }
  31   1      
  32   1      }
  33          
  34          void Lcd_CodeWrite(char c)
  35          {
  36   1        RS=0;
  37   1        W_R=0;
  38   1        E =1;
  39   1        COM=c;
  40   1        E =0;
  41   1      }
  42          
  43          void Lcd_DataWrite(char c)
  44          {
  45   1        RS=1;
  46   1        W_R=0;
  47   1        E =1;
  48   1        COM=c;
  49   1        E =0;
  50   1      }
  51          
  52          bit Lcd_StateRead()
  53          {
  54   1        char c;
  55   1        bit busy;
C51 COMPILER V7.09   16X2_LCD                                                              12/21/2007 09:06:41 PAGE 2   

  56   1        RS=0;
  57   1        W_R=1;
  58   1        E =1;
  59   1        c=COM;
  60   1        E =0;
  61   1        busy=(c>>7);
  62   1        return busy; 
  63   1      }
  64          
  65          void Lcd_Initial()
  66          {
  67   1        Lcd_CodeWrite(0x01); //清屏 
  68   1        Delay(1000);
  69   1        Lcd_CodeWrite(0x06); //输入方式设定,ac++,画面不动   
  70   1        Delay(1000);
  71   1        Lcd_CodeWrite(0x38); //二行显示,一个字符为5x7    
  72   1        Delay(1000);
  73   1      //  Lcd_CodeWrite(0x02); //光标回home位
  74   1       // Delay(100);
  75   1         Lcd_CodeWrite(0x14); //光标右移,画面不动
  76   1         Delay(100);
  77   1      //   Lcd_CodeWrite(0x0f); //显示开,光标开,闪
  78   1         Lcd_CodeWrite(0x0c);   //显示开, 光标关c,闪
  79   1         Delay(100);
  80   1      }
  81          
  82          //turn data to char data
  83          
  84          void Turn_DataChar(char *Data_String)
  85          {
  86   1         
  87   1        Data_String[0]='d';Data_String[1]='a';Data_String[2]='t';
  88   1        Data_String[3]='a';Data_String[4]=':';
  89   1      
  90   1        Data_String[5]=datatime[0]+0x30;               //千
  91   1        Data_String[6]=datatime[1]+0x30;               //百
  92   1        Data_String[7]=datatime[2]+0x30;           //十
  93   1        Data_String[8]=datatime[3]+0x30;                 //个
  94   1        Data_String[9]='-';
  95   1        Data_String[10]=datatime[4]+0x30;
  96   1        Data_String[11]=datatime[5]+0x30;
  97   1        Data_String[12]='-';
  98   1        Data_String[13]=datatime[6]+0x30;
  99   1        Data_String[14]=datatime[7]+0x30; 
 100   1      
 101   1      }
 102            
 103          
 104          //turn time to char time
 105          
 106          void Turn_TimeChar(char *Time_String)
 107          {
 108   1        
 109   1        Time_String[0]='t';Time_String[1]='i';Time_String[2]='m';
 110   1        Time_String[3]='e';Time_String[4]=':';
 111   1        
 112   1        Time_String[5]=datatime[8]+0x30;             //十                                        
 113   1        Time_String[6]=datatime[9]+0x30;             //个                              
 114   1        Time_String[7]=':';               
 115   1        Time_String[8]=datatime[10]+0x30; 
 116   1        Time_String[9]=datatime[11]+0x30;
 117   1        Time_String[10]=':';
C51 COMPILER V7.09   16X2_LCD                                                              12/21/2007 09:06:41 PAGE 3   

 118   1        Time_String[11]=datatime[12]+0x30;
 119   1        Time_String[12]=datatime[13]+0x30;
 120   1      
 121   1      }
 122          
 123          //显示框架
 124          //gloable
 125          
 126          
 127          
 128          void Lcd_FramDisplay()
 129          {
 130   1        unsigned char  Data[15];//2007-12-20
 131   1        unsigned char  Time[13];//00:00:00
 132   1        unsigned i;  
 133   1      
 134   1      
 135   1        Turn_DataChar(Data);
 136   1        Turn_TimeChar(Time);
 137   1      
 138   1        for(i=0;i<15;i++)
 139   1        {
 140   2             while(Lcd_StateRead());
 141   2             Lcd_CodeWrite(0x80|i);      //address
 142   2             while(Lcd_StateRead());
 143   2             Lcd_DataWrite(Data[i]);    //data           
 144   2         }
 145   1               
 146   1      for(i=0;i<13;i++)
 147   1            {
 148   2             while(Lcd_StateRead());
 149   2             Lcd_CodeWrite(0x80|0x40|i);
 150   2             while(Lcd_StateRead());
 151   2             Lcd_DataWrite(Time[i]);      
 152   2           }
 153   1       
 154   1      }
 155          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    447    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     14      28
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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