📄 ds12887.lst
字号:
C51 COMPILER V7.06 DS12887 12/21/2004 15:11:28 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE DS12887
OBJECT MODULE PLACED IN .\output\DS12887.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE DS12887.C OPTIMIZE(6,SPEED) BROWSE ORDER DEBUG OBJECTEXTEND PRINT(.\output\
-DS12887.lst) OBJECT(.\output\DS12887.obj)
stmt level source
1 /*********************************************************************************************************
2 **--------------文件信息--------------------------------------------------------------------------------
3 **文 件 名: DS12887.C
4 **创 建 人: 刘宝贵
5 **最后修改日期: 2004年4月20日
6 **描 述: 时钟驱动
7 **
8 **--------------历史版本信息----------------------------------------------------------------------------
9 ** 创建人: 刘宝贵
10 ** 版 本: V1.00
11 ** 日 期: 2004年4月20日
12 ** 描 述: 原始版本
13 **
14 **------------------------------------------------------------------------------------------------------
15 ** 修改人:
16 ** 版 本:
17 ** 日 期:
18 ** 描 述:
19 **
20 **------------------------------------------------------------------------------------------------------
21 **--------------当前版本修订------------------------------------------------------------------------------
22 ** 修改人: 刘宝贵
23 ** 日 期: 2004年4月20日
24 ** 描 述:
25 **
26 **------------------------------------------------------------------------------------------------------
27 ********************************************************************************************************/
28
29 #include "config.h"
30
31 /*********************************************************************************************************
32 ** 函数名称: ConfigMe
33 ** 功能描述: 系统配置如果是第一次使用将所有参数初始化,DA置为0
34 ** 输 入: 无
35 ** 输 出: 无
36 ** 全局变量:
37 ** 调用模块: OSSemPend OSSemPost
38 **
39 ** 作 者: 刘宝贵
40 ** 日 期: 2004年5月23日
41 **-------------------------------------------------------------------------------------------------------
42 ** 修改人:
43 ** 日 期:
44 **-------------------------------------------------------------------------------------------------------
45 ***************************************************************************************************/
46 /****************************************************************************/
47 /****************************************************************************/
48 /*********************************************************************
49 * 函数原型: uint read_ds12887_char(uchar adress) *
50 * 功能: 从ds12887指定地址读取数据 *
51 *********************************************************************/
52 /******************************************************************************/
53
54 /******************************************************************************/
C51 COMPILER V7.06 DS12887 12/21/2004 15:11:28 PAGE 2
55 void time_set(void)
56 {
57 1 uint8 idata tempc,tempd ;
58 1 tempd = read_ds12887_char(13);
59 1 write_ds12887_char(10,0x70);
60 1 write_ds12887_char(11,0x8E);
61 1 write_ds12887_char(0,0);//second
62 1 write_ds12887_char(2,0);//minute
63 1 write_ds12887_char(4,9);//hour
64 1 write_ds12887_char(7,1);//date
65 1 write_ds12887_char(8,8);//month
66 1 write_ds12887_char(9,04);//year
67 1 write_ds12887_char(10,0x26);//A
68 1 write_ds12887_char(11,0x1E);//B
69 1 tempc = read_ds12887_char(11);
70 1 }
71 /******************************************************************************/
72 /******************************************************************************/
73 uint8 read_ds12887_char(uint8 address)
74 {
75 1 uint8 dsdata;
76 1 // DSDS P60 1:|0x1 0:&0xFE
77 1 // DSRW P61 1:|0x2 0:&0xFD
78 1 // DSAS P62 1:|0x4 0:&0xFB
79 1 // DSCS P63 1:|0x8 0:&0xF7
80 1
81 1 // DSAS=0;
82 1 P6 = P6 & 0xFB;
83 1 // DSDS=1;
84 1 P6 = P6 | 0x1;
85 1 // DSRW=0;
86 1 P6 = P6 & 0xFD;
87 1 // DSCS=1;
88 1 P6 = P6 | 0x8;
89 1 // DSDS=0;
90 1 P6 = P6 & 0xFE;
91 1 // DSAS=1;
92 1 P6 = P6 | 0x4;
93 1 P5=address;
94 1 // DSCS=0;
95 1 P6 = P6 & 0xF7;
96 1 // DSAS=0;
97 1 P6 = P6 & 0xFB;
98 1 // DSRW=1;
99 1 P6 = P6 | 0x2;
100 1 // DSDS=1;
101 1 P6 = P6 | 0x1;
102 1 P5=0xFF;_nop_();_nop_();
103 1 dsdata=P5;
104 1 // DSDS=0;
105 1 P6 = P6 & 0xFE ;
106 1 // DSRW=1;
107 1 P6 = P6 | 0x2;
108 1 // DSAS=1;
109 1 P6 = P6 | 0x4;
110 1 // DSCS=1;
111 1 P6 = P6 | 0x8;
112 1 return (dsdata);
113 1 }
114 /*********************************************************************
115 * 函数原型:write_ds12887_char(unsigned char adress,unsigned char temp) *
116 * 功能: 在ds12887指定地址写一个char的数据 *
C51 COMPILER V7.06 DS12887 12/21/2004 15:11:28 PAGE 3
117 *********************************************************************/
118
119 /**************************************************************/
120 void write_ds12887_char(uint8 address,uint8 dsdata)
121 {
122 1 // DSDS P60 1:|0x1 0:&0xFE
123 1 // DSRW P61 1:|0x2 0:&0xFD
124 1 // DSAS P62 1:|0x4 0:&0xFB
125 1 // DSCS P63 1:|0x8 0:&0xF7
126 1
127 1 // DSAS=0;
128 1 P6 = P6 & 0xFB;
129 1 // DSDS=1;
130 1 P6 = P6 | 0x1;
131 1 // DSRW=1;
132 1 P6 = P6 | 0x2;
133 1 // DSCS=1;
134 1 P6 = P6 | 0x8;
135 1 // DSDS=0;
136 1 P6 = P6 & 0xFE;
137 1 // DSAS=1;
138 1 P6 = P6 | 0x4;
139 1 P5=address;
140 1 // DSCS=0;
141 1 P6 = P6 & 0xF7;
142 1 // DSAS=0;
143 1 P6 = P6 & 0xFB;
144 1 // DSRW=0;
145 1 P6 = P6 & 0xFD;
146 1 // DSDS=1;
147 1 P6 = P6 | 0x1;
148 1 P5=dsdata;
149 1 // DSDS=0;
150 1 P6 = P6 & 0xFE;
151 1 // DSRW=1;
152 1 P6 = P6 | 0x2;
153 1 // DSAS=1;
154 1 P6 = P6 | 0x4;
155 1 // DSCS=1;
156 1 P6 = P6 | 0x8;
157 1 }
158 /**************************************************************/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 187 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- 2
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 + -