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

📄 dianzizhong.lst

📁 本文设计实现的是一个多功能数字电子钟
💻 LST
字号:
C51 COMPILER V8.02   DIANZIZHONG                                                           05/13/2009 11:57:08 PAGE 1   


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

line level    source

   1          #include<reg52.h>
   2          #include<ds1302.h>
   3          #include<lcd1602.h>
   4          #include<reg52.h>
   5          #include<ds18b20.h>
   6          #include<panduan.h>
   7          #include<kaiguan.h>
   8          #include<paobiao.h>
   9          sbit s4=P1^3;
  10          sbit s5=P1^4;
  11          sbit buzzer=P2^5;
  12          uchar tc,s5num,flag1,flag2;
  13          uchar code  table[]="20  -  -        ";
  14          uchar code table1[]="  :  :         C";
  15          void init()
  16          {       
  17   1              uint i;
  18   1              flag=0;
  19   1              flag1=0;
  20   1              flag2=1;
  21   1              tc=0;
  22   1              lcden=0;
  23   1              s1num=0;
  24   1              s5num=0;
  25   1              buzzer=1;
  26   1              TMOD=0x10;
  27   1              TH1=(65536-10000)/256;
  28   1              TL1=(65536-10000)%256;
  29   1              EA=1;
  30   1              ET1=1;
  31   1              write_com(0x38);
  32   1              write_com(0x0c);
  33   1              write_com(0x06);
  34   1              write_com(0x01);
  35   1              write_com(0x80);
  36   1              for(i=0;i<15;i++)
  37   1              {
  38   2                      write_date(table[i]);
  39   2                      delay(5);
  40   2              }
  41   1              write_com(0x80+0x40);
  42   1              for(i=0;i<16;i++)
  43   1              {
  44   2                      write_date(table1[i]);
  45   2                      delay(5);
  46   2              }
  47   1              
  48   1      }
  49          void didi()
  50          {
  51   1              buzzer=0;
  52   1              delay(200);
  53   1              buzzer=1;
  54   1              delay(200);
  55   1      }
C51 COMPILER V8.02   DIANZIZHONG                                                           05/13/2009 11:57:08 PAGE 2   

  56          
  57          void shijian_dis()
  58          {               
  59   1                      
  60   1                      read_serial(aa);        
  61   1                              miao=aa[0]/16*10+aa[0]%16;
  62   1                      write_sfm(6,miao);
  63   1                              fen=aa[1]/16*10+aa[1]%16;
  64   1                              if(fen==0)
  65   1                              //buzzer=0;
  66   1                              didi();
  67   1                              else if(fen==1)
  68   1                              buzzer=1;       
  69   1                      write_sfm(3,fen);
  70   1                              shi=aa[2]/16*10+aa[2]%16;
  71   1                      write_sfm(0,shi);
  72   1                              ri=aa[3]/16*10+aa[3]%16;
  73   1                      write_yr(8,ri);
  74   1                              yue=aa[4]/16*10+aa[4]%16;
  75   1                      write_yr(5,yue);
  76   1                              week=aa[5]/16*10+aa[5]%16;      
  77   1                      write_week(11,week);
  78   1                              nian=aa[6]/16*10+aa[6]%16;
  79   1                      write_yr(2,nian);
  80   1      }
  81          
  82          
  83          void key_paobiao()
  84          {
  85   1              if(s5==0)
  86   1              {
  87   2                      delay(10);
  88   2                      if(s5==0)
  89   2                      while(!s5);
  90   2                      s5num++;
  91   2                      if(s5num==2)
  92   2                              s5num=0;
  93   2              }
  94   1      }
  95          
  96          void  key4scan()
  97          {               
  98   1                      if(s4==0)
  99   1                      {
 100   2                              delay(5);
 101   2                              if(s4==0)
 102   2                              while(!s4)
 103   2                                      write_a(0x80,0x50);
 104   2                                      write_a(0x82,0x59);     
 105   2                                      write_a(0x84,0x15);
 106   2                                      write_a(0x86,3);
 107   2                                      write_a(0x88,5);
 108   2                                      write_a(0x8a,1);
 109   2                                      write_a(0x8c,9);                        
 110   2                      }
 111   1      }
 112          
 113          void main()
 114          {
 115   1              init();
 116   1              while(1)
 117   1              {
C51 COMPILER V8.02   DIANZIZHONG                                                           05/13/2009 11:57:08 PAGE 3   

 118   2                      run(nian);
 119   2                      panduan();
 120   2                      keyscan();
 121   2                      key_paobiao();
 122   2                      while((s5num==1)&&(s1num==0))
 123   2                      {
 124   3                                      TR1=1;
 125   3                                      flag1=1;
 126   3                                      key_paobiao();
 127   3                                      if(flag2==1)
 128   3                                      {       
 129   4                                              write_com(0x01);
 130   4                                              write_mbinit();
 131   4                                              flag2=0;
 132   4                                      }
 133   3                                      key3scan();
 134   3      
 135   3                              
 136   3                      }
 137   2                      
 138   2                      if((s5num==0)&&flag1==1)
 139   2                      {
 140   3                              uchar i;
 141   3                              flag1=0;
 142   3                              flag2=1;
 143   3                              write_com(0x01);
 144   3                              write_com(0x80);
 145   3                              for(i=0;i<15;i++)
 146   3                              {
 147   4                                      write_date(table[i]);
 148   4                                      delay(5);
 149   4                              }
 150   3                              write_com(0x80+0x40);
 151   3                              for(i=0;i<16;i++)
 152   3                              {
 153   4                                      write_date(table1[i]);
 154   4                                      delay(5);
 155   4                              }
 156   3                              min=0;
 157   3                              sec=0;
 158   3                              haosec=0;
 159   3              
 160   3                              
 161   3                      }
 162   2                      if((s1num==0)&&(s5num==0))
 163   2                      {
 164   3                                      TR1=0;
 165   3                                      key4scan();
 166   3                              shijian_dis();
 167   3                              wendu_dis();
 168   3                      
 169   3                      }
 170   2              }
 171   1              
 172   1                      
 173   1      }
 174          
 175          void timer1() interrupt 3
 176          {
 177   1              TH1=(65536-1000)/256;
 178   1              TL1=(65536-1000)%256;
 179   1              tc++;
C51 COMPILER V8.02   DIANZIZHONG                                                           05/13/2009 11:57:08 PAGE 4   

 180   1              if(tc==10)
 181   1              {
 182   2                      flag=1;
 183   2                      tc=0;
 184   2              
 185   2              }
 186   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2301    ----
   CONSTANT SIZE    =     34    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     27      14
   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 + -