📄 ds12887.lst
字号:
C51 COMPILER V8.08 DS12887 02/05/2009 15:57:56 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE DS12887
OBJECT MODULE PLACED IN Ds12887.OBJ
COMPILER INVOKED BY: F:\安装包\Keilc uv2\C51\BIN\C51.EXE Ds12887.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*************************************************************************
2 文件名 :ds12887.c
3 作 者:eleclike
4 修改日期:2008-9-9
5 版 本:v1.00
6 版权说明:本程序只供学习使用,未经作者许可,不得用于其它任何用途
7 备 注:
8 **************************************************************************/
9
10
11 #include "My52.h"
12 #include "Mmi.h"
13 #include "ds12887.h"
14
15 uchar Month = 0;
16 uchar Date = 0;
17
18 uchar Year = 0;
19 uchar Day = 0;
20
21 uchar Hour = 0;
22 uchar Minute = 0;
23 uchar Second = 0;
24
25 uchar AlmHour =0;
26 uchar AlmMinute =0;
27 uchar AlmSecond =0;
28
29 uchar AlarmEnable=0; //报警使能
30
31 /*********************************************************
32 函数名称:IsInitDs12887()
33 函数功能:判断是否需要初始化DS12887
34 入口参数:无
35 出口参数:无
36 备 注:
37 *********************************************************/
38 void IsInitDs12887(void)
39 {
40 1 uchar t;
41 1 t = REGISTERA;
42 1 t &= 0x70; //取RegisterA的DV2-DV0
43 1 if(t != 0x20)
44 1 {
45 2 InitDs12887(); //初始化DS12887
46 2 }
47 1 }
48 /*********************************************************
49 函数名称:InitDs12887()
50 函数功能:初始化DS12887
51 入口参数:无
52 出口参数:无
53 备 注:
54 *********************************************************/
55 void InitDs12887(void)
C51 COMPILER V8.08 DS12887 02/05/2009 15:57:56 PAGE 2
56 {
57 1 uchar temp;
58 1 REGISTERB = 0x82;
59 1 //初始化闹钟
60 1 ALARM_SECOND= 0x00; //闹钟早上7点30分
61 1 ALARM_MINUTE= 0x30;
62 1 ALARM_HOUR = 0x07;
63 1 //初始化时间
64 1 TIME_SECOND= 0x13; //23:59:13
65 1 TIME_MINUTE= 0x59;
66 1 TIME_HOUR = 0x23;
67 1 TIME_DAY = 0x04; //星期四
68 1 TIME_DATE = 0x11; //08-09-11
69 1 TIME_MONTH = 0x09;
70 1 TIME_YEAR = 0x08;
71 1 //计时开始
72 1 REGISTERA = 0x20; //开始走时
73 1 REGISTERB = 0x22; //更新,允许IRQ
74 1 temp = REGISTERC; //读寄存器C,清楚IRQF
75 1 }
76 /*********************************************************
77 函数名称:ReadDs12887()
78 函数功能:读取DS12887各寄存器值
79 入口参数:无
80 出口参数:无
81 备 注:
82 *********************************************************/
83 void ReadDs12887(void)
84 {
85 1 AlmHour =ALARM_HOUR;
86 1 AlmMinute =ALARM_MINUTE;
87 1 AlmSecond =ALARM_SECOND;
88 1
89 1 Second = TIME_SECOND;
90 1 Minute = TIME_MINUTE;
91 1 Hour = TIME_HOUR;
92 1
93 1 Day = TIME_DAY;
94 1 Date = TIME_DATE;
95 1 Month = TIME_MONTH;
96 1 Year = TIME_YEAR;
97 1 }
98
99 /*********************************************************
100 函数名称:ReadAlarmFlag()
101 函数功能:读报警标志
102 入口参数:无
103 出口参数:无
104 备 注:
105 *********************************************************/
106 void ReadAlarmFlag(void)
107 {
108 1 uchar t;
109 1 ALARM_FLAG =1;
110 1 t = P3;
111 1 t &= (1<<3);
112 1 if(t == 0 ) //如果DS12887 IRQ为低
113 1 {
114 2 AlarmEnable = 1;
115 2 t = REGISTERC; //读RegisterC,清楚中断标志
116 2 }
117 1 }
C51 COMPILER V8.08 DS12887 02/05/2009 15:57:56 PAGE 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 161 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 11 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 + -