📄 ds1302.lst
字号:
C51 COMPILER V7.06 DS1302 04/09/2005 13:15:55 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 #ifndef DS1302_C
2 #define DS1302_C
3 #include "ds1302.h"
4
5 uchar readdata(uchar addr)
6 {
7 1 uchar c,i;
8 1
9 1 EA = 0;
10 1
11 1 DS1302_RST = 1;
12 1
13 1 // DS1302_CLK = 0;
14 1 for(i=0;i<8;i++)
15 1 {
16 2 DS1302_CLK = 0;
17 2 if(addr&0x01)
18 2 DS1302_IO = 1;
19 2 else
20 2 DS1302_IO = 0;
21 2 addr >>= 1;
22 2 DS1302_CLK = 1;
23 2 }
24 1 for(i=0;i<8;i++)
25 1 {
26 2 c >>= 1;
27 2 DS1302_CLK = 0;
28 2 DS1302_IO = 1;
29 2 if(DS1302_IO == 1)
30 2 c |= 0x80;
31 2 DS1302_CLK = 1;
32 2 }
33 1
34 1 DS1302_RST = 0;
35 1 DS1302_CLK = 0;
36 1
37 1 EA = 1;
38 1
39 1 return c;
40 1 }
41
42 void writedata(uchar addr,uchar dat)
43 {
44 1 uchar i;
45 1
46 1 EA = 0;
47 1
48 1 DS1302_RST = 1;
49 1
50 1 // DS1302_CLK = 0;
51 1 for(i=0;i<8;i++)
52 1 {
53 2 DS1302_CLK = 0;
54 2 if(addr&0x01)
55 2 DS1302_IO = 1;
C51 COMPILER V7.06 DS1302 04/09/2005 13:15:55 PAGE 2
56 2 else
57 2 DS1302_IO = 0;
58 2 addr >>= 1;
59 2 DS1302_CLK = 1;
60 2 }
61 1
62 1 for(i=0;i<8;i++)
63 1 {
64 2 DS1302_CLK = 0;
65 2 if(dat&0x01)
66 2 DS1302_IO = 1;
67 2 else
68 2 DS1302_IO = 0;
69 2 dat >>= 1;
70 2 DS1302_CLK = 1;
71 2 }
72 1
73 1 DS1302_RST = 0;
74 1 DS1302_CLK = 0;
75 1
76 1 EA = 1;
77 1 }
78
79 void initds1302()
80 {
81 1 EA = 0;
82 1 DS1302_RST = 0;
83 1 DS1302_CLK = 0;
84 1 DS1302_IO = 0;
85 1 EA = 1;
86 1 }
87
88 #endif
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 129 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -