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

📄 ds1302.lst

📁 64*16的点阵显示
💻 LST
字号:
C51 COMPILER V8.08   DS1302                                                                03/10/2009 15:02:48 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE DS1302
OBJECT MODULE PLACED IN DS1302.OBJ
COMPILER INVOKED BY: D:\软件\单片机\proteus7.1+keil8.08\Keil8.08\C51\BIN\C51.EXE DS1302.c LARGE BROWSE DEBUG OBJECTEXTEN
                    -D

line level    source

   1          //========================================================================================
   2          // 程序功能: 取出DS1302时间地址所对应的时间
   3          // 程序接口: void DS1302_GetTime();
   4          // 编写时间: 2009-03-02
   5          //========================================================================================
   6          
   7          #include<Module.h>
   8          
   9          sbit CLK=P3^4;
  10          sbit IO=P3^5;                                                           //ds1302
  11          sbit RST=P3^6;
  12          
  13          uc G_ucTime[7];                                                         //秒,分,时,星期,日,月,年 注意为BCD码
  14          //========================================================================================
  15          // 函数功能: 读取DS1302某地址的数据
  16          // 函数接口: uc DS1302_ReadByte(uc ucAddr);
  17          // 入口参数: ucAddr: DS1302地址
  18          // 出口参数: k
  19          //========================================================================================
  20          uc DS1302_ReadByte(uc ucAddr)
  21          {
  22   1              uc i,k;
  23   1              
  24   1              RST = 0;
  25   1              CLK = 0;                                                                        //clk为低电平时才能将rst置高
  26   1              RST=1;                                                                  //启动数据传送
  27   1      
  28   1              ucAddr |= 0x01;
  29   1              k=1;
  30   1              for(i=0;i<8;i++)
  31   1              {
  32   2                      CLK = 0;
  33   2                  if( ucAddr&k )
  34   2                              IO = 1;
  35   2                      else
  36   2                              IO = 0;
  37   2                      CLK = 1;
  38   2                      k<<=1;
  39   2              }//for
  40   1              k=0;
  41   1              IO = 1;
  42   1              CLK = 1;
  43   1      
  44   1              for(i=0;i<8;i++)
  45   1              {
  46   2                      k >>= 1;
  47   2                      CLK = 0;
  48   2                      if( IO ) 
  49   2                              k|= 0x80;
  50   2                      CLK = 1;
  51   2              }//for
  52   1              CLK = 1;
  53   1              RST =0;
  54   1      
C51 COMPILER V8.08   DS1302                                                                03/10/2009 15:02:48 PAGE 2   

  55   1              return k;
  56   1      } 
  57          //========================================================================================
  58          // 函数功能: 读取DS1302当前时间
  59          // 函数接口: void DS1302_GetTime();
  60          // 入口参数: DS1302_ReadByte(ucAddr): 保存当前时间地址。
  61          // 出口参数: unsigned char G_ucTime[i] ;
  62          //========================================================================================
  63          void DS1302_GetTime()
  64          {
  65   1              uc i, ucAddr = 0x81;
  66   1              
  67   1              for(i=0;i<7;i++)
  68   1              {
  69   2                      G_ucTime[i] = DS1302_ReadByte(ucAddr);  //格式为: 秒 分 时 日 月 星期 年
  70   2                      ucAddr += 2;
  71   2              }//for
  72   1      }


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