📄 sd2kdrv.lst
字号:
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 + -