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

📄 sd2k3drv.lst

📁 压缩包中包括多个常用的汇编
💻 LST
📖 第 1 页 / 共 2 页
字号:
 163          /*                                                                          */
 164          /* 历史记录:                                                               */
 165          /*  spot          2005-10-05     Creat Inital version. (Version 1.0)        */
 166          /****************************************************************************/
 167          u_char sd2300_receive_byte(void)
 168          {
 169   1          u_char i=8;
 170   1          u_char ddata=0;
 171   1      
 172   1          SDA=1;
 173   1          while(i--)
 174   1          {
 175   2              ddata <<= 1;
 176   2              SCL=0;
 177   2              sd2300_wait();
 178   2              SCL=1;
 179   2              sd2300_wait();
C51 COMPILER V7.09   SD2K3DRV                                                              10/09/2005 20:45:31 PAGE 4   

 180   2              if(SDA)
 181   2              {
 182   3                  ddata |= 0x01;
 183   3              }
 184   2      
 185   2          }
 186   1          SCL=0;
 187   1          return ddata;
 188   1      }
 189          
 190          /****************************************************************************/
 191          /* 函数名:sd2300_read_date                                                 */
 192          /* 功  能:读取sd2300时钟数据                                               */
 193          /* 作  者:spot                                                             */
 194          /* 输  入:无                                                               */
 195          /* 输  出:无                                                               */
 196          /*                                                                          */
 197          /* 历史记录:                                                               */
 198          /*  spot          2005-10-05     Creat Inital version. (Version 1.0)        */
 199          /****************************************************************************/
 200          void sd2300_read_date(void)
 201          {
 202   1          u_char i;
 203   1      
 204   1          sd2300_start();
 205   1          sd2300_send_byte(0x64);
 206   1          sd2300_wait_ack();
 207   1          sd2300_send_byte(0x00); /* 从秒开始读取数据   */
 208   1          sd2300_wait_ack();
 209   1      
 210   1          sd2300_start();
 211   1          sd2300_send_byte(0x65); 
 212   1          sd2300_wait_ack();
 213   1      
 214   1          for (i=0; i<7; i++)
 215   1          {
 216   2              date[6-i] = sd2300_receive_byte();
 217   2      
 218   2              if (i != 6)         /* 最后一个数据不应答 */
 219   2              {
 220   3                  sd2300_ack();
 221   3              }
 222   2          }
 223   1          
 224   1          sd2300_no_ack();
 225   1          sd2300_stop();
 226   1      }
 227          
 228          /****************************************************************************/
 229          /* 函数名:sd2300_write_date                                                */
 230          /* 功  能:写入sd2300时钟数据                                               */
 231          /* 作  者:spot                                                             */
 232          /* 输  入:无                                                               */
 233          /* 输  出:无                                                               */
 234          /*                                                                          */
 235          /* 历史记录:                                                               */
 236          /*  spot          2005-10-05     Creat Inital version. (Version 1.0)        */
 237          /****************************************************************************/
 238          void sd2300_write_date(void)
 239          {
 240   1         u_char i;
 241   1      
C51 COMPILER V7.09   SD2K3DRV                                                              10/09/2005 20:45:31 PAGE 5   

 242   1         sd2300_start();
 243   1         sd2300_send_byte(0x64);
 244   1         sd2300_wait_ack();
 245   1         sd2300_send_byte(0x00); /* 从秒开始写入数据 */
 246   1         sd2300_wait_ack();
 247   1      
 248   1      
 249   1         for(i=0; i<7; i++)
 250   1         {
 251   2             sd2300_send_byte(date[6-i]);
 252   2             sd2300_wait_ack();
 253   2         }
 254   1         sd2300_stop();
 255   1      }
 256          
 257          /****************************************************************************/
 258          /* 函数名:sd2300_write_config                                              */
 259          /* 功  能:写sd2300控制寄存器                                               */
 260          /* 作  者:spot                                                             */
 261          /* 输  入:无                                                               */
 262          /* 输  出:无                                                               */
 263          /*                                                                          */
 264          /* 历史记录:                                                               */
 265          /*  spot          2005-10-05     Creat Inital version. (Version 1.0)        */
 266          /****************************************************************************/
 267          void sd2300_write_config(void)
 268          {
 269   1          sd2300_start();
 270   1          sd2300_send_byte(0x64);  
 271   1          sd2300_wait_ack();
 272   1          sd2300_send_byte(0xf0);  /* 写控制寄存器2    */
 273   1          sd2300_wait_ack();
 274   1          sd2300_send_byte(0x20);  /* 24小时制,关中断 */
 275   1          sd2300_wait_ack();
 276   1          sd2300_stop();
 277   1      }
 278          
C51 COMPILER V7.09   SD2K3DRV                                                              10/09/2005 20:45:31 PAGE 6   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
sd2300_write_config. . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
u_long . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_LONG   -----  4
u_short. . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
sd2300_read_date . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0004H  1
date . . . . . . . . . . . . . . . . .  PUBLIC   DATA   ARRAY    0000H  7
_sd2300_send_byte. . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  demand . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
u_int. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
sd2300_write_date. . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0004H  1
sd2300_ack . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
sd2300_start . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
sd2300_wait. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0009H  -----
sd2300_wait_ack. . . . . . . . . . . .  PUBLIC   CODE   PROC     0010H  -----
  errtime. . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
sd2300_stop. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
SDA. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0086H  1
SCL. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0087H  1
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
sd2300_no_ack. . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
u_char . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1
sd2300_receive_byte. . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  ddata. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    243    ----
   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 + -