📄 time.lst
字号:
C51 COMPILER V8.02 TIME 04/16/2008 22:07:30 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE TIME
OBJECT MODULE PLACED IN time.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE time.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "time.h"
2 #include "delay.h"
3 void WriDs(uchar addr,uchar dat);
4 uchar ReadDs(uchar addr);
5
6 void v_RTInputByte(uchar ucDa)//往DS1302写入1BYTE数据
7 {
8 1 uchar i;
9 1 for(i=8;i>0;i--)
10 1 {
11 2 if((ucDa & 0x01)!=0)
12 2 T_IO=1;
13 2 else
14 2 T_IO=0;
15 2 T_CLK=0;
16 2 _nop_();
17 2 _nop_();
18 2 T_CLK=1;
19 2 _nop_();
20 2 _nop_();
21 2 //T_CLK=0;
22 2 ucDa=ucDa>>1;
23 2 }
24 1 }
25 uchar v_RTOutputByte(void)//从DS1302读取1BYTE数据
26 {
27 1 uchar i;
28 1 static uchar temp1;
29 1 temp1=0;
30 1 //T_IO=1;
31 1 for(i=8;i>0;i--)
32 1 {
33 2 temp1=temp1>>1;
34 2 T_CLK=0;
35 2 _nop_();
36 2 if(T_IO)
37 2 temp1|=0x80;
38 2 T_CLK=1;
39 2 _nop_();
40 2 _nop_();
41 2 T_CLK=0;
42 2 }
43 1 return (temp1);
44 1 }
45 void WriDs(uchar ucAddr, uchar ucDa)//向DS1302某地址写入命令/数据,先写地址,后写命令/数据
46 {
47 1 T_CLK = 0;
48 1 T_RST =0;
49 1 T_RST = 1;
50 1 v_RTInputByte(ucAddr); /* 地址,命令 */
51 1 v_RTInputByte(ucDa); /* 写1Byte数据*/
52 1 T_IO = 1;
53 1 T_RST =0;
54 1 T_CLK=1;
55 1 }
C51 COMPILER V8.02 TIME 04/16/2008 22:07:30 PAGE 2
56
57
58 void Init1302(void)
59 {
60 1 T_CLK = 0;
61 1 _nop_();
62 1 T_RST = 0;
63 1 delay_1us(8);
64 1 WriDs(0x8e,0x00);
65 1 WriDs(0x8e,0x80);//写保护寄存器的WP位置1
66 1 }
67 void v_BurstW1302T(uchar *pSecDa)
68 {
69 1 uchar i;
70 1 WriDs(0x8e,0x00);//wp=0,写操作
71 1 T_RST=0;
72 1 T_CLK=0;
73 1 T_RST=1;
74 1 v_RTInputByte(0xbe); //时钟突发模式写
75 1 for(i=7;i>0;i--)
76 1 {
77 2 v_RTInputByte(*pSecDa);
78 2 pSecDa++;
79 2 }
80 1 v_RTInputByte(0x80);//7byte时钟数据+1byte控制
81 1 T_CLK=1;
82 1 T_RST=0;
83 1 }
84 void v_BurstR1302T(uchar *pSecDa)
85 {
86 1 uchar i;
87 1 T_RST=0;
88 1 T_CLK=0;
89 1 T_RST=1;
90 1 v_RTInputByte(0xbf);//时钟突发模式读
91 1 for(i=7;i>0;i--)
92 1 {
93 2 *pSecDa=v_RTOutputByte();
94 2 pSecDa++;
95 2 }
96 1 i=v_RTOutputByte();
97 1 T_CLK=1;
98 1 T_RST=0;
99 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 186 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
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 + -