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

📄 text2.lst

📁 单片机方面的程序
💻 LST
字号:
C51 COMPILER V8.02   TEXT2                                                                 10/20/2008 20:21:09 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE TEXT2
OBJECT MODULE PLACED IN Text2.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Text2.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h>                                      
   2          #include <intrins.h>                                    
   3          
   4          //--------LCD control bit---------------
   5          sbit  LCD_RS   = P2^0;    
   6          sbit  LCD_RW   = P2^1;    
   7          sbit  LCD_EN    = P2^4;
   8          sbit INT_0 =P3^2;
   9           #define LCDDATA   P0    
  10          unsigned char KeyValue,timer0_tick=0,Flag_time=0;
  11          
  12          
  13          typedef struct { 
  14                          char    hour;
  15                          char    minute;
  16                          char    second;
  17          }time;
  18          time now={11,28,45} ;
  19          
  20          
  21          void delay_10ms()      
  22          {
  23   1              unsigned char k;
  24   1                 for (k=0;k<20;k++);
  25   1      }
  26          void delay()      
  27          {
  28   1              unsigned char j,k;
  29   1              for (j=0;j<100;j++);
  30   1                 for (k=0;k<200;k++);
  31   1      } 
  32          void WriteCommand(unsigned char c)   
  33          {
  34   1              delay_10ms();
  35   1              LCD_RS=0;
  36   1              LCD_RW=0;
  37   1              _nop_();
  38   1              LCD_EN=1;
  39   1              LCDDATA=c;
  40   1              LCD_EN=0;
  41   1      }
  42                                  
  43          void WriteData(unsigned char c)   
  44          {
  45   1              delay_10ms();
  46   1      
  47   1              LCD_RS=1;
  48   1              LCD_RW=0;
  49   1              _nop_();
  50   1              LCD_EN=1;
  51   1              LCDDATA=c;
  52   1              LCD_EN=0;
  53   1      
  54   1      }
  55          
C51 COMPILER V8.02   TEXT2                                                                 10/20/2008 20:21:09 PAGE 2   

  56          void ShowChar(unsigned char pos,unsigned char c)   
  57          {
  58   1              WriteCommand(pos+0x80);
  59   1              WriteData(c);
  60   1      }
  61          void ShowString(unsigned char ptr)    
  62          {
  63   1          unsigned char i=0,j=0x80;
  64   1           while(i<8)
  65   1               {
  66   2                  if(ptr&j)
  67   2                      {
  68   3                           
  69   3                       ShowChar(3+i,'1') ;
  70   3                               }
  71   2                      else  {
  72   3                           
  73   3                       ShowChar(3+i,'0') ;
  74   3                               }
  75   2                      i++; 
  76   2                      j=j>>1;
  77   2              }
  78   1              ShowChar(11,' ') ;
  79   1              
  80   1      
  81   1      }                       
  82          
  83          void InitLCD(void)    
  84          {    
  85   1          delay_10ms();
  86   1              WriteCommand(0x38);  
  87   1              WriteCommand(0x38);  
  88   1              WriteCommand(0x06);   
  89   1              WriteCommand(0x0C); 
  90   1              //WriteCommand(0x01);  
  91   1              WriteCommand(0x80);  
  92   1      }
  93          
  94          void    Ex0_Key() interrupt 0 using 0 
  95           { 
  96   1          unsigned char  x,y;
  97   1          EA=0;
  98   1              delay();
  99   1              x=P1;
 100   1              P1=0xff;
 101   1              P1=0xf0;
 102   1              y=P1;
 103   1          KeyValue=x+y;
 104   1         ShowString(KeyValue);
 105   1         //ShowChar(6,KeyValue+0x30) ;
 106   1               switch(KeyValue)
 107   1              {
 108   2               // case 0xee: Flag_time=1;
 109   2               
 110   2          }
 111   1         P1=0x0f;
 112   1               EA=1;
 113   1       }
 114           void initTimer (void)
 115          {
 116   1      
 117   1              EA=0; 
C51 COMPILER V8.02   TEXT2                                                                 10/20/2008 20:21:09 PAGE 3   

 118   1              TMOD=0x01;
 119   1              TH0=-9460/256;
 120   1              TL0=-9460%256;         //初始化计数器初值,
 121   1              PT0=1;
 122   1              TR0=1;
 123   1              ET0=1;
 124   1          EA =1;
 125   1      }
 126          void ShowTime()
 127          {
 128   1         ShowChar(4,now.hour/10+0x30);
 129   1         ShowChar(5,now.hour%10+0x30);
 130   1         ShowChar(6,':');
 131   1         ShowChar(7,now.minute/10+0x30);
 132   1         ShowChar(8,now.minute%10+0x30);
 133   1         ShowChar(9,':');
 134   1         ShowChar(10,now.second/10+0x30);
 135   1         ShowChar(11,now.second%10+0x30);
 136   1      }
 137          void timer0 (void) interrupt 1
 138          {        
 139   1              TR0=0;
 140   1          TH0=-9460/256;
 141   1              TL0=-9460%256;         //初始化计数器初值       
 142   1          TR0=1;
 143   1          timer0_tick++;
 144   1              if (timer0_tick==100)
 145   1         {
 146   2              timer0_tick=0;
 147   2                      /***********************************************************/                    
 148   2                      if(now.second==59)
 149   2                              {
 150   3                                              now.second=0;            
 151   3                              if (now.minute==59) 
 152   3                                      { 
 153   4                                              now.minute=0;                   
 154   4                                                              if (now.hour==23)
 155   4                                                      {
 156   5                                                                              
 157   5                                                                              now.hour = 0;
 158   5                                                                      now.minute =0;
 159   5                                                                      now.second =0;                                                                   
 160   5                                                      }else now.hour++;
 161   4                                      }else now.minute++;               
 162   3                              }else  now.second++;
 163   2                  if(Flag_time)
 164   2                      {
 165   3                          ShowTime();
 166   3                      }
 167   2              /*      else if(Flag_xhtime)
 168   2                      {
 169   2                         CycShow();
 170   2                      } */
 171   2                                      
 172   2                        
 173   2        }             
 174   1      }
 175          
 176          void main (void)
 177          {
 178   1            InitLCD();
 179   1                initTimer();
C51 COMPILER V8.02   TEXT2                                                                 10/20/2008 20:21:09 PAGE 4   

 180   1                P1=0x0f;
 181   1               
 182   1                IT0=1;
 183   1                EX0=1;
 184   1               EA=1;
 185   1          ShowChar(2,'r') ; 
 186   1                while(1)
 187   1                {
 188   2              ;
 189   2                      
 190   2                 }
 191   1      
 192   1      }


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


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

⌨️ 快捷键说明

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