📄 time.lst
字号:
C51 COMPILER V7.02a TIME 09/30/2004 14:28:54 PAGE 1
C51 COMPILER V7.02a, COMPILATION OF MODULE TIME
OBJECT MODULE PLACED IN time.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE time.c OMF2 BROWSE VARBANKING(1) DEBUG
stmt level source
1 /***********************time**********************/
2
3 #include "ADUC812.h"
4 #include "stdio.h"
5 #include "absacc.h"
6 #include "plcd_bus.c"
7 #include "i2c.c"
8
9 unsigned char buffer[8],p;
10
11 void delayms(int n)
12 {
13 1 int i,j;
14 1 for(i=0;i<n;i++)
15 1 {
16 2 for(j=0;j<50;j++);
17 2 }
18 1 }
19
20
21
22
23
24 void readtime(void)
25 {
26 1 unsigned char i;
27 1
28 1 I2C_start();
29 1 I2C_Send_byte(0x65);
30 1 if(I2C_Cack()==1)
31 1 {
32 2 I2C_stop();
33 2 }
34 1
35 1 for(i=0;i<8;i++)
36 1 {
37 2 buffer[i]=I2C_Receive_byte();
38 2 if(i!=8)
39 2 {
40 3 I2C_ack();
41 3 }
42 2 else
43 2 {
44 3 I2C_nack();
45 3 }
46 2 }
47 1
48 1 I2C_stop();
49 1 }
50
51
52 void load (void)
53 {
54 1 unsigned char i;
55 1
C51 COMPILER V7.02a TIME 09/30/2004 14:28:54 PAGE 2
56 1 I2C_start();
57 1 I2C_Send_byte(0x64);
58 1 if(I2C_Cack()==1)
59 1 {
60 2 I2C_stop();
61 2 }
62 1 I2C_Send_byte(0xe0);
63 1 if(I2C_Cack()==1)
64 1 {
65 2 I2C_stop();
66 2 }
67 1 I2C_Send_byte(0x00);
68 1 if(I2C_Cack()==1)
69 1 {
70 2 I2C_stop();
71 2 }
72 1 I2C_Send_byte(0x30);
73 1 if(I2C_Cack()==1)
74 1 {
75 2 I2C_stop();
76 2 }
77 1
78 1 for(i=1;i<8;i++)
79 1 {
80 2 I2C_Send_byte(buffer[i]);
81 2 if(I2C_Cack()==1)
82 2 {
83 3 I2C_stop();
84 3 }
85 2 }
86 1
87 1 I2C_stop();
88 1
89 1 }
90
91
92
93
94
95 void time0(void) interrupt 1
96 {
97 1 TH0 = 100;
98 1 TL0 = 0;
99 1 p++;
100 1
101 1 readtime();
102 1 if(buffer[7] != 0xff)
103 1 {
104 2 display_data(2,0,buffer[7]); //year//
105 2 display_data(7,0,buffer[6]); //month//
106 2 display_data(12,0,buffer[5]); //day//
107 2 display_data(14,2,buffer[4]); //week//
108 2 display_data(4,4,buffer[3]); //hour//
109 2 display_data(7,4,buffer[2]); //min//
110 2 display_data(10,4,buffer[1]); //sec//
111 2 }
112 1
113 1
114 1 }
115
116
117 void main(void)
C51 COMPILER V7.02a TIME 09/30/2004 14:28:54 PAGE 3
118 {
119 1 char far dumy;
120 1
121 1 //unsigned char year,month,day,week,hour,min,sec;
122 1
123 1 SCON = 0x52;
124 1 TMOD=0x21;
125 1 TH1=0xfd;
126 1 TL1=0xfd; //** 9600 baud **//
127 1 TR1=1; //** start timer 1 **//
128 1 TI=1;
129 1 EA=1;
130 1
131 1 TMOD = 0x21;
132 1 TH0 = 100;
133 1 TL0 = 0;
134 1 ET0 = 1;
135 1 EA = 1;
136 1
137 1
138 1 left_command(lcd_off);
139 1 right_command(lcd_off);
140 1
141 1 lcd_left_clear();
142 1 lcd_right_clear();
143 1
144 1 left_command(lcd_on);
145 1 right_command(lcd_on);
146 1
147 1 display_ascii(0,0,"20 Y M D");
148 1 display_ascii(9,2,"Week 1");
149 1 display_ascii(4,4," : : ");
150 1
151 1
152 1 TR0 = 1;
153 1
154 1 while(1)
155 1 {
156 2 if( RI == 1 )
157 2 {
158 3 TR0 = 0;
159 3
160 3
161 3 buffer[7]=0x03; //year
162 3 buffer[6]=0x11; //mon
163 3 buffer[5]=0x28; //day
164 3 buffer[4]=0x05; //week
165 3 buffer[3]=0x17; //hour
166 3 buffer[2]=0x08; //min
167 3 buffer[1]=0x00; //sec
168 3 load();
169 3
170 3 }
171 2 TR0 = 1;
172 2 }
173 1 }
*** WARNING C280 IN LINE 119 OF TIME.C: 'dumy': unreferenced local variable
174
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1702 ----
C51 COMPILER V7.02a TIME 09/30/2004 14:28:54 PAGE 4
CONSTANT SIZE = 1570 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 9 22
IDATA SIZE = ---- ----
BIT SIZE = ---- 2
EDATA SIZE = ---- ----
HDATA SIZE = 1 ----
XDATA CONST SIZE = ---- ----
FAR CONST SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -