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

📄 main.lst

📁 很实用的单片机例程
💻 LST
字号:
C51 COMPILER V8.06   MAIN                                                                  12/02/2011 20:28:09 PAGE 1   


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

line level    source

   1          /**********************HL-1实验开发板例程************************
   2          *  平台:HL-1 V6.2 + Keil U3 + STC89C52RD
   3          *  公司:慧净电子科技有限公司
   4          *  淘宝:http://shop37031453.taobao.com       
   5          *  网站:www.hlmcu.com
   6          *  编写:慧净
   7          *  日期:2008-8-08
   8          *   QQ : 121350852 398115088
   9          *  晶振:11.0592MHZ
  10          *  说明:免费开源,不提供源代码分析,有问题直接到慧净论坛交流
  11          *  论坛:http://hjdz.5d6d.com
  12          ******************************************************************/
  13          #include<reg52.h>
  14          #include<define.h>
  15          void delay(uint z)
  16          {
  17   1              uint x,y;
  18   1              for(x=z;x>0;x--)
  19   1                      for(y=110;y>0;y--);
  20   1      }
  21          
  22          void didi() 
  23          {
  24   1              beep=0;
  25   1              delay(50);
  26   1              beep=1;
  27   1              delay(100);
  28   1              beep=0;
  29   1              delay(50);
  30   1              beep=1;
  31   1      }
  32          void write_com(uchar com)
  33          {
  34   1              rs=0;
  35   1              lcden=0;
  36   1              P0=com;
  37   1              delay(5);
  38   1              lcden=1;
  39   1              delay(5);
  40   1              lcden=0;        
  41   1      }
  42          
  43          void write_date(uchar date)
  44          {
  45   1              rs=1;
  46   1              lcden=0;
  47   1              P0=date;
  48   1              delay(5);
  49   1              lcden=1;
  50   1              delay(5);
  51   1              lcden=0;        
  52   1      }
  53          
  54          void init()
  55          {//wr=0;
C51 COMPILER V8.06   MAIN                                                                  12/02/2011 20:28:09 PAGE 2   

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

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

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

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

 304   2              }
 305   1      }
 306          
 307          void exter() interrupt 0
 308          {       uchar c;
 309   1              flag1=1;
 310   1              c=read_ds(0x0c);
 311   1      }
 312          
 313          
 314          
 315          


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 + -