📄 my51pro.lst
字号:
279 1 {
280 2 if(m&0x01) DS1302_DIO=1;
281 2 else DS1302_DIO=0;
282 2 DS1302_CLK = 1;
283 2 DS1302_CLK = 1;
284 2 DS1302_CLK = 0;
285 2 DS1302_CLK = 0;
286 2 m=m>>1;
287 2 }
288 1 }
289
290 unsigned char Outputbyte(void) //SPI读出一个字节
291 {
292 1 unsigned char i;
293 1 unsigned char temp=0x00;
294 1 for(i=8; i>0; i--)
295 1 {
296 2 temp = temp >>1;
297 2 if(DS1302_DIO) temp=temp|0x80;
298 2 DS1302_CLK = 1;
299 2 DS1302_CLK = 1;
300 2 DS1302_CLK = 1;
301 2 DS1302_CLK = 1;
302 2 DS1302_CLK = 1;
303 2 DS1302_CLK = 1;
C51 COMPILER V8.02 MY51PRO 10/04/2008 10:46:24 PAGE 6
304 2 DS1302_CLK = 1;
305 2 DS1302_CLK = 1;
306 2 DS1302_CLK = 0;
307 2 DS1302_CLK = 0;
308 2 DS1302_CLK = 0;
309 2 DS1302_CLK = 0;
310 2 DS1302_CLK = 0;
311 2 DS1302_CLK = 0;
312 2 DS1302_CLK = 0;
313 2 DS1302_CLK = 0;
314 2
315 2 }
316 1 return(temp);
317 1 }
318
319 void Write1302(unsigned char Addr, unsigned char Da)//ucAddr: DS1302地址, ucData: 写入的数据
320 {
321 1 DS1302_RST = 0;
322 1 DS1302_CLK = 0;
323 1 DS1302_CLK = 0;
324 1 DS1302_CLK = 0;
325 1 DS1302_CLK = 0;
326 1 DS1302_CLK = 0;
327 1 DS1302_RST = 1;
328 1 DS1302_RST = 1;
329 1 DS1302_RST = 1;
330 1 DS1302_RST = 1;
331 1 DS1302_RST = 1;
332 1 DS1302_RST = 1;
333 1 DS1302_RST = 1;
334 1 DS1302_RST = 1;
335 1 DS1302_RST = 1;
336 1 Inputbyte(Addr); // 地址,命令
337 1 Inputbyte(Da); // 写1Byte数据
338 1 DS1302_RST = 0;
339 1 }
340
341 unsigned char Read1302(unsigned char Addr) //读取DS1302地址Addr的数据
342 {
343 1 unsigned char ucData;
344 1
345 1 DS1302_RST = 0;
346 1 DS1302_CLK = 0;
347 1 DS1302_CLK = 0;
348 1 DS1302_CLK = 0;
349 1 DS1302_CLK = 0;
350 1 DS1302_CLK = 0;
351 1 DS1302_RST = 1;
352 1 DS1302_RST = 1;
353 1 DS1302_RST = 1;
354 1 DS1302_RST = 1;
355 1 DS1302_RST = 1;
356 1 DS1302_RST = 1;
357 1 DS1302_RST = 1;
358 1 DS1302_RST = 1;
359 1 DS1302_RST = 1;
360 1 Inputbyte(Addr|0x01); // 地址,命令
361 1 ucData = Outputbyte(); // 读1Byte数据
362 1 DS1302_RST = 0;
363 1 return(ucData);
364 1 }
365
C51 COMPILER V8.02 MY51PRO 10/04/2008 10:46:24 PAGE 7
366
367 void DS1302config()
368 {
369 1
370 1 Write1302(DS1302_WP,0x00);
371 1 _nop_();
372 1 _nop_();
373 1 // Write1302(0x90,0xA5); //充电模式(暂时省略)
374 1 _nop_();
375 1 _nop_();
376 1 Write1302(DS1302_MINUTE,feninit); //设置分钟
377 1 _nop_();
378 1 _nop_();
379 1 Write1302(DS1302_HOUR,shiinit); //设置小时
380 1 _nop_();
381 1 _nop_();
382 1 Write1302(DS1302_DATE,riinit); //设置日期
383 1 _nop_();
384 1 _nop_();
385 1 Write1302(DS1302_MONTH,yueinit); //设置月
386 1 _nop_();
387 1 _nop_();
388 1 Write1302(DS1302_DAY,zhouinit); //设置星期
389 1 _nop_();
390 1 _nop_();
391 1 Write1302(DS1302_YEAR,nianinit); //设置年
392 1 _nop_();
393 1 _nop_();
394 1 Write1302(DS1302_SECOND,miaoinit|0x80); //设置秒,并启动
395 1 _nop_();
396 1 _nop_();
397 1 Write1302(DS1302_WP,0xFF); //关写操作允许位
398 1 }
399
400 void Timeupdata()
401 {
402 1 nian=Read1302(DS1302_YEAR);
403 1 yue=Read1302(DS1302_MONTH);
404 1 ri=Read1302(DS1302_DATE);
405 1 shi=Read1302(DS1302_HOUR);
406 1 fen=Read1302(DS1302_MINUTE);
407 1 miao=Read1302(DS1302_SECOND);
408 1 }
409
410 void Sendpc()
411 {
412 1 switch(sendpcnum)
413 1 {
414 2 case 0:SBUF=0x00;sendpcnum++;break;
415 2 case 1:SBUF=0x11;sendpcnum++;break;
416 2 case 2:SBUF=0x22;sendpcnum++;break;
417 2 case 3:SBUF=0x33;sendpcnum++;break;
418 2 case 4:SBUF=0x44;sendpcnum++;break;
419 2 case 5:SBUF=0x55;sendpcnum++;break;
420 2 case 6:SBUF=0x66;sendpcnum++;break;
421 2 case 7:SBUF=0x77;sendpcnum++;break;
422 2 case 8:SBUF=0x88;sendpcnum++;break;
423 2 case 9:SBUF=0x99;sendpcnum++;break;
424 2 case 10:sendpcnum=0; break;
425 2 }
426 1 }
427
C51 COMPILER V8.02 MY51PRO 10/04/2008 10:46:24 PAGE 8
428 void Send3ff()
429 {
430 1 SBUF=0xff;
431 1 while(TI==1);
432 1 SBUF=0xff;
433 1 while(TI==1);
434 1 SBUF=0xff;
435 1 while(TI==1);
436 1 }
437
438 void Send300()
439 {
440 1 SBUF=0x00;
441 1 while(TI==0);
442 1 SBUF=0x00;
443 1 while(TI==0);
444 1 SBUF=0x00;
445 1 while(TI==0);
446 1 }
447
C51 COMPILER V8.02 MY51PRO 10/04/2008 10:46:24 PAGE 9
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
zhouinit . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0000H 1
P0 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0080H 1
receiveFnum. . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0001H 1
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
jingdu . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0002H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
datareadynum . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0003H 1
yueinit. . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0004H 1
Send3ff. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
IE . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
receive_1302 . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0005H 1
riinit . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0006H 1
Timeupdata . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
receivecount . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0007H 1
configflag . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0008H 1
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
receivestart . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0009H 1
OK . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000AH 1
DS1302_CLK . . . . . . . . . . . . . . ABSBIT ----- BIT 00A5H 1
receive_7128 . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000BH 1
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
DS1302_DIO . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
int_s. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
Send300. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
receiveend . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000CH 1
weidu. . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000DH 1
PS . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BCH 1
_Read1302. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
Addr . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
ucData . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
miao . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000EH 1
nian . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000FH 1
_Inputbyte . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
m. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
error. . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0010H 1
SBUF . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0099H 1
PCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0087H 1
_DAint . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
dadata_fir . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
dadata_sec . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
_Write1302 . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
Addr . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
Da . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
adnumflag. . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0011H 1
TMOD . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0089H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
DS1302_RST . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
fen. . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0012H 1
shi. . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0013H 1
receivecount2. . . . . . . . . . . . . PUBLIC DATA U_CHAR 0014H 1
C51 COMPILER V8.02 MY51PRO 10/04/2008 10:46:24 PAGE 10
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
zhou . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0015H 1
adnum1 . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0016H 1
danum1 . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0017H 1
adnum2 . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0018H 1
danum2 . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0019H 1
adnum3 . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 001AH 1
danum3 . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 001BH 1
Outputbyte . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
temp . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
adnum4 . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 001CH 1
danum4 . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 001DH 1
receivestart2. . . . . . . . . . . . . PUBLIC DATA U_CHAR 001EH 1
EX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A8H 1
IT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0088H 1
TH1. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008DH 1
TL1. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008BH 1
ADint. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
sendpcnum. . . . . . . . . . . . . . . PUBLIC DATA INT 001FH 2
yue. . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0021H 1
updatanum. . . . . . . . . . . . . . . PUBLIC DATA INT 0022H 2
dosendpc . . . . . . . . . . . . . . . PUBLIC DATA INT 0024H 2
TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1
PX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B8H 1
DS1302config . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
ri . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0026H 1
DAW. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
miaoinit . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0027H 1
nianinit . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0028H 1
Sendpc . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
receive0num. . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0029H 1
feninit. . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 002AH 1
receive_sbuf . . . . . . . . . . . . . PUBLIC DATA U_CHAR 002BH 1
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
shiinit. . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 002CH 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 929 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 45 ----
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 + -