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

📄 1302.lst

📁 利用DS3102时钟芯片跟12864液晶制作简单的多功能万年历
💻 LST
字号:
C51 COMPILER V8.02   1302                                                                  10/16/2008 13:04:38 PAGE 1   


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

line level    source

   1          
   2          #include"1302.h"
   3          #include"AT89X52.H"
   4          sbit ds1302_RST =P3^2;
   5          sbit ds1302_IO  =P3^3;
   6          sbit ds1302_SCLK=P3^4;
   7          sbit ACC0=ACC^0;
   8          sbit ACC7=ACC^7;
   9          uchar  read_Byte()
  10          {
  11   1         uchar i;
  12   1         for(i=8;i>0;i--)
  13   1         { ds1302_SCLK=0;
  14   2           ACC7=ds1302_IO;
  15   2               ds1302_SCLK=1;
  16   2               ACC=ACC>>1;
  17   2          } 
  18   1         return(ACC);
  19   1      }
  20          
  21          
  22          
  23          void  write_Byte(uchar tdata)
  24          {
  25   1         uchar i;
  26   1         ACC=tdata;
  27   1         for(i=8;i>0;i--)
  28   1         { ds1302_IO=ACC0;
  29   2           ds1302_SCLK=0;
  30   2           ds1302_SCLK=1;
  31   2           ACC=ACC>>1;
  32   2         }
  33   1      
  34   1      }
  35          
  36          
  37          void write_data_ds1302(uchar taddr,uchar tdata)
  38          {
  39   1         ds1302_RST=0;
  40   1         ds1302_SCLK=0;
  41   1         ds1302_RST=1;
  42   1         write_Byte(taddr);
  43   1         write_Byte(tdata); 
  44   1         ds1302_RST=0;
  45   1      }
  46          
  47          
  48          uchar read_data_ds1302(uchar taddr)
  49          {  
  50   1         uchar tdata;
  51   1         ds1302_SCLK=0;
  52   1         ds1302_RST=1;
  53   1         write_Byte(taddr);
  54   1         tdata=read_Byte(); 
  55   1         ds1302_RST=0;
C51 COMPILER V8.02   1302                                                                  10/16/2008 13:04:38 PAGE 2   

  56   1         ds1302_SCLK=1;
  57   1         return(tdata); 
  58   1      }
  59          
  60          
  61          
  62          void set_ds1302(uchar taddr,uchar *P1302)
  63          {
  64   1          uchar i;
  65   1          write_data_ds1302(0x8e,0x00);          
  66   1          for(i =3; i>0; i--)
  67   1          { 
  68   2             write_data_ds1302(taddr,*P1302);    
  69   2              P1302++;
  70   2              taddr+=2;
  71   2          }
  72   1         write_data_ds1302(0x8e,0x80);          
  73   1      }
  74          
  75          
  76          void get_ds1302(uchar  *now_time) 
  77          { 
  78   1          uchar k;
  79   1          uchar taddr = 0x81;
  80   1          for (k=0; k<5; k++)
  81   1          {
  82   2              now_time[k] = read_data_ds1302(taddr);
  83   2              taddr+=2;
  84   2      
  85   2          }
  86   1      }
  87          
  88          void read_ring( uchar *ring_time)
  89          {
  90   1              uchar k;
  91   1              uchar taddr=0xc1;
  92   1              for(k=0;k<3;k++)
  93   1              {
  94   2                      ring_time[k]=read_data_ds1302(taddr);
  95   2                      taddr+=2;
  96   2              }
  97   1      }
  98          void init_ds1302()
  99          {
 100   1          ds1302_RST=0;
 101   1          ds1302_SCLK=0;
 102   1      }
 103          
 104          


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