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

📄 shizhong.lst

📁 51单片机1602液晶可调时钟通过了proteusfa仿真测试
💻 LST
字号:
C51 COMPILER V7.06   SHIZHONG                                                              03/25/2008 16:28:59 PAGE 1   


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

stmt level    source

   1          #include<reg52.h> 
   2          #define uchar unsigned char 
   3          #define uint unsigned int
   4          uchar code table[]=" 2008-03-25 MON";
   5          uchar code table1[]="   10-10-10";
   6          uchar code table2[]="  LIU TIAN WEI";
   7          uchar code table3[]="QQ:372594681";
   8          uchar ci,miao=10 ,fen=10 ,shi=10,jianci  ,gao,di,zen,jian;
   9          sbit RS=P2^0;
  10          sbit RW=P2^1;
  11          sbit E=P2^2;
  12          sbit AA=P2^6;
  13          sbit BB=P2^7;
  14          sbit CC=P3^0;
  15          void delay(uint x)                      /*延时函数*/
  16          {
  17   1              uint i,j;
  18   1              for(i=x;i>0;i--)
  19   1                      for(j=110;j>0;j--);
  20   1      }
  21          void write_cod(uchar cod)   /*写指令函数*/
  22          {
  23   1              E=0;
  24   1              RS=0;
  25   1              RW=0;
  26   1              P0=cod;
  27   1              delay(5);
  28   1              E=1;
  29   1              delay(5);
  30   1              E=0;
  31   1                      
  32   1      }
  33          void write_date(uchar date)  /*写数据函数*/
  34          {
  35   1              E=0;
  36   1              RS=1;
  37   1              RW=0;
  38   1              P0=date;
  39   1              delay(5);
  40   1              E=1;
  41   1              delay(5);
  42   1              E=0;
  43   1                      
  44   1      }
  45          void init()                                  /*初始化函数*/
  46          {
  47   1              uchar num;
  48   1              write_cod(0x38);                /*液晶工作状态定义*/
  49   1              write_cod(0x0c);
  50   1              write_cod(0x06);
  51   1              write_cod(0x01);
  52   1              write_cod(0x80+0x16);   /*第一行*/ 
  53   1              for(num=0;num<14;num++)
  54   1              {
  55   2                      write_date(table2[num]);        
C51 COMPILER V7.06   SHIZHONG                                                              03/25/2008 16:28:59 PAGE 2   

  56   2                      delay(5);
  57   2              }
  58   1              write_cod(0x80+0x56);    /*第二行*/ 
  59   1              for(num=0;num<12;num++)
  60   1              {
  61   2                      write_date(table3[num]);        
  62   2                      delay(5);
  63   2              }
  64   1              for(num=0;num<20;num++)
  65   1              {
  66   2                      write_cod(0x1c);
  67   2                      delay(100);
  68   2              }
  69   1              delay(1000);
  70   1              write_cod(0x01);
  71   1              write_cod(0x06);
  72   1              write_cod(0x80);
  73   1              for(num=0;num<15;num++)
  74   1              {
  75   2                      write_date(table[num]); 
  76   2                      delay(80);
  77   2              }
  78   1              write_cod(0x80+0x40);
  79   1              for(num=0;num<12;num++)
  80   1              {
  81   2                      write_date(table1[num]);        
  82   2                      delay(80);
  83   2              }
  84   1              TMOD=0x01;
  85   1              TH0=(65536-50000)/256;
  86   1              TL0=(65536-50000)%256;
  87   1              EA=1;   
  88   1              ET0=1;
  89   1              TR0=1;
  90   1      }
  91          void xianshi(uchar add,uchar shu)
  92          {
  93   1              gao=shu/10;
  94   1              di=shu%10;
  95   1              write_cod(0x80+0x40+add);
  96   1              write_date(0x30+gao);
  97   1              write_date(0x30+di);
  98   1      }
  99          zenjian(uchar xx)
 100          {
 101   1                              zen=xx;
 102   1                              if(BB==0)
 103   1                              delay(15);
 104   1                              if(BB==0)
 105   1                      { 
 106   2                              while(!BB);
 107   2                              zen++;
 108   2                              if(zen==60)
 109   2                              zen=0;
 110   2                              //miao=zen;
 111   2                              
 112   2                      }
 113   1                              if(CC==0)
 114   1                              delay(15);
 115   1                              if(CC==0)
 116   1                      { 
 117   2                              while(!CC);
C51 COMPILER V7.06   SHIZHONG                                                              03/25/2008 16:28:59 PAGE 3   

 118   2                              zen--;
 119   2                              if(zen==0)
 120   2                              zen=59;
 121   2                              //miao=zen;
 122   2                              
 123   2                      }  
 124   1      
 125   1      return zen;
 126   1      }
 127          void  key()
 128          {
 129   1              if(AA==0)
 130   1              delay(15);
 131   1              if(AA==0)
 132   1              { while(!AA);
 133   2               TR0=0;
 134   2               jianci++;
 135   2              }
 136   1              if(jianci==1)
 137   1              {
 138   2              
 139   2              write_cod(0x80+0x40+9);
 140   2                      write_cod(0x0e);
 141   2                      miao=zenjian( miao);
 142   2                  xianshi(9,miao);
 143   2              
 144   2                      
 145   2                       
 146   2                      
 147   2              }
 148   1              if(jianci==2)
 149   1              {
 150   2                      write_cod(0x80+0x40+6);
 151   2                      write_cod(0x0e);
 152   2                      fen=zenjian(fen);
 153   2              
 154   2                      xianshi(6,fen);
 155   2                       
 156   2              }
 157   1              if(jianci==3)
 158   1              {
 159   2                      write_cod(0x80+0x40+3);
 160   2                      write_cod(0x0e);
 161   2                      shi=zenjian(shi);
 162   2                      xianshi(3,shi);
 163   2                       
 164   2              }
 165   1              if(jianci==4)
 166   1              {
 167   2                      jianci=0;
 168   2                //write_cod(0x80+0x40+7);
 169   2                      write_cod(0x0c);
 170   2                      TR0=1;
 171   2              }
 172   1      
 173   1      }
 174          
 175          void main()
 176          {
 177   1              init();
 178   1              while(1)
 179   1              {
C51 COMPILER V7.06   SHIZHONG                                                              03/25/2008 16:28:59 PAGE 4   

 180   2                      key();
 181   2                      if(ci==20)
 182   2                      {
 183   3                      ci=0;
 184   3                              miao++;
 185   3                              if(miao==60)
 186   3                              {
 187   4                                      miao=0;
 188   4                                      fen++;
 189   4                                      if(fen==60)
 190   4                                      {
 191   5                                                fen=0;
 192   5                                                shi++;
 193   5                                              if(shi==24)
 194   5                                                shi=0;
 195   5                                              xianshi(3,shi);
 196   5                                              
 197   5                                      }
 198   4                                      xianshi(6,fen);
 199   4                              }
 200   3                              xianshi(9,miao);        
 201   3                  }
 202   2       
 203   2              }
 204   1       
 205   1      }
 206          void timer0() interrupt 1
 207          {
 208   1              EA=0;
 209   1              ET0=0;
 210   1              TR0=0;
 211   1              ci++;
 212   1              TH0=(65536-50000)/256;
 213   1              TL0=(65536-50000)%256;
 214   1              EA=1;
 215   1              ET0=1;
 216   1              TR0=1;
 217   1              
 218   1              
 219   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    529    ----
   CONSTANT SIZE    =     56    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      9    ----
   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 + -