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

📄 sd2kdrv.lst

📁 压缩包中包括多个常用的汇编
💻 LST
📖 第 1 页 / 共 2 页
字号:
 185          /* 功  能:MCU从sd2000设备接收一个字节                                      */
 186          /* 作  者:spot                                                             */
 187          /* 输  入:无                                                               */
 188          /* 输  出:ddata   接收数据                                                 */
 189          /*                                                                          */
 190          /* 历史记录:                                                               */
 191          /*  spot          2005-06-20     Creat Inital version. (Version 1.0)        */
 192          /****************************************************************************/
 193          u_char sd2000_receive_byte(void)
 194          {
 195   1          u_char i=8;
 196   1          u_char ddata=0;
 197   1      
 198   1          SDA=1;
 199   1          while(i--)
 200   1          {
 201   2              ddata >>= 1;
 202   2              SCL=0;
 203   2              sd2000_wait();
 204   2              SCL=1;
 205   2              sd2000_wait();
 206   2              if(SDA)
 207   2              {
 208   3                  ddata |= 0x80;
 209   3              }
 210   2      
 211   2          }
 212   1          SCL=0;
 213   1          return ddata;
 214   1      }
 215          
 216          /****************************************************************************/
 217          /* 函数名:sd2000_read_date                                                 */
 218          /* 功  能:读取sd2000时钟数据                                               */
 219          /* 作  者:spot                                                             */
 220          /* 输  入:无                                                               */
 221          /* 输  出:无                                                               */
 222          /*                                                                          */
 223          /* 历史记录:                                                               */
 224          /*  spot          2005-06-20     Creat Inital version. (Version 1.0)        */
 225          /****************************************************************************/
 226          void sd2000_read_date(void)
 227          {
 228   1          u_char i;
 229   1      
 230   1          sd2000_start();
 231   1          sd2000_send_byte(0x65,1); /* 从年开始读取数据   */
 232   1          sd2000_wait_ack();
 233   1      
 234   1          for (i=0; i<7; i++)
 235   1          {
 236   2          	read_date[i] = sd2000_receive_byte();
 237   2      
 238   2          	if (i != 6)           /* 最后一个数据不应答 */
 239   2          	{
 240   3          	    sd2000_ack();
 241   3          	}
C51 COMPILER V6.12  SD2KDRV                                                                09/24/2005 16:08:19 PAGE 5   

 242   2          }
 243   1          read_date[4] &= 0x7F;
 244   1          sd2000_no_ack();
 245   1          sd2000_stop();
 246   1      }
 247          
 248          /****************************************************************************/
 249          /* 函数名:sd2000_write_status                                              */
 250          /* 功  能:写sd2000状态寄存器                                               */
 251          /* 作  者:spot                                                             */
 252          /* 输  入:无                                                               */
 253          /* 输  出:无                                                               */
 254          /*                                                                          */
 255          /* 历史记录:                                                               */
 256          /*  spot          2005-06-20     Creat Inital version. (Version 1.0)        */
 257          /****************************************************************************/
 258          void sd2000_write_status(void)
 259          {
 260   1          sd2000_start();
 261   1          sd2000_send_byte(0x62,1);  /* 发送SD20001C状态寄存器命令 */
 262   1          sd2000_wait_ack();
 263   1          sd2000_send_byte(0xc0,0);  /* 24小时制,关所有中断       */
 264   1          sd2000_wait_ack();
 265   1          sd2000_stop();
 266   1      }
 267          
C51 COMPILER V6.12  SD2KDRV                                                                09/24/2005 16:08:19 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
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
T2 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
u_long . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_LONG   -----  4
u_short. . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
EXF2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CEH  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
sd2000_read_date . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0004H  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
read_date. . . . . . . . . . . . . . .  PUBLIC   DATA   ARRAY    0000H  7
_sd2000_send_byte. . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  demand . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  order. . . . . . . . . . . . . . . .  AUTO     DATA   BIT      0000H  1
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
u_int. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
T2EX . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
C_T2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C9H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
sd2000_ack . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
sd2000_start . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
RCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CDH  1
TCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CCH  1
sd2000_write_status. . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
sd2000_wait. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0007H  -----
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
sd2000_wait_ack. . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  errtime. . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
sd2000_stop. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
CP_RL2 . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C8H  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
ET2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ADH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
TF2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CFH  1
RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
C51 COMPILER V6.12  SD2KDRV                                                                09/24/2005 16:08:19 PAGE 7   

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


EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
PT2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BDH  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
SDA. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0086H  1
TR2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CAH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
SCL. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0087H  1
EXEN2. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CBH  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
sd2000_no_ack. . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
u_char . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
sd2000_receive_byte. . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  ddata. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    227    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      7    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -