📄 set_time.lst
字号:
225 3
226 3 }
227 2
228 2
229 2 }
230 1 }
231
232
233 void set_hour()
234 {uchar hour,minite;
235 1 uchar hour_h,hour_l,minite_h,minite_l;
236 1
237 1 while(s4==1)
238 1 {send(0x08,0x0f);//5---8灭
239 2 send(0x07,0x0f);
240 2 send(0x06,0x0f);
241 2 send(0x05,0x0f);
C51 COMPILER V7.06 SET_TIME 05/30/2007 15:57:59 PAGE 5
242 2 Read_RTC();
243 2 hour=read_rtc_code[2];//读DS1302
244 2 minite=read_rtc_code[1];
245 2 hour_h=hour/10;
246 2 hour_l=hour%10;
247 2 send(0x01,hour_h);//显示小时
248 2 send(0x02,hour_l);
249 2 minite_h=minite/10;
250 2 minite_l=minite%10;
251 2 send(0x03,minite_h);//显示分钟
252 2 send(0x04,minite_l);
253 2 delay1(450);
254 2 send(0x01,0x0f);//显示小时灭
255 2 send(0x02,0x0f);
256 2 delay1(450);
257 2 if(s3==0)
258 2 {set_minite();
259 3 break;
260 3 }
261 2 else
262 2 if(s1==0)
263 2 {
264 3 hour=add_hour(hour);//时间加一
265 3 set_rtc_code[2]=hour; //
266 3 Set_RTC();
267 3 }
268 2 else
269 2 if(s2==0)
270 2 {
271 3 hour=minus_hour(hour);//时间减一
272 3 set_rtc_code[2]=hour;
273 3 Set_RTC();
274 3 }
275 2
276 2 }
277 1
278 1 }
279 uchar add_hour(uchar hour)
280 {hour++;
281 1 if(hour>23)
282 1 hour=0;
283 1 hour=time_data[hour];
284 1 return (hour);
285 1 }
286
287
288 uchar add_minite(uchar minite)
289 { minite++;
290 1 if(minite>59)
291 1 minite=0;
292 1 minite=time_data[minite];
293 1 return (minite);
294 1 }
295
296
297 uchar minus_hour(uchar hour)
298 {if(hour==0)
299 1 hour=23;
300 1 else
301 1 hour--;
302 1 hour=time_data[hour];
303 1 return(hour);
C51 COMPILER V7.06 SET_TIME 05/30/2007 15:57:59 PAGE 6
304 1 }
305
306
307 uchar minus_minite(uchar minite)
308 {
309 1 if(minite==0)
310 1 minite=59;
311 1 else
312 1 minite--;
313 1 minite=time_data[minite];
314 1 return(minite);
315 1 }
316
317 /**************************************************/
318 /********************************
319 //延时//
320 ********************************/
321 void delay1(uchar time)
322 {uchar i,j;
323 1 for(i=0;i<time; i++)
324 1 for(j=0;j<time;j++)
325 1 ;
326 1 }
327
328
329 void set_time()
330 {
331 1 bit a;
332 1 P3=0x0ff;
333 1 DS1302_WP_ENABLE;
334 1 Set_RTC();
335 1 if(s3==0)
336 1 {a=~a;
337 2 if(a==0)
338 2 set_hour();
339 2 else
340 2 set_minite();
341 2 }
342 1
343 1 }
344
345 /**************************************************/
346 /**************************************************/
347 /***************时间设置完*************************/
348 void main()
349 { Initial_7219();//初始化
350 1
351 1 while(1)
352 1 {
353 2 set_time();
354 2 }
355 1 }
C51 COMPILER V7.06 SET_TIME 05/30/2007 15:57:59 PAGE 7
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
Initial_7219 . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
_send. . . . . . . . . . . . . . . . . PUBLIC CODE PROC 000EH -----
add. . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
dat. . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
Databuf. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0003H 1
j. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0002H 1
IE . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
read_rtc_address . . . . . . . . . . . PUBLIC CODE ARRAY 0043H 7
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
LOAD . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0092H 1
_delay1. . . . . . . . . . . . . . . . PUBLIC CODE PROC 000BH -----
time . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
j. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
s1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
write_rtc_address. . . . . . . . . . . PUBLIC CODE ARRAY 003CH 7
s2 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
s3 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
s4 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
_add_hour. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
hour . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
time_data. . . . . . . . . . . . . . . PUBLIC CODE ARRAY 0000H 60
_minus_hour. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
hour . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
set_minite . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
hour . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
minite . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
hour_h . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
hour_l . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
minite_h . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
minite_l . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
_Read_Ds1302 . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
address. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
temp . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
temp_temp. . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
_Write_Ds1302_Byte . . . . . . . . . . PUBLIC CODE PROC 0006H -----
temp . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
read_rtc_code. . . . . . . . . . . . . PUBLIC DATA ARRAY 0000H 3
Read_RTC . . . . . . . . . . . . . . . PUBLIC CODE PROC 0013H -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
p. . . . . . . . . . . . . . . . . . * REG * DATA PTR 0001H 3
_Write_Ds1302. . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
address. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
dat. . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
SDA. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
CLK. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0090H 1
DIN. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0091H 1
set_time . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
a. . . . . . . . . . . . . . . . . . AUTO DATA BIT 0000H 1
C51 COMPILER V7.06 SET_TIME 05/30/2007 15:57:59 PAGE 8
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
SCL. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
set_hour . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
hour . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
minite . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0001H 1
hour_h . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
hour_l . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
minite_h . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
minite_l . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
_add_minite. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
minite . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
set_rtc_code . . . . . . . . . . . . . PUBLIC DATA ARRAY 0003H 3
Set_RTC. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
p. . . . . . . . . . . . . . . . . . * REG * DATA PTR 0001H 3
RST. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
_minus_minite. . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
minite . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 563 ----
CONSTANT SIZE = 74 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 2
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -