📄 real time clock.lst
字号:
C51 COMPILER V7.01 REAL_TIME_CLOCK 09/19/2005 15:11:58 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE REAL_TIME_CLOCK
OBJECT MODULE PLACED IN real time clock.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE real time clock.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*
2 //*************************************************************************
3 //
4 // M X I C(ShenZhen) P R O P R I E T A R Y
5 //
6 // COPYRIGHT (c) 2005 BY MXIC SHENZHEN.
7 // -- ALL RIGHTS RESERVED --
8 //
9 // File Name: Ti's 8050I Case.C
10 // Created: 29 Aug.05 by AndyHu
11 // Modified:
12 // Revision: 1.0
13 //
14 //*************************************************************************
15 //
16 //
17 //*************************************************************************
18 */
19 #include <stdio.h>
20 #include "mxREG52.h"
21 #include "Define.h"
22 #include "Mxic_IR.h"
23
24 unsigned char second_flag = 0;
25 unsigned char minite_flag = 0;
26 unsigned char hour_flag = 0;
27 extern void InitialTimer0(void);
28 void timer0_int(void);
29 BYTE WaitKey(void);
30 extern BYTE key;
31
32 BYTE WaitKey(void)
33 {
34 1 BYTE press_key;
35 1 press_key = P0 & 0x7F; // get press key from Port#0
36 1 if (press_key != 0x7F)
37 1 {
38 2 for (;;) //wait all key release
39 2 if ((P0&0x7F)==0x7F)
40 2 break;
41 2 }
42 1 else
43 1 press_key = 0;
44 1 return (press_key); //if not press key will return 0x00
45 1 }
46
47 void InitialTimer0(void)
48 {
49 1 //set Timer0 for key scan
50 1 TMOD=0x01;
51 1 TH0=0xFC;
52 1 TL0=0x1C;
53 1 EA=1;
54 1 TR0=1;
55 1 ET0=1;
C51 COMPILER V7.01 REAL_TIME_CLOCK 09/19/2005 15:11:58 PAGE 2
56 1 }
57
58 void timer0_int( void ) interrupt 1 //about 1ms run into this interrup subrutine,about 100ms to scan the
- key,
59 {
60 1 unsigned char i = 0,j = 0;
61 1 if(i<=98)
62 1 {
63 2 i++;
64 2 }
65 1 else
66 1 {
67 2 i = 0;
68 2 key = WaitKey();
69 2 if(j<=9)
70 2 {
71 3 j++;
72 3 }
73 2 else
74 2 { j = 0;
75 3 if(second_flag <= 60)
76 3 {
77 4 second_flag++;
78 4 }
79 3 else
80 3 { second_flag = 0;
81 4 if(minite_flag <= 60)
82 4 {
83 5 minite_flag++;
84 5 }
85 4 else
86 4 { minite_flag = 0;
87 5 if(hour_flag <= 24)
88 5 {
89 6 hour_flag++;
90 6 }
91 5 else
92 5 {
93 6 hour_flag = 0;
94 6 }
95 5 }
96 4 }
97 3 }
98 2 }
99 1 }
100
101
102
103
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 128 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 ----
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 + -