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

📄 hjmcu.lst

📁 很实用的单片机例程
💻 LST
字号:
C51 COMPILER V7.00  HJMCU                                                                  10/10/2009 01:14:45 PAGE 1   


C51 COMPILER V7.00, COMPILATION OF MODULE HJMCU
OBJECT MODULE PLACED IN HJMCU.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE HJMCU.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include<reg52.h>
   2          #include<define.h>
   3          void delay(uint z)
   4          {
   5   1              uint x,y;
   6   1              for(x=z;x>0;x--)
   7   1                      for(y=110;y>0;y--);
   8   1      }
   9          
  10          void didi() 
  11          {
  12   1              beep=0;
  13   1              delay(50);
  14   1              beep=1;
  15   1              delay(100);
  16   1              beep=0;
  17   1              delay(50);
  18   1              beep=1;
  19   1      }
  20          void write_com(uchar com)
  21          {
  22   1              rs=0;
  23   1              lcden=0;
  24   1              P0=com;
  25   1              delay(5);
  26   1              lcden=1;
  27   1              delay(5);
  28   1              lcden=0;        
  29   1      }
  30          
  31          void write_date(uchar date)
  32          {
  33   1              rs=1;
  34   1              lcden=0;
  35   1              P0=date;
  36   1              delay(5);
  37   1              lcden=1;
  38   1              delay(5);
  39   1              lcden=0;        
  40   1      }
  41          
  42          void init()
  43          {//wr=0;
  44   1      
  45   1              uchar num;
  46   1              EA=1;
  47   1              EX0=1;
  48   1              IT0=1;
  49   1      
  50   1              dula=0;
  51   1              wela=0;
  52   1              lcden=0;
  53   1      //      set_time();
  54   1              set_alarm(14,13,10);
  55   1              write_ds(0x0B,0x26);
C51 COMPILER V7.00  HJMCU                                                                  10/10/2009 01:14:45 PAGE 2   

  56   1              read_ds(0x0c);
  57   1      //      fen=59;
  58   1      //      miao=53;
  59   1      //      shi=23;
  60   1              write_com(0x38);
  61   1              write_com(0x0c);
  62   1              write_com(0x06);
  63   1              write_com(0x01);
  64   1              write_com(0x80);
  65   1              for(num=0;num<15;num++)
  66   1                      {
  67   2                              write_date(table[num]);
  68   2                              delay(5);
  69   2                      }
  70   1              write_com(0x80+0x40);
  71   1              for(num=0;num<12;num++)
  72   1                      {
  73   2                              write_date(table1[num]);
  74   2                              delay(5);
  75   2                      }
  76   1      
  77   1      }
  78          
  79          void write_sfm(uchar add,uchar date)
  80          {
  81   1              uchar shi,ge;
  82   1              shi=date/10;
  83   1              ge=date%10;
  84   1              write_com(0x80+0x40+add);
  85   1              write_date(0x30+shi);
  86   1              write_date(0x30+ge);
  87   1      }
  88          
  89          void keyscan()
  90          {
  91   1              rd=0;
  92   1              if(flag1==1)
  93   1              {
  94   2                      if(s2==0)
  95   2                      {       
  96   3                              delay(5);
  97   3                              if(s2==0)
  98   3                              {
  99   4                                      while(!s2);
 100   4                                      flag1=0;
 101   4                              }
 102   3                                      
 103   3                      }
 104   2                      if(s3==0)
 105   2                      {       
 106   3                              delay(5);
 107   3                              if(s3==0)
 108   3                              {
 109   4                                      while(!s3);
 110   4                                      flag1=0;
 111   4                              }
 112   3                                      
 113   3                      }
 114   2              }
 115   1                      
 116   1              if(s1==0)       
 117   1              {
C51 COMPILER V7.00  HJMCU                                                                  10/10/2009 01:14:45 PAGE 3   

 118   2                      delay(5);
 119   2                      if(s1==0)
 120   2                      {       s1num++;
 121   3                              flag=1;
 122   3                              flag1=0;
 123   3                              while(!s1);
 124   3                              if(s1num==1)
 125   3                              {
 126   4                                      TR0=0;
 127   4                                      write_com(0x80+0x40+10);
 128   4                                      write_com(0x0f);
 129   4                              }
 130   3              }
 131   2                              if(s1num==2)
 132   2                              {
 133   3                                      write_com(0x80+0x40+7);
 134   3                              }
 135   2                              if(s1num==3)
 136   2                              {
 137   3                                      write_com(0x80+0x40+4);
 138   3                              }
 139   2                              if(s1num==4)
 140   2                              {
 141   3                                      s1num=0;
 142   3                                      write_com(0x0c);
 143   3                                      flag=0;
 144   3                                      write_ds(0,miao);
 145   3                                      write_ds(2,fen);
 146   3                                      write_ds(4,shi);
 147   3                              }
 148   2      
 149   2                                      
 150   2                      }
 151   1                      if(s1num!=0)
 152   1                      {
 153   2                              if(s2==0)
 154   2                              {
 155   3                                      delay(1);
 156   3                                      if(s2==0)
 157   3                                      {
 158   4                                              while(!s2);
 159   4                                              if(s1num==1)
 160   4                                              {
 161   5                                                      miao++;
 162   5                                                      if(miao==60)
 163   5                                                              miao=0;
 164   5                                                      write_sfm(10,miao);
 165   5                                                      write_com(0x80+0x40+10);
 166   5                                                      
 167   5                                                      
 168   5                                              }
 169   4                                              if(s1num==2)
 170   4                                              {
 171   5                                                      fen++;
 172   5                                                      if(fen==60)
 173   5                                                              fen=0;
 174   5                                                      write_sfm(7,fen);
 175   5                                                      write_com(0x80+0x40+7);
 176   5                                              }
 177   4                                              if(s1num==3)
 178   4                                              {
 179   5                                                      shi++;
C51 COMPILER V7.00  HJMCU                                                                  10/10/2009 01:14:45 PAGE 4   

 180   5                                                      if(shi==24)
 181   5                                                              shi=0;
 182   5                                                      write_sfm(4,shi);
 183   5                                                      write_com(0x80+0x40+4);
 184   5                                              }
 185   4                                      }
 186   3                              }
 187   2                              if(s3==0)
 188   2                              {
 189   3                                      delay(1);
 190   3                                      if(s3==0)
 191   3                                      {
 192   4                                              while(!s3);
 193   4                                              if(s1num==1)
 194   4                                              {
 195   5                                              /*      if(miao==0)
 196   5                                                      {
 197   5                                                              miao=59;
 198   5                                                              write_sfm(10,miao);
 199   5                                                              write_com(0x80+0x40+10);
 200   5                                                      }*/
 201   5                                                      miao--;
 202   5                                                      if(miao==-1)
 203   5                                                              miao=59;
 204   5                                                      write_sfm(10,miao);
 205   5                                                      write_com(0x80+0x40+10);
 206   5                                              }
 207   4                                              if(s1num==2)
 208   4                                              {
 209   5                                                      fen--;
 210   5                                                      if(fen==-1)
 211   5                                                              fen=59;
 212   5                                                      write_sfm(7,fen);
 213   5                                                      write_com(0x80+0x40+7);
 214   5                                              }
 215   4                                              if(s1num==3)
 216   4                                              {
 217   5                                                      shi--;
 218   5                                                      if(shi==-1)
 219   5                                                              shi=23;
 220   5                                                      write_sfm(4,shi);
 221   5                                                      write_com(0x80+0x40+4);
 222   5                                              }
 223   4                                      }
 224   3                              }
 225   2                      }
 226   1      }
 227          
 228          void write_ds(uchar add,uchar date)
 229          {
 230   1              dscs=0;
 231   1              dsas=1;
 232   1              dsds=1;
 233   1              dsrw=1;
 234   1              P0=add;
 235   1              dsas=0;
 236   1              dsrw=0;
 237   1              P0=date;
 238   1              dsrw=1;
 239   1              dsas=1;
 240   1              dscs=1;                         
 241   1      }
C51 COMPILER V7.00  HJMCU                                                                  10/10/2009 01:14:45 PAGE 5   

 242          
 243          uchar read_ds(uchar add)
 244          {
 245   1              uchar ds_date;
 246   1              dsas=1;
 247   1              dsds=1;
 248   1              dsrw=1;
 249   1              dscs=0;
 250   1              P0=add;
 251   1              dsas=0;
 252   1              dsds=0;
 253   1              P0=0xff;
 254   1              ds_date=P0;
 255   1              dsds=1;
 256   1              dsas=1;
 257   1              dscs=1;
 258   1              return ds_date; 
 259   1      }
 260          
 261          void set_time()
 262          {
 263   1              write_ds(4,10);
 264   1              write_ds(2,32);
 265   1              
 266   1      }
 267          
 268          void set_alarm(uchar ashi,uchar afen,uchar amiao)
 269          {
 270   1              write_ds(1,amiao);
 271   1              write_ds(3,afen);
 272   1              write_ds(5,ashi);
 273   1      }
 274          void main()
 275          {wr=0;
 276   1      
 277   1              init();
 278   1              while(1)
 279   1              {
 280   2                      keyscan();
 281   2                      if(flag1==1)
 282   2                              didi();
 283   2                      if(flag==0)
 284   2                      {
 285   3                              miao=read_ds(0);        
 286   3                              fen=read_ds(2);
 287   3                              shi=read_ds(4);
 288   3                              write_sfm(10,miao);
 289   3                              write_sfm(7,fen);
 290   3                              write_sfm(4,shi);
 291   3                      }
 292   2              }
 293   1      }
 294          
 295          void exter() interrupt 0
 296          {       uchar c;
 297   1              flag1=1;
 298   1              c=read_ds(0x0c);
 299   1      }
 300          
 301          
 302          
 303          
C51 COMPILER V7.00  HJMCU                                                                  10/10/2009 01:14:45 PAGE 6   



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    721    ----
   CONSTANT SIZE    =     29    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      7       1
   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 + -