📄 ds1302.lst
字号:
C51 COMPILER V7.06 DS1302 10/21/2008 02:27:25 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE DS1302
OBJECT MODULE PLACED IN DS1302.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE DS1302.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*
2 * Copyright (C) 2007, 华中科技大学电气与电子科技创新中心
3 * All Rights Reserved.
4 *
5 * 文件名: DS1302.c
6 * 文件描述: DS1302驱动程序
7 *
8 * 当前版本: 1.0
9 * 作者: Zuowenping(fmku007@163.com)
10 * 完成日期: 2008年10月20日
11 *
12 */
13
14 #include "DS1302.h"
15
16 /**************************************
17 ///////////////写DS1302,(地址/数据)
18 ***************************************/
19 void wr_ds1302(unsigned char addr1,unsigned char data1)
20 {unsigned char i;
21 1 CE=0;
22 1 nop();
23 1 CE=1;
24 1 for(i=0;i<8;i++) //////address
25 1 { SCLK=0;
26 2 DATA=(bit)((addr1>>i)&0x01);
27 2 nop();
28 2 SCLK=1;
29 2 nop();
30 2 }
31 1 for(i=0;i<8;i++) //////data
32 1 { SCLK=0;
33 2 DATA=(bit)((data1>>i)&0x01);
34 2 nop();
35 2 SCLK=1;
36 2 nop();
37 2 }
38 1 SCLK=0;
39 1 CE=0;
40 1 }
41 /**************************************
42 ///////////////读DS1302,(地址/数据)
43 ***************************************/
44 unsigned char rd_ds1302(unsigned char addr1)
45 {unsigned char i,dataout;
46 1 CE=0;
47 1 nop();
48 1 CE=1;
49 1 for(i=0;i<8;i++) //////address
50 1 { SCLK=0;
51 2 DATA=(bit)((addr1>>i)&0x01);
52 2 nop();
53 2 SCLK=1;
54 2 nop();
55 2 }
C51 COMPILER V7.06 DS1302 10/21/2008 02:27:25 PAGE 2
56 1 dataout=0;
57 1 for(i=0;i<8;i++) //////data out
58 1 { SCLK=1;
59 2 nop();
60 2 DATA=1;
61 2 SCLK=0;
62 2 nop();
63 2 dataout|=(((char)DATA)<<i);
64 2 }
65 1 CE=0;
66 1
67 1 return(dataout);
68 1
69 1 }
70
71
72 /**************************************
73 ///////////////充电控制,(地址/数据)
74 ***************************************/
75 void ChargeCtrl(bit Ctrl)
76 {
77 1 unsigned char temp=rd_ds1302(RdSec);
78 1 if(Ctrl)
79 1 wr_ds1302(WrSec,temp|0x80);
80 1 else
81 1 wr_ds1302(WrSec,temp&0x7f);
82 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 213 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 21 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 + -