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

📄 time.lst

📁 应用KEILC写的一个C51程序
💻 LST
字号:
C51 COMPILER V8.02   TIME                                                                  04/16/2008 22:07:30 PAGE 1   


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

line level    source

   1          #include "time.h"
   2          #include "delay.h"
   3          void WriDs(uchar addr,uchar dat);
   4          uchar ReadDs(uchar addr);
   5          
   6          void v_RTInputByte(uchar ucDa)//往DS1302写入1BYTE数据
   7          {   
   8   1         uchar i;   
   9   1         for(i=8;i>0;i--)
  10   1         {      
  11   2                if((ucDa & 0x01)!=0)
  12   2                   T_IO=1;
  13   2                else
  14   2                   T_IO=0;
  15   2                T_CLK=0;
  16   2                _nop_();
  17   2                _nop_();
  18   2                T_CLK=1;
  19   2                _nop_();
  20   2                _nop_();
  21   2                //T_CLK=0;      
  22   2                ucDa=ucDa>>1;  
  23   2         }
  24   1      }
  25          uchar v_RTOutputByte(void)//从DS1302读取1BYTE数据
  26          {   
  27   1         uchar i;
  28   1         static uchar temp1;   
  29   1         temp1=0;
  30   1         //T_IO=1;  
  31   1         for(i=8;i>0;i--)
  32   1         {  
  33   2            temp1=temp1>>1;  
  34   2            T_CLK=0;
  35   2            _nop_();        
  36   2                if(T_IO)        
  37   2               temp1|=0x80;    
  38   2                T_CLK=1;  
  39   2                _nop_();
  40   2                _nop_();
  41   2            T_CLK=0;
  42   2         }
  43   1         return (temp1);
  44   1      }
  45          void WriDs(uchar ucAddr, uchar ucDa)//向DS1302某地址写入命令/数据,先写地址,后写命令/数据
  46          {   
  47   1         T_CLK = 0;   
  48   1         T_RST =0;  
  49   1         T_RST = 1;
  50   1         v_RTInputByte(ucAddr); /* 地址,命令 */
  51   1         v_RTInputByte(ucDa); /* 写1Byte数据*/   
  52   1         T_IO = 1;  
  53   1         T_RST =0;   
  54   1         T_CLK=1;
  55   1      }
C51 COMPILER V8.02   TIME                                                                  04/16/2008 22:07:30 PAGE 2   

  56          
  57          
  58          void Init1302(void)
  59          {  
  60   1         T_CLK = 0;
  61   1         _nop_();   
  62   1         T_RST = 0; 
  63   1         delay_1us(8);  
  64   1         WriDs(0x8e,0x00);  
  65   1         WriDs(0x8e,0x80);//写保护寄存器的WP位置1
  66   1      }
  67          void v_BurstW1302T(uchar *pSecDa)
  68          {
  69   1         uchar i;
  70   1         WriDs(0x8e,0x00);//wp=0,写操作
  71   1         T_RST=0;
  72   1         T_CLK=0;
  73   1         T_RST=1;
  74   1         v_RTInputByte(0xbe); //时钟突发模式写
  75   1         for(i=7;i>0;i--)
  76   1         {
  77   2            v_RTInputByte(*pSecDa);
  78   2                pSecDa++;
  79   2         }
  80   1         v_RTInputByte(0x80);//7byte时钟数据+1byte控制
  81   1         T_CLK=1;
  82   1         T_RST=0;
  83   1      }
  84          void v_BurstR1302T(uchar *pSecDa)
  85          {
  86   1         uchar i;   
  87   1         T_RST=0;
  88   1         T_CLK=0;
  89   1         T_RST=1;
  90   1         v_RTInputByte(0xbf);//时钟突发模式读
  91   1         for(i=7;i>0;i--)
  92   1         {
  93   2            *pSecDa=v_RTOutputByte();
  94   2                pSecDa++;
  95   2         }
  96   1         i=v_RTOutputByte();
  97   1         T_CLK=1;
  98   1         T_RST=0;
  99   1      }


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