📄 time.lst
字号:
C51 COMPILER V8.08 TIME 04/20/2009 16:06:22 PAGE 1
C51 COMPILER V8.08, 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 <reg51.h>
2 #include <init.h>
3
4 void Ymd(void);
5 extern void Delay(unsigned char i);
6 extern void LCD_Write_Com(unsigned char com);
7 extern void LCD_Write_Dat(unsigned char dat);
8 extern void LCDInit(void);
9 extern void ring(void);
10
11 extern unsigned char count,time[3],date[3];
12 extern unsigned char wc,wd2,wd1,wd0;
13
14 /************定时初始化*********************/
15 void TimeInit(void)
16 {
17 1 TMOD=0x11;//T1=16,T2=16,定时 方式1
18 1 TH0=0x4c;
19 1 TL0=0x00;
20 1 TH1=0x4c;
21 1 TL1=0x00;
22 1 TR1=0;
23 1 ET1=0;
24 1 }
25
26 /****************T0中断函数***************************/
27 void TISR_TIME_DATE(void) interrupt 1 using 2
28 {
29 1 TH0=0x4c;
30 1 if(++count>=20)
31 1 {
32 2 count=0;
33 2 if(++time[2]>=60)
34 2 {
35 3 time[2]=0;
36 3 if(++time[1]>=60)
37 3 {
38 4 time[1]=0;
39 4 ring();
40 4 if(++time[0]>=24)
41 4 {
42 5 time[0]=0;
43 5 date[2]++;
44 5 if(date[1]==2)
45 5 {
46 6 if(((date[0]+2000)%400==0)||(((date[0]+2000)%4==0)&&((date[0]+2000)%100!=0))) //润年
47 6 {
48 7 if(date[2]>29)
49 7 Ymd();
50 7 }
51 6 else //不是润年
52 6 {
53 7 if(date[2]>28)
54 7 Ymd();
55 7 }
C51 COMPILER V8.08 TIME 04/20/2009 16:06:22 PAGE 2
56 6 }
57 5 else if((date[1]==1)||(date[1]==3)||(date[1]==5)||(date[1]==7)||(date[1]==8)||(date[1]==10)||(date[1
-]==12))
58 5 {
59 6 if(date[2]>31)
60 6 Ymd();
61 6 }
62 5 else if((date[1]==4)||(date[1]==6)||(date[1]==9)||(date[1]==11))
63 5 {
64 6 if(date[2]>30)
65 6 Ymd();
66 6 }
67 5 }
68 4 }
69 3 }
70 2 }
71 1 }
72
73 /****************T0中断函数***************************/
74 void TISR_Watch(void) interrupt 3 using 1
75 {
76 1 TH1=0x4c;
77 1 if(++wc>=20)
78 1 {
79 2 wc=0;
80 2 if(++wd2>=60)
81 2 {
82 3 wd2=0;
83 3 if(++wd1>=60)
84 3 {
85 4 wd1=0;
86 4 if(++wd0>=24)
87 4 wd0=0;
88 4 }
89 3 }
90 2 }
91 1 }
92
93
94 /**********************年月日*****************************/
95 void Ymd(void)
96 {
97 1 date[2]=0;
98 1 if(++date[1]>12)
99 1 {
100 2 date[1]=0;
101 2 if(++date[0]>=100)
102 2 date[0]=0;
103 2 }
104 1 }
105
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 348 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILER V8.08 TIME 04/20/2009 16:06:22 PAGE 3
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -