📄 sd2kdrv.lst
字号:
213 2
214 2 }
215 1 SCL=0;
216 1 return ddata;
217 1 }
218
219 /****************************************************************************/
220 /* 函数名:sd2000_read_date */
221 /* 功 能:读取sd2000时钟数据 */
222 /* 作 者:spot */
223 /* 输 入:无 */
224 /* 输 出:无 */
225 /* */
226 /* 历史记录: */
227 /* spot 2005-06-20 Creat Inital version. (Version 1.0) */
228 /****************************************************************************/
229 void sd2000_read_date(void)
230 {
231 1 u_char i;
232 1
233 1 sd2000_start();
234 1 sd2000_send_byte(0x65,1); /* 从年开始读取数据 */
235 1 sd2000_wait_ack();
236 1
237 1 for (i=0; i<7; i++)
238 1 {
239 2 read_date[i] = sd2000_receive_byte();
240 2
241 2 if (i != 6) /* 最后一个数据不应答 */
C51 COMPILER V6.12 SD2KDRV 09/23/2005 17:32:57 PAGE 5
242 2 {
243 3 sd2000_ack();
244 3 }
245 2 }
246 1 read_date[4] &= 0x7F;
247 1 sd2000_no_ack();
248 1 sd2000_stop();
249 1 }
250
251 /****************************************************************************/
252 /* 函数名:sd2000_write_date */
253 /* 功 能:写入sd2000时钟数据 */
254 /* 作 者:spot */
255 /* 输 入:无 */
256 /* 输 出:无 */
257 /* */
258 /* 历史记录: */
259 /* spot 2005-06-20 Creat Inital version. (Version 1.0) */
260 /****************************************************************************/
261 void sd2000_write_date(void)
262 {
263 1 u_char i;
264 1
265 1 sd2000_start();
266 1 sd2000_send_byte(0x64,1); /* 从年开始写入数据 */
267 1 sd2000_wait_ack();
268 1
269 1 for(i=0; i<7; i++)
270 1 {
271 2 sd2000_send_byte(write_date[i],0);
272 2 sd2000_wait_ack();
273 2 }
274 1 sd2000_stop();
275 1 }
276
277 /****************************************************************************/
278 /* 函数名:sd2000_write_status */
279 /* 功 能:写sd2000状态寄存器 */
280 /* 作 者:spot */
281 /* 输 入:无 */
282 /* 输 出:无 */
283 /* */
284 /* 历史记录: */
285 /* spot 2005-06-20 Creat Inital version. (Version 1.0) */
286 /****************************************************************************/
287 void sd2000_write_status(void)
288 {
289 1 sd2000_start();
290 1 sd2000_send_byte(0x62,1); /* 发送SD20001C状态寄存器命令 */
291 1 sd2000_wait_ack();
292 1 sd2000_send_byte(0xc0,0); /* 24小时制,关所有中断 */
293 1 sd2000_wait_ack();
294 1 sd2000_stop();
295 1 }
296
297 void delay(void)
298 {
299 1 u_char i;
300 1 for (i=0; i<200; i++);
301 1 }
302
303 main()
C51 COMPILER V6.12 SD2KDRV 09/23/2005 17:32:57 PAGE 6
304 {
305 1
306 1 sd2000_write_status();
307 1
308 1 while(1)
309 1 {
310 2 sd2000_read_date();
311 2 delay();
312 2 sd2000_write_date();
313 2 }
314 1 }
C51 COMPILER V6.12 SD2KDRV 09/23/2005 17:32:57 PAGE 7
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
delay. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 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
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
C_T2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C9H 1
WR . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
sd2000_write_date. . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
sd2000_ack . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
sd2000_start . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
RCLK . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CDH 1
write_date . . . . . . . . . . . . . . PUBLIC DATA ARRAY 0007H 7
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
C51 COMPILER V6.12 SD2KDRV 09/23/2005 17:32:57 PAGE 8
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
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
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
write_date1. . . . . . . . . . . . . . PUBLIC DATA ARRAY 000EH 7
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 = 284 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 21 ----
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 + -