From 971abf1cd8c410a53a35e16ba637b52e20fb7510 Mon Sep 17 00:00:00 2001
From: Andy0613 <841676382@qq.com>
Date: Tue, 7 Jul 2026 09:09:27 +0800
Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E4=BB=A3=E7=A0=81?=
=?UTF-8?q?=E4=BC=98=E5=8C=96,=E5=A2=9E=E5=8A=A0=E6=B8=A9=E5=BA=A6?=
=?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=8A=9F=E8=83=BD=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Keil Code/Revise_1/STARTUP.A51 | 198 +++
Keil Code/Revise_1/ds1302.c | 154 ++
Keil Code/Revise_1/ds1302.h | 32 +
Keil Code/Revise_1/ds18b20.c | 86 +
Keil Code/Revise_1/ds18b20.h | 24 +
Keil Code/Revise_1/lcd.c | 134 ++
Keil Code/Revise_1/lcd.h | 43 +
Keil Code/Revise_1/main.c | 246 +++
Keil Code/Revise_1/pro | Bin 0 -> 24826 bytes
Keil Code/Revise_1/pro.hex | 125 ++
Keil Code/Revise_1/pro.uvgui.Administrator | 1249 ++++++++++++++
Keil Code/Revise_1/pro.uvopt | 1741 ++++++++++++++++++++
Keil Code/Revise_1/pro.uvproj | 380 +++++
13 files changed, 4412 insertions(+)
create mode 100644 Keil Code/Revise_1/STARTUP.A51
create mode 100644 Keil Code/Revise_1/ds1302.c
create mode 100644 Keil Code/Revise_1/ds1302.h
create mode 100644 Keil Code/Revise_1/ds18b20.c
create mode 100644 Keil Code/Revise_1/ds18b20.h
create mode 100644 Keil Code/Revise_1/lcd.c
create mode 100644 Keil Code/Revise_1/lcd.h
create mode 100644 Keil Code/Revise_1/main.c
create mode 100644 Keil Code/Revise_1/pro
create mode 100644 Keil Code/Revise_1/pro.hex
create mode 100644 Keil Code/Revise_1/pro.uvgui.Administrator
create mode 100644 Keil Code/Revise_1/pro.uvopt
create mode 100644 Keil Code/Revise_1/pro.uvproj
diff --git a/Keil Code/Revise_1/STARTUP.A51 b/Keil Code/Revise_1/STARTUP.A51
new file mode 100644
index 0000000..ec99b9e
--- /dev/null
+++ b/Keil Code/Revise_1/STARTUP.A51
@@ -0,0 +1,198 @@
+$NOMOD51
+;------------------------------------------------------------------------------
+; This file is part of the C51 Compiler package
+; Copyright (c) 1988-2005 Keil Elektronik GmbH and Keil Software, Inc.
+; Version 8.01
+;
+; *** <<< Use Configuration Wizard in Context Menu >>> ***
+;------------------------------------------------------------------------------
+; STARTUP.A51: This code is executed after processor reset.
+;
+; To translate this file use A51 with the following invocation:
+;
+; A51 STARTUP.A51
+;
+; To link the modified STARTUP.OBJ file to your application use the following
+; Lx51 invocation:
+;
+; Lx51 your object file list, STARTUP.OBJ controls
+;
+;------------------------------------------------------------------------------
+;
+; User-defined Power-On Initialization of Memory
+;
+; With the following EQU statements the initialization of memory
+; at processor reset can be defined:
+;
+; IDATALEN: IDATA memory size <0x0-0x100>
+; Note: The absolute start-address of IDATA memory is always 0
+; The IDATA space overlaps physically the DATA and BIT areas.
+IDATALEN EQU 80H
+;
+; XDATASTART: XDATA memory start address <0x0-0xFFFF>
+; The absolute start address of XDATA memory
+XDATASTART EQU 0
+;
+; XDATALEN: XDATA memory size <0x0-0xFFFF>
+; The length of XDATA memory in bytes.
+XDATALEN EQU 0
+;
+; PDATASTART: PDATA memory start address <0x0-0xFFFF>
+; The absolute start address of PDATA memory
+PDATASTART EQU 0H
+;
+; PDATALEN: PDATA memory size <0x0-0xFF>
+; The length of PDATA memory in bytes.
+PDATALEN EQU 0H
+;
+;
+;------------------------------------------------------------------------------
+;
+; Reentrant Stack Initialization
+;
+; The following EQU statements define the stack pointer for reentrant
+; functions and initialized it:
+;
+; Stack Space for reentrant functions in the SMALL model.
+; IBPSTACK: Enable SMALL model reentrant stack
+; Stack space for reentrant functions in the SMALL model.
+IBPSTACK EQU 0 ; set to 1 if small reentrant is used.
+; IBPSTACKTOP: End address of SMALL model stack <0x0-0xFF>
+; Set the top of the stack to the highest location.
+IBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1
+;
+;
+; Stack Space for reentrant functions in the LARGE model.
+; XBPSTACK: Enable LARGE model reentrant stack
+; Stack space for reentrant functions in the LARGE model.
+XBPSTACK EQU 0 ; set to 1 if large reentrant is used.
+; XBPSTACKTOP: End address of LARGE model stack <0x0-0xFFFF>
+; Set the top of the stack to the highest location.
+XBPSTACKTOP EQU 0xFFFF +1 ; default 0FFFFH+1
+;
+;
+; Stack Space for reentrant functions in the COMPACT model.
+; PBPSTACK: Enable COMPACT model reentrant stack
+; Stack space for reentrant functions in the COMPACT model.
+PBPSTACK EQU 0 ; set to 1 if compact reentrant is used.
+;
+; PBPSTACKTOP: End address of COMPACT model stack <0x0-0xFFFF>
+; Set the top of the stack to the highest location.
+PBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1
+;
+;
+;------------------------------------------------------------------------------
+;
+; Memory Page for Using the Compact Model with 64 KByte xdata RAM
+; Compact Model Page Definition
+;
+; Define the XDATA page used for PDATA variables.
+; PPAGE must conform with the PPAGE set in the linker invocation.
+;
+; Enable pdata memory page initalization
+PPAGEENABLE EQU 0 ; set to 1 if pdata object are used.
+;
+; PPAGE number <0x0-0xFF>
+; uppermost 256-byte address of the page used for PDATA variables.
+PPAGE EQU 0
+;
+; SFR address which supplies uppermost address byte <0x0-0xFF>
+; most 8051 variants use P2 as uppermost address byte
+PPAGE_SFR DATA 0A0H
+;
+;
+;------------------------------------------------------------------------------
+
+; Standard SFR Symbols
+ACC DATA 0E0H
+B DATA 0F0H
+SP DATA 81H
+DPL DATA 82H
+DPH DATA 83H
+
+ NAME ?C_STARTUP
+
+
+?C_C51STARTUP SEGMENT CODE
+?STACK SEGMENT IDATA
+
+ RSEG ?STACK
+ DS 1
+
+ EXTRN CODE (?C_START)
+ PUBLIC ?C_STARTUP
+
+ CSEG AT 0
+?C_STARTUP: LJMP STARTUP1
+
+ RSEG ?C_C51STARTUP
+
+STARTUP1:
+
+IF IDATALEN <> 0
+ MOV R0,#IDATALEN - 1
+ CLR A
+IDATALOOP: MOV @R0,A
+ DJNZ R0,IDATALOOP
+ENDIF
+
+IF XDATALEN <> 0
+ MOV DPTR,#XDATASTART
+ MOV R7,#LOW (XDATALEN)
+ IF (LOW (XDATALEN)) <> 0
+ MOV R6,#(HIGH (XDATALEN)) +1
+ ELSE
+ MOV R6,#HIGH (XDATALEN)
+ ENDIF
+ CLR A
+XDATALOOP: MOVX @DPTR,A
+ INC DPTR
+ DJNZ R7,XDATALOOP
+ DJNZ R6,XDATALOOP
+ENDIF
+
+IF PPAGEENABLE <> 0
+ MOV PPAGE_SFR,#PPAGE
+ENDIF
+
+IF PDATALEN <> 0
+ MOV R0,#LOW (PDATASTART)
+ MOV R7,#LOW (PDATALEN)
+ CLR A
+PDATALOOP: MOVX @R0,A
+ INC R0
+ DJNZ R7,PDATALOOP
+ENDIF
+
+IF IBPSTACK <> 0
+EXTRN DATA (?C_IBP)
+
+ MOV ?C_IBP,#LOW IBPSTACKTOP
+ENDIF
+
+IF XBPSTACK <> 0
+EXTRN DATA (?C_XBP)
+
+ MOV ?C_XBP,#HIGH XBPSTACKTOP
+ MOV ?C_XBP+1,#LOW XBPSTACKTOP
+ENDIF
+
+IF PBPSTACK <> 0
+EXTRN DATA (?C_PBP)
+ MOV ?C_PBP,#LOW PBPSTACKTOP
+ENDIF
+
+ MOV SP,#?STACK-1
+
+; This code is required if you use L51_BANK.A51 with Banking Mode 4
+; Code Banking
+; Select Bank 0 for L51_BANK.A51 Mode 4
+#if 0
+; Initialize bank mechanism to code bank 0 when using L51_BANK.A51 with Banking Mode 4.
+EXTRN CODE (?B_SWITCH0)
+ CALL ?B_SWITCH0 ; init bank mechanism to code bank 0
+#endif
+;
+ LJMP ?C_START
+
+ END
diff --git a/Keil Code/Revise_1/ds1302.c b/Keil Code/Revise_1/ds1302.c
new file mode 100644
index 0000000..024ad00
--- /dev/null
+++ b/Keil Code/Revise_1/ds1302.c
@@ -0,0 +1,154 @@
+#include"ds1302.h"
+
+//---DS1302д��Ͷ�ȡʱ����ĵ�ַ����---//
+//---���ʱ�������� ���λ��дλ;-------//
+uchar code READ_RTC_ADDR[7] = {0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d};
+uchar code WRITE_RTC_ADDR[7] = {0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c};
+
+//---DS1302ʱ�ӳ�ʼ��2013��1��1�����ڶ�12��00��00�롣---//
+//---�洢˳�������ʱ��������,�洢��ʽ����BCD��---//
+uchar TIME[7] = {0, 0, 0x12, 0x01, 0x01, 0x02, 0x13};
+
+/*******************************************************************************
+* �� �� �� : Ds1302Write
+* �������� : ��DS1302�����ַ+���ݣ�
+* �� �� : addr,dat
+* �� �� : ��
+*******************************************************************************/
+
+void Ds1302Write(uchar addr, uchar dat)
+{
+ uchar n;
+ RST = 0;
+ _nop_();
+
+ SCLK = 0;//�Ƚ�SCLK�õ͵�ƽ��
+ _nop_();
+ RST = 1; //Ȼ��RST(CE)�øߵ�ƽ��
+ _nop_();
+
+ for (n=0; n<8; n++)//��ʼ���Ͱ�λ��ַ����
+ {
+ DSIO = addr & 0x01;//���ݴӵ�λ��ʼ����
+ addr >>= 1;
+ SCLK = 1;//������������ʱ��DS1302��ȡ����
+ _nop_();
+ SCLK = 0;
+ _nop_();
+ }
+ for (n=0; n<8; n++)//д��8λ����
+ {
+ DSIO = dat & 0x01;
+ dat >>= 1;
+ SCLK = 1;//������������ʱ��DS1302��ȡ����
+ _nop_();
+ SCLK = 0;
+ _nop_();
+ }
+
+ RST = 0;//�������ݽ���
+ _nop_();
+}
+
+/*******************************************************************************
+* �� �� �� : Ds1302Read
+* �������� : ��ȡһ����ַ������
+* �� �� : addr
+* �� �� : dat
+*******************************************************************************/
+
+uchar Ds1302Read(uchar addr)
+{
+ uchar n,dat,dat1;
+ RST = 0;
+ _nop_();
+
+ SCLK = 0;//�Ƚ�SCLK�õ͵�ƽ��
+ _nop_();
+ RST = 1;//Ȼ��RST(CE)�øߵ�ƽ��
+ _nop_();
+
+ for(n=0; n<8; n++)//��ʼ���Ͱ�λ��ַ����
+ {
+ DSIO = addr & 0x01;//���ݴӵ�λ��ʼ����
+ addr >>= 1;
+ SCLK = 1;//������������ʱ��DS1302��ȡ����
+ _nop_();
+ SCLK = 0;//DS1302�½���ʱ����������
+ _nop_();
+ }
+ _nop_();
+ for(n=0; n<8; n++)//��ȡ8λ����
+ {
+ dat1 = DSIO;//�����λ��ʼ����
+ dat = (dat>>1) | (dat1<<7);
+ SCLK = 1;
+ _nop_();
+ SCLK = 0;//DS1302�½���ʱ����������
+ _nop_();
+ }
+
+ RST = 0;
+ _nop_(); //����ΪDS1302��λ���ȶ�ʱ��,����ġ�
+ SCLK = 1;
+ _nop_();
+ DSIO = 0;
+ _nop_();
+ DSIO = 1;
+ _nop_();
+ return dat;
+}
+
+/*******************************************************************************
+* �� �� �� : Ds1302Init
+* �������� : ��ʼ��DS1302.
+* �� �� : ��
+* �� �� : ��
+*******************************************************************************/
+
+void Ds1302Init()
+{
+ uchar n;
+ uchar sec;
+ // ���CHλ�ж��Ƿ��ѳ�ʼ��
+ sec = Ds1302Read(0x81);
+ if(!(sec & 0x80)) // CH=0, ʱ���Ѿ����У�������д
+ return;
+ // ��һ�ε翪��, д��Ĭ��ʱ��
+ Ds1302Write(0x8E,0X00);
+ for (n=0; n<7; n++)
+ {
+ Ds1302Write(WRITE_RTC_ADDR[n],TIME[n]);
+ }
+ Ds1302Write(0x8E,0x80);
+}
+
+void Ds1302WriteTime()
+{
+ uchar n;
+ Ds1302Write(0x8E,0X00);
+ for (n=0; n<7; n++)
+ {
+ Ds1302Write(WRITE_RTC_ADDR[n],TIME[n]);
+ }
+ Ds1302Write(0x8E,0x80);
+}
+
+/*******************************************************************************
+* �� �� �� : Ds1302ReadTime
+* �������� : ��ȡʱ����Ϣ
+* �� �� : ��
+* �� �� : ��
+*******************************************************************************/
+
+void Ds1302ReadTime()
+{
+ uchar n;
+ for (n=0; n<7; n++)//��ȡ7���ֽڵ�ʱ���źţ�����ʱ��������
+ {
+ TIME[n] = Ds1302Read(READ_RTC_ADDR[n]);
+ }
+
+}
+
+
diff --git a/Keil Code/Revise_1/ds1302.h b/Keil Code/Revise_1/ds1302.h
new file mode 100644
index 0000000..3695c6f
--- /dev/null
+++ b/Keil Code/Revise_1/ds1302.h
@@ -0,0 +1,32 @@
+#ifndef __DS1302_H_
+#define __DS1302_H_
+
+//---����ͷ�ļ�---//
+#include
+#include
+
+//---�ض���ؼ���---//
+#ifndef uchar
+#define uchar unsigned char
+#endif
+
+#ifndef uint
+#define uint unsigned int
+#endif
+
+//---����ds1302ʹ�õ�IO��---//
+sbit DSIO=P1^1;
+sbit RST=P1^2;
+sbit SCLK=P1^0;
+
+//---����ȫ�ֺ���---//
+void Ds1302Write(uchar addr, uchar dat);
+uchar Ds1302Read(uchar addr);
+void Ds1302Init();
+void Ds1302ReadTime();
+void Ds1302WriteTime();
+
+//---����ȫ�ֱ���--//
+extern uchar TIME[7]; //����ȫ�ֱ���
+
+#endif
\ No newline at end of file
diff --git a/Keil Code/Revise_1/ds18b20.c b/Keil Code/Revise_1/ds18b20.c
new file mode 100644
index 0000000..3b983b3
--- /dev/null
+++ b/Keil Code/Revise_1/ds18b20.c
@@ -0,0 +1,86 @@
+#include "ds18b20.h"
+
+void DS18B20_Reset(void)
+{
+ uchar i;
+ DS18B20_DQ = 0;
+ for(i=0; i<200; i++);
+ DS18B20_DQ = 1;
+ for(i=0; i<100; i++);
+}
+
+void DS18B20_WriteByte(uchar dat)
+{
+ uchar i, j;
+ for(i=0; i<8; i++)
+ {
+ DS18B20_DQ = 0;
+ _nop_();
+ if(dat & 0x01)
+ DS18B20_DQ = 1;
+ else
+ DS18B20_DQ = 0;
+ for(j=0; j<30; j++);
+ DS18B20_DQ = 1;
+ _nop_();
+ _nop_();
+ dat >>= 1;
+ }
+}
+
+uchar DS18B20_ReadByte(void)
+{
+ uchar i, j, dat = 0;
+ for(i=0; i<8; i++)
+ {
+ dat >>= 1;
+ DS18B20_DQ = 0;
+ _nop_();
+ DS18B20_DQ = 1;
+ _nop_();
+ _nop_();
+ if(DS18B20_DQ)
+ dat |= 0x80;
+ for(j=0; j<20; j++);
+ }
+ return dat;
+}
+
+void DS18B20_StartConvert(void)
+{
+ DS18B20_Reset();
+ DS18B20_WriteByte(0xCC);
+ DS18B20_WriteByte(0x44);
+}
+
+void DS18B20_SetResolution(uchar res)
+{
+ // res: 0x1F=9bit, 0x3F=10bit, 0x5F=11bit, 0x7F=12bit
+ DS18B20_Reset();
+ DS18B20_WriteByte(0xCC); // Skip ROM
+ DS18B20_WriteByte(0x4E); // Write Scratchpad
+ DS18B20_WriteByte(0x00); // TH (user byte 1)
+ DS18B20_WriteByte(0x00); // TL (user byte 2)
+ DS18B20_WriteByte(res); // Configuration register
+ DS18B20_Reset();
+ DS18B20_WriteByte(0xCC); // Skip ROM
+ DS18B20_WriteByte(0x48); // Copy Scratchpad to EEPROM
+}
+
+bit DS18B20_GetTemp(int *temp)
+{
+ uchar tempL, tempH;
+ int raw;
+
+ DS18B20_Reset();
+ DS18B20_WriteByte(0xCC);
+ DS18B20_WriteByte(0xBE);
+
+ tempL = DS18B20_ReadByte();
+ tempH = DS18B20_ReadByte();
+
+ raw = (tempH << 8) | tempL;
+ *temp = raw;
+
+ return 1;
+}
diff --git a/Keil Code/Revise_1/ds18b20.h b/Keil Code/Revise_1/ds18b20.h
new file mode 100644
index 0000000..24394a5
--- /dev/null
+++ b/Keil Code/Revise_1/ds18b20.h
@@ -0,0 +1,24 @@
+#ifndef __DS18B20_H_
+#define __DS18B20_H_
+
+#include
+#include
+
+#ifndef uchar
+#define uchar unsigned char
+#endif
+
+#ifndef uint
+#define uint unsigned int
+#endif
+
+sbit DS18B20_DQ = P3^7;
+
+void DS18B20_Reset(void);
+void DS18B20_WriteByte(uchar dat);
+uchar DS18B20_ReadByte(void);
+void DS18B20_StartConvert(void);
+bit DS18B20_GetTemp(int *temp);
+void DS18B20_SetResolution(uchar res);
+
+#endif
diff --git a/Keil Code/Revise_1/lcd.c b/Keil Code/Revise_1/lcd.c
new file mode 100644
index 0000000..b32b713
--- /dev/null
+++ b/Keil Code/Revise_1/lcd.c
@@ -0,0 +1,134 @@
+#include"lcd.h"
+
+/*******************************************************************************
+* º¯ Êý Ãû : Lcd1602_Delay1ms
+* º¯Êý¹¦ÄÜ : ÑÓʱº¯Êý£¬ÑÓʱ1ms
+* Êä Èë : c
+* Êä ³ö : ÎÞ
+* ˵ Ãû : ¸Ãº¯ÊýÊÇÔÚ12MHZ¾§ÕñÏ£¬12·ÖƵµ¥Æ¬»úµÄÑÓʱ¡£
+*******************************************************************************/
+
+void Lcd1602_Delay1ms(uint c) //Îó²î 0us
+{
+ uchar a,b;
+ for (; c>0; c--)
+ {
+ for (b=199;b>0;b--)
+ {
+ for(a=1;a>0;a--);
+ }
+ }
+
+}
+
+/*******************************************************************************
+* º¯ Êý Ãû : LcdWriteCom
+* º¯Êý¹¦ÄÜ : ÏòLCDдÈëÒ»¸ö×Ö½ÚµÄÃüÁî
+* Êä Èë : com
+* Êä ³ö : ÎÞ
+*******************************************************************************/
+#ifndef LCD1602_4PINS //µ±Ã»Óж¨ÒåÕâ¸öLCD1602_4PINSʱ
+void LcdWriteCom(uchar com) //дÈëÃüÁî
+{
+ LCD1602_E = 0; //ʹÄÜ
+ LCD1602_RS = 0; //Ñ¡Ôñ·¢ËÍÃüÁî
+ LCD1602_RW = 0; //Ñ¡ÔñдÈë
+
+ LCD1602_DATAPINS = com; //·ÅÈëÃüÁî
+ Lcd1602_Delay1ms(1); //µÈ´ýÊý¾ÝÎȶ¨
+
+ LCD1602_E = 1; //дÈëʱÐò
+ Lcd1602_Delay1ms(5); //±£³Öʱ¼ä
+ LCD1602_E = 0;
+}
+#else
+void LcdWriteCom(uchar com) //дÈëÃüÁî
+{
+ LCD1602_E = 0; //ʹÄÜÇåÁã
+ LCD1602_RS = 0; //Ñ¡ÔñдÈëÃüÁî
+ LCD1602_RW = 0; //Ñ¡ÔñдÈë
+
+ LCD1602_DATAPINS = com; //ÓÉÓÚ4λµÄ½ÓÏßÊǽӵ½P0¿ÚµÄ¸ßËÄ룬ËùÒÔ´«Ë͸ßËÄλ²»ÓøÄ
+ Lcd1602_Delay1ms(1);
+
+ LCD1602_E = 1; //дÈëʱÐò
+ Lcd1602_Delay1ms(5);
+ LCD1602_E = 0;
+
+// Lcd1602_Delay1ms(1);
+ LCD1602_DATAPINS = com << 4; //·¢Ë͵ÍËÄλ
+ Lcd1602_Delay1ms(1);
+
+ LCD1602_E = 1; //дÈëʱÐò
+ Lcd1602_Delay1ms(5);
+ LCD1602_E = 0;
+}
+#endif
+/*******************************************************************************
+* º¯ Êý Ãû : LcdWriteData
+* º¯Êý¹¦ÄÜ : ÏòLCDдÈëÒ»¸ö×Ö½ÚµÄÊý¾Ý
+* Êä Èë : dat
+* Êä ³ö : ÎÞ
+*******************************************************************************/
+#ifndef LCD1602_4PINS
+void LcdWriteData(uchar dat) //дÈëÊý¾Ý
+{
+ LCD1602_E = 0; //ʹÄÜÇåÁã
+ LCD1602_RS = 1; //Ñ¡ÔñÊäÈëÊý¾Ý
+ LCD1602_RW = 0; //Ñ¡ÔñдÈë
+
+ LCD1602_DATAPINS = dat; //дÈëÊý¾Ý
+ Lcd1602_Delay1ms(1);
+
+ LCD1602_E = 1; //дÈëʱÐò
+ Lcd1602_Delay1ms(5); //±£³Öʱ¼ä
+ LCD1602_E = 0;
+}
+#else
+void LcdWriteData(uchar dat) //дÈëÊý¾Ý
+{
+ LCD1602_E = 0; //ʹÄÜÇåÁã
+ LCD1602_RS = 1; //Ñ¡ÔñдÈëÊý¾Ý
+ LCD1602_RW = 0; //Ñ¡ÔñдÈë
+
+ LCD1602_DATAPINS = dat; //ÓÉÓÚ4λµÄ½ÓÏßÊǽӵ½P0¿ÚµÄ¸ßËÄ룬ËùÒÔ´«Ë͸ßËÄλ²»ÓøÄ
+ Lcd1602_Delay1ms(1);
+
+ LCD1602_E = 1; //дÈëʱÐò
+ Lcd1602_Delay1ms(5);
+ LCD1602_E = 0;
+
+ LCD1602_DATAPINS = dat << 4; //дÈëµÍËÄλ
+ Lcd1602_Delay1ms(1);
+
+ LCD1602_E = 1; //дÈëʱÐò
+ Lcd1602_Delay1ms(5);
+ LCD1602_E = 0;
+}
+#endif
+/*******************************************************************************
+* º¯ Êý Ãû : LcdInit()
+* º¯Êý¹¦ÄÜ : ³õʼ»¯LCDÆÁ
+* Êä Èë : ÎÞ
+* Êä ³ö : ÎÞ
+*******************************************************************************/
+#ifndef LCD1602_4PINS
+void LcdInit() //LCD³õʼ»¯×Ó³ÌÐò
+{
+ LcdWriteCom(0x38); //¿ªÏÔʾ
+ LcdWriteCom(0x0c); //¿ªÏÔʾ²»ÏÔʾ¹â±ê
+ LcdWriteCom(0x06); //дһ¸öÖ¸Õë¼Ó1
+ LcdWriteCom(0x01); //ÇåÆÁ
+ LcdWriteCom(0x80); //ÉèÖÃÊý¾ÝÖ¸ÕëÆðµã
+}
+#else
+void LcdInit() //LCD³õʼ»¯×Ó³ÌÐò
+{
+ LcdWriteCom(0x32); //½«8λ×ÜÏßתΪ4λ×ÜÏß
+ LcdWriteCom(0x28); //ÔÚËÄλÏßϵijõʼ»¯
+ LcdWriteCom(0x0c); //¿ªÏÔʾ²»ÏÔʾ¹â±ê
+ LcdWriteCom(0x06); //дһ¸öÖ¸Õë¼Ó1
+ LcdWriteCom(0x01); //ÇåÆÁ
+ LcdWriteCom(0x80); //ÉèÖÃÊý¾ÝÖ¸ÕëÆðµã
+}
+#endif
diff --git a/Keil Code/Revise_1/lcd.h b/Keil Code/Revise_1/lcd.h
new file mode 100644
index 0000000..1c089e1
--- /dev/null
+++ b/Keil Code/Revise_1/lcd.h
@@ -0,0 +1,43 @@
+#ifndef __LCD_H_
+#define __LCD_H_
+/**********************************
+µ±Ê¹ÓõÄÊÇ4λÊý¾Ý´«ÊäµÄʱºò¶¨Ò壬
+ʹÓÃ8λȡÏûÕâ¸ö¶¨Òå
+**********************************/
+#define LCD1602_4PINS
+
+/**********************************
+°üº¬Í·Îļþ
+**********************************/
+#include
+
+//---ÖØ¶¨Ò幨¼ü´Ê---//
+#ifndef uchar
+#define uchar unsigned char
+#endif
+
+#ifndef uint
+#define uint unsigned int
+#endif
+
+/**********************************
+PIN¿Ú¶¨Òå
+**********************************/
+#define LCD1602_DATAPINS P0
+sbit LCD1602_E=P2^7;
+sbit LCD1602_RW=P2^5;
+sbit LCD1602_RS=P2^6;
+
+/**********************************
+º¯ÊýÉùÃ÷
+**********************************/
+/*ÔÚ51µ¥Æ¬»ú12MHZʱÖÓϵÄÑÓʱº¯Êý*/
+void Lcd1602_Delay1ms(uint c); //Îó²î 0us
+/*LCD1602дÈë8λÃüÁî×Óº¯Êý*/
+void LcdWriteCom(uchar com);
+/*LCD1602дÈë8λÊý¾Ý×Óº¯Êý*/
+void LcdWriteData(uchar dat) ;
+/*LCD1602³õʼ»¯×Ó³ÌÐò*/
+void LcdInit();
+
+#endif
diff --git a/Keil Code/Revise_1/main.c b/Keil Code/Revise_1/main.c
new file mode 100644
index 0000000..4947de4
--- /dev/null
+++ b/Keil Code/Revise_1/main.c
@@ -0,0 +1,246 @@
+/*******************************************************************************
+* ʵ���� : ������ʵ��
+* ʹ�õ�IO :
+* ʵ��Ч�� :1602��ʾʱ�ӣ���K3����ʱ�����ã���K1ѡ�����õ�ʱ�������£���K2ѡ��
+*ѡ�����ü�1��
+* ע�� ��
+*******************************************************************************/
+
+#include
+#include"lcd.h"
+#include"ds1302.h"
+#include"ds18b20.h"
+
+sbit K1=P3^1;
+sbit K2=P3^0;
+sbit K3=P3^2;
+sbit K4=P3^3; //�ܽŽ���
+
+void Int0Configuration();
+void LcdDisplay();
+void TempPros(void);
+unsigned char SetState,SetPlace;
+int temperature = 0;
+unsigned char temp_cnt = 0;
+void Delay10ms(void); //��� 0us
+/*******************************************************************************
+* ������ : main
+* �������� : ������
+* ���� : ��
+* ��� : ��
+*******************************************************************************/
+
+void main()
+{
+ unsigned char i;
+ Int0Configuration();
+ LcdInit();
+ Ds1302Init();
+ DS18B20_SetResolution(0x3F); // 10λ���ȣ�ת��ʱ��187.5ms
+ DS18B20_StartConvert();
+ while(1)
+ {
+ if(SetState==0)
+ {
+ Ds1302ReadTime();
+ }
+ else
+ {
+ if(K1==0) //��ⰴ��K1�Ƿ���
+ {
+ Delay10ms(); //��������
+ if(K1==0)
+ {
+ SetPlace++;
+ if(SetPlace>=7)
+ SetPlace=0;
+ }
+
+ while((i<50)&&(K1==0)) //��ⰴ���Ƿ��ɿ�
+ {
+ Delay10ms();
+ i++;
+ }
+ i=0;
+ }
+ if(K2==0) //��ⰴ��K2�Ƿ���
+ {
+ Delay10ms(); //��������
+ if(K2==0)
+ {
+ TIME[SetPlace]++;
+ if((TIME[SetPlace]&0x0f)>9) //����BCD�롣
+ {
+ TIME[SetPlace]=TIME[SetPlace]+6;
+ }
+ if((TIME[SetPlace]>=0x60)&&(SetPlace<2)) //����ֻ�ܵ�59
+ {
+ TIME[SetPlace]=0;
+ }
+ if((TIME[SetPlace]>=0x24)&&(SetPlace==2)) //Сʱֻ�ܵ�23
+ {
+ TIME[SetPlace]=0;
+ }
+ if((TIME[SetPlace]>=0x32)&&(SetPlace==3)) //��ֻ�ܵ�31
+ {
+ TIME[SetPlace]=0;
+ }
+ if((TIME[SetPlace]>=0x13)&&(SetPlace==4)) //��ֻ�ܵ�12
+ {
+ TIME[SetPlace]=0;
+ }
+ if((TIME[SetPlace]>=0x7)&&(SetPlace==5)) //��ֻ�ܵ�7
+ {
+ TIME[SetPlace]=1;
+ }
+ }
+
+ while((i<50)&&(K2==0)) //��ⰴ���Ƿ��ɿ�
+ {
+ Delay10ms();
+ i++;
+ }
+ i=0;
+
+ }
+ }
+
+ temp_cnt++;
+ if(temp_cnt >= 5)
+ {
+ temp_cnt = 0;
+ TempPros();
+ }
+
+ LcdDisplay();
+ }
+
+}
+/*******************************************************************************
+* ������ : LcdDisplay()
+* �������� : ��ʾ����
+* ���� : ��
+* ��� : ��
+*******************************************************************************/
+
+void LcdDisplay()
+{
+ int temp_disp;
+
+ // Row 0: 20YY-MM-DD W
+ LcdWriteCom(0x80);
+ LcdWriteData('2');
+ LcdWriteData('0');
+ LcdWriteData('0'+TIME[6]/16); //��
+ LcdWriteData('0'+(TIME[6]&0x0f));
+ LcdWriteData('-');
+ LcdWriteData('0'+TIME[4]/16); //��
+ LcdWriteData('0'+(TIME[4]&0x0f));
+ LcdWriteData('-');
+ LcdWriteData('0'+TIME[3]/16); //��
+ LcdWriteData('0'+(TIME[3]&0x0f));
+ LcdWriteCom(0x8B);
+ LcdWriteData('0'+(TIME[5]&0x07)); //����
+
+ // Row 1: HH:MM:SS xx.xC
+ LcdWriteCom(0x80+0X40);
+ LcdWriteData('0'+TIME[2]/16); //ʱ
+ LcdWriteData('0'+(TIME[2]&0x0f));
+ LcdWriteData(':');
+ LcdWriteData('0'+TIME[1]/16); //��
+ LcdWriteData('0'+(TIME[1]&0x0f));
+ LcdWriteData(':');
+ LcdWriteData('0'+TIME[0]/16); //��
+ LcdWriteData('0'+(TIME[0]&0x0f));
+
+ // Temperature display at position 9
+ LcdWriteCom(0x80+0x40+0x09);
+ temp_disp = temperature;
+ if(temp_disp < 0)
+ {
+ LcdWriteData('-');
+ temp_disp = -temp_disp;
+ }
+ else
+ {
+ LcdWriteData(' ');
+ }
+ LcdWriteData('0' + temp_disp / 100);
+ LcdWriteData('0' + (temp_disp / 10) % 10);
+ LcdWriteData('.');
+ LcdWriteData('0' + temp_disp % 10);
+ LcdWriteData('C');
+}
+/*******************************************************************************
+* ������ : TempPros
+* �������� : 读�DS18B20温度并�动下一次转�
+* ���� : ��
+* ��� : ��
+*******************************************************************************/
+void TempPros()
+{
+ int raw;
+ unsigned char sign = 0;
+
+ if(!DS18B20_GetTemp(&raw))
+ return;
+
+ if(raw & 0x8000)
+ {
+ raw = ~raw + 1;
+ sign = 1;
+ }
+
+ temperature = raw * 10 / 16;
+ if(sign)
+ temperature = -temperature;
+
+ DS18B20_StartConvert();
+}
+/*******************************************************************************
+* ������ : Int0Configuration()
+* �������� : �����ⲿ�ж�0
+* ���� : ��
+* ��� : ��
+*******************************************************************************/
+
+void Int0Configuration()
+{
+ //����INT0
+ IT0=1;//�����س�����ʽ���½��أ�
+ EX0=1;//��INT0���������
+ EA=1;//�����ж�
+}
+/*******************************************************************************
+* ������ : Int0()
+* �������� : �ⲿ�ж�0 �жϺ���
+* ���� : ��
+* ��� : ��
+*******************************************************************************/
+
+void Int0() interrupt 0
+{
+ Delay10ms();
+ if(K3==0)
+ {
+ if(SetState == 1) // �˳�����ģʽʱ������ʱ�䱣�浽DS1302
+ {
+ Ds1302WriteTime();
+ }
+ SetState=~SetState;
+ SetPlace=0;
+ }
+}
+/*******************************************************************************
+* ������ : Delay10ms
+* �������� : ��ʱ��������ʱ10ms
+* ���� : ��
+* ��� : ��
+*******************************************************************************/
+void Delay10ms(void) //��� 0us
+{
+ unsigned char a,b,c;
+ for(c=1;c>0;c--)
+ for(b=38;b>0;b--)
+ for(a=130;a>0;a--);
+}
\ No newline at end of file
diff --git a/Keil Code/Revise_1/pro b/Keil Code/Revise_1/pro
new file mode 100644
index 0000000000000000000000000000000000000000..11c2f6a84e00aa2b450c3244bcc962a28766307f
GIT binary patch
literal 24826
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
z
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
ackV;Pzow4WCYqABNmNjos9pU;Q8T^8*h6
literal 0
HcmV?d00001
diff --git a/Keil Code/Revise_1/pro.hex b/Keil Code/Revise_1/pro.hex
new file mode 100644
index 0000000..52168b6
--- /dev/null
+++ b/Keil Code/Revise_1/pro.hex
@@ -0,0 +1,125 @@
+:030000000202D425
+:0C02D400787FE4F6D8FD75811702031B4B
+:0705B6000211000001130017
+:10012D0012061312054E1204ED7F3F12050E120634
+:10013D000BE51070061205A002020320B126120570
+:10014D00E620B10C050FE50FC394074003E4F50F4E
+:10015D00E514C39432500A20B1071205E605148048
+:10016D00EFE4F51430B0030202031205E620B0727D
+:10017D007408250FF8067408250FF8E6540FD3946C
+:10018D00094004740626F67408250FF8E6C394603A
+:10019D004008E50F94025002E4F67408250FF8E6C6
+:1001AD00C394244007E50FB40202E4F67408250F4A
+:1001BD00F8E6C394324007E50FB40302E4F6740881
+:1001CD00250FF8E6C394134007E50FB40402E4F6D7
+:1001DD007408250FF8E6C394074007E50FB4050230
+:1001ED007601E514C39432500A20B0071205E605D6
+:1001FD001480EFE4F5140513E513C394054006E4EC
+:0B020D00F51312036012000602013E10
+:100006007F801205F37F321205FF7F301205FFE570
+:100016000EC4540F2430FF1205FFE50E540F243092
+:10002600FF1205FF7F2D1205FFE50CC4540F243087
+:10003600FF1205FFE50C540F2430FF1205FF7F2D3C
+:100046001205FFE50BC4540F2430FF1205FFE50B24
+:10005600540F2430FF1205FF7F8B1205F3E50D5474
+:10006600072430FF1205FF7FC01205F3E50AC454CA
+:100076000F2430FF1205FFE50A540F2430FF120546
+:10008600FF7F3A1205FFE509C4540F2430FF12051D
+:10009600FFE509540F2430FF1205FF7F3A1205FFD2
+:1000A600E508C4540F2430FF1205FFE508540F2459
+:1000B60030FF1205FF7FC91205F38511158512164B
+:1000C600C3E5156480948050127F2D1205FFC3E4AA
+:1000D6009516F516E49515F51580057F201205FF92
+:1000E600AE15AF167C007D6412022AEF2430FF1293
+:1000F60005FFAE15AF167C007D0A12022A7C007D34
+:100106000A12022AED2430FF1205FF7F2E1205FF88
+:10011600AE15AF167C007D0A12022AED2430FF12BE
+:0701260005FF7F430205FF06
+:10036000E4F517FB7A00791512056C503FE515305E
+:10037000E714E516F4FFE515F4FEEF2401F516E4A5
+:100380003EF515751701AE15AF167C007D0A1202F9
+:10039000187D1012022A8E118F12E517600BC3E42C
+:0C03A0009512F512E49511F51112060BF0
+:0103AC00222E
+:07061300D288D2A8D2AF2269
+:030003000203AD48
+:1003AD00C0E0C0F0C083C082C0D075D000C000C016
+:1003BD0001C002C003C004C005C006C0071205E697
+:1003CD0020B20EE510B401031205896310FF750FFD
+:1003DD0000D007D006D005D004D003D002D001D074
+:0C03ED0000D0D0D082D083D0F0D0E0321D
+:0C05E6007F017E267D82DDFEDEFADFF65E
+:0105F20022E6
+:10044300C2A58B807F017E0012046CD2A77F057E3C
+:100453000012046CC2A7EBC454F0F5807F017E0048
+:0904630012046CD2A77F057E0093
+:10046C00D3EF9400EE9400400F7DC77C01DCFEDDE1
+:08047C00FAEF1F70EB1E80E88F
+:010484002255
+:0C05F300AB07C2A7C2A6120443C2A72295
+:0C05FF00AB07C2A7D2A6120443C2A72279
+:10054E007F321205F37F281205F37F0C1205F37F1D
+:0E055E00061205F37F011205F37F800205F3FC
+:0E05D80081838587898B8D80828486888A8CBA
+:0905BD00070800001201010213FD
+:0C048500EC9005DF93FF74082CF8E6FDF6
+:10049100C29200C29000D29200E4FEEF139291EF5B
+:1004A100C313FFD29000C290000EBE08EEE4FEED31
+:1004B100139291EDC313FDD29000C290000EBE08BD
+:0404C100EEC29200F5
+:0104C5002214
+:1003F900C29200C29000D29200E4FDEF139291EFF5
+:10040900C313FFD29000C290000DBD08EE00E4FDB9
+:10041900A291E433FFC43333335480FCEEC3134C4D
+:10042900FED29000C290000DBD08E5C29200D290A4
+:0904390000C29100D29100AF064F
+:010442002297
+:1004ED007F811203F9EF30E717E4FD7F8E1204913F
+:1004FD00E4FC1204850CBC07F97D807F8E120491FB
+:01050D0022CB
+:10058900E4FD7F8E120491E4FC1204850CBC07F98A
+:070599007D807F8E020491BA
+:1005A000E4FBEB9005D893FF1203F974082BF8A62F
+:0505B000070BBB07ED85
+:0105B5002223
+:1005C700C2B7E4FF0FBFC8FCD2B7E4FF0FBF64FC9C
+:0105D7002201
+:0504C6001205C77FCC08
+:1004CB00E4FEC2B700EF30E004D2B78002C2B7E45B
+:1004DB00FD0DBD1EFCD2B70000EFC313FF0EBE080F
+:0104EB00E12F
+:0104EC0022ED
+:10052F00E4FFFEEFC313FFC2B700D2B7000030B72E
+:0E053F0003430780E4FD0DBD14FC0EBE08E56D
+:01054D00228B
+:08060B001204C67F440204CB77
+:10050E00AC071204C67F4E1204CBE4FF1204CBE4F8
+:10051E00FF1204CBAF041204CB1204C67F480204B0
+:01052E00CB01
+:10056C001204C67FBE1204CB12052FAC0712052F46
+:0C057C00EFFFAD04EDCF8FF0120260D352
+:010588002250
+:1002E00002012DE493A3F8E493A34003F68001F206
+:1002F00008DFF48029E493A3F85407240CC8C3331F
+:10030000C4540F4420C8834004F456800146F6DFED
+:10031000E4800B01020408102040809005B6E47EC2
+:10032000019360BCA3FF543F30E509541FFEE493E2
+:10033000A360010ECF54C025E060A840B8E493A3A9
+:10034000FAE493A3F8E493A3C8C582C8CAC583CAD4
+:10035000F0A3C8C582C8CAC583CADFE9DEE780BE8C
+:0105C6000034
+:10021800EF8DF0A4A8F0CF8CF0A428CE8DF0A42EFA
+:02022800FE22B4
+:10022A00C2D5EC30E709B2D5E4C39DFDE49CFCEEEF
+:10023A0030E715B2D5E4C39FFFE49EFE12027FC3E6
+:10024A00E49DFDE49CFC800312027F30D507C3E4E1
+:06025A009FFFE49EFE225E
+:10026000BB010A89828A83F0E5F0A3F0225006F7E9
+:0F02700009A7F01922BBFE06F3E5F009F31922E6
+:10027F00BC000BBE0029EF8DF084FFADF022E4CC63
+:10028F00F875F008EF2FFFEE33FEEC33FCEE9DEC2C
+:10029F00984005FCEE9DFE0FD5F0E9E4CEFD22ED72
+:1002AF00F8F5F0EE8420D21CFEADF075F008EF2FBC
+:1002BF00FFED33FD4007985006D5F0F222C398FDAD
+:0502CF000FD5F0EA224A
+:00000001FF
diff --git a/Keil Code/Revise_1/pro.uvgui.Administrator b/Keil Code/Revise_1/pro.uvgui.Administrator
new file mode 100644
index 0000000..9ea554a
--- /dev/null
+++ b/Keil Code/Revise_1/pro.uvgui.Administrator
@@ -0,0 +1,1249 @@
+
+
+
+ 1.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+
+
+ 1
+ 1
+ 0
+
+
+
+
+
+
+ 44
+ 2
+ 3
+
+ -1
+ -1
+
+
+ -1
+ -1
+
+
+ 34
+ 26
+ 1051
+ 560
+
+
+
+ 0
+
+ 826
+ 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000005000000030000000100000069483A5CC6D5D6D04843363830302D454D332056332E30BFAAB7A2B0E5D7CAC1CF5C352D2DCAB5D1E9B3CCD0F25CD6D0BCB6CAB5D1E9C0FDB3CC5C445331333032CAB1D6D34C434431363032CFD4CABEA3A8BFC9D2D4B0B4BCFCC9E8D6C3CAB1D6D3A3A95C4C43442E4800000000054C43442E4800000000C5D4F200FFFFFFFF69483A5CC6D5D6D04843363830302D454D332056332E30BFAAB7A2B0E5D7CAC1CF5C352D2DCAB5D1E9B3CCD0F25CD6D0BCB6CAB5D1E9C0FDB3CC5C445331333032CAB1D6D34C434431363032CFD4CABEA3A8BFC9D2D4B0B4BCFCC9E8D6C3CAB1D6D3A3A95C6C63642E6300000000056C63642E6300000000FFDC7800FFFFFFFF6C483A5CC6D5D6D04843363830302D454D332056332E30BFAAB7A2B0E5D7CAC1CF5C352D2DCAB5D1E9B3CCD0F25CD6D0BCB6CAB5D1E9C0FDB3CC5C445331333032CAB1D6D34C434431363032CFD4CABEA3A8BFC9D2D4B0B4BCFCC9E8D6C3CAB1D6D3A3A95C6473313330322E6300000000086473313330322E6300000000BECEA100FFFFFFFF6A483A5CC6D5D6D04843363830302D454D332056332E30BFAAB7A2B0E5D7CAC1CF5C352D2DCAB5D1E9B3CCD0F25CD6D0BCB6CAB5D1E9C0FDB3CC5C445331333032CAB1D6D34C434431363032CFD4CABEA3A8BFC9D2D4B0B4BCFCC9E8D6C3CAB1D6D3A3A95C6D61696E2E6300000000066D61696E2E6300000000F0A0A100FFFFFFFF6C483A5CC6D5D6D04843363830302D454D332056332E30BFAAB7A2B0E5D7CAC1CF5C352D2DCAB5D1E9B3CCD0F25CD6D0BCB6CAB5D1E9C0FDB3CC5C445331333032CAB1D6D34C434431363032CFD4CABEA3A8BFC9D2D4B0B4BCFCC9E8D6C3CAB1D6D3A3A95C4453313330322E4800000000084453313330322E4800000000BCA8E100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000009400000065000000560500005D020000
+
+
+
+ 0
+ Build
+
+ -1
+ -1
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 940000004F0000005D030000B3000000
+
+
+ 16
+ 19010000EA000000E20300004E010000
+
+
+
+ 1005
+ 1005
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000008D0000002E020000
+
+
+ 16
+ 9E000000B40000002E0100003B020000
+
+
+
+ 109
+ 109
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000008D0000002E020000
+
+
+ 16
+ 9E000000B40000002E0100003B020000
+
+
+
+ 1465
+ 1465
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000077010000EE030000BC010000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 1466
+ 1466
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000077010000EE030000BC010000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 1467
+ 1467
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000077010000EE030000BC010000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 1468
+ 1468
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000077010000EE030000BC010000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 1506
+ 1506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 16384
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E0100003B020000
+
+
+
+ 1507
+ 1507
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000077010000EE030000BC010000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 1913
+ 1913
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 97000000660000005A0300009A000000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 1935
+ 1935
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000077010000EE030000BC010000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 1936
+ 1936
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000077010000EE030000BC010000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 1937
+ 1937
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000077010000EE030000BC010000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 1939
+ 1939
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000620200005305000096020000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 1940
+ 1940
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000620200005305000096020000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 1941
+ 1941
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000620200005305000096020000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 1942
+ 1942
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000620200005305000096020000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 1944
+ 1944
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 0300000077010000EE030000BC010000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 195
+ 195
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000008D0000002E020000
+
+
+ 16
+ 9E000000B40000002E0100003B020000
+
+
+
+ 196
+ 196
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000008D0000002E020000
+
+
+ 16
+ 9E000000B40000002E0100003B020000
+
+
+
+ 197
+ 197
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 000000005F02000056050000AF020000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 198
+ 198
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 0000000060010000F1030000D5010000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 199
+ 199
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000620200005305000096020000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 203
+ 203
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 8192
+ 0
+
+ 16
+ 97000000660000005A0300009A000000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 204
+ 204
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 97000000660000005A0300009A000000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 221
+ 221
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000000000000000000000000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 343
+ 343
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 97000000660000005A0300009A000000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 346
+ 346
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 97000000660000005A0300009A000000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 35824
+ 35824
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 97000000660000005A0300009A000000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 35885
+ 35885
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35886
+ 35886
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35887
+ 35887
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35888
+ 35888
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35889
+ 35889
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35890
+ 35890
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35891
+ 35891
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35892
+ 35892
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35893
+ 35893
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35894
+ 35894
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35895
+ 35895
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35896
+ 35896
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35897
+ 35897
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35898
+ 35898
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35899
+ 35899
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35900
+ 35900
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35901
+ 35901
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35902
+ 35902
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35903
+ 35903
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35904
+ 35904
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 35905
+ 35905
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 6403000066000000EE030000BC010000
+
+
+ 16
+ 9E000000B40000002E02000044020000
+
+
+
+ 38003
+ 38003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000008D0000002E020000
+
+
+ 16
+ 9E000000B40000002E0100003B020000
+
+
+
+ 38007
+ 38007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000620200005305000096020000
+
+
+ 16
+ 9E000000B40000009602000015010000
+
+
+
+ 59392
+ 59392
+ 1
+ 0
+ 0
+ 0
+ 940
+ 0
+ 8192
+ 0
+
+ 16
+ 0000000000000000B70300001C000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59393
+ 0
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000AF02000056050000C2020000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59398
+ 59398
+ 1
+ 0
+ 0
+ 0
+ 391
+ 0
+ 8192
+ 1
+
+ 16
+ 000000001C0000009201000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 593980
+ 59398
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000000000005705000017000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59399
+ 59399
+ 0
+ 0
+ 0
+ 0
+ 644
+ 0
+ 8192
+ 2
+
+ 16
+ 00000000380000008F02000054000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 2485
+ 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF94000000B30000005D030000B7000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E65002000000000000019010000EA000000E20300004E010000940000004F0000005D030000B30000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF5D0300004F00000061030000D5010000000000000200000004000000010000000000000000000000FFFFFFFF16000000E20500002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000001800040000000000000E6030000EA0000007604000070020000610300004F000000F1030000D50100000000000040410046160000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF900000004F0000009400000047020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000085000000EA00000015010000E2020000000000004F00000090000000470200000000000040140056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF000000005C010000F10300006001000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0900000098070000E30500008F0700009007000091070000B9050000BA050000BB050000BC0500000180008000000000000085000000FB01000076040000700200000000000060010000F1030000D50100000000000040820046090000000A43616C6C20537461636B000000009807000001000000FFFFFFFFFFFFFFFF0A43616C6C20537461636B00000000E305000001000000FFFFFFFFFFFFFFFF064C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFF901000060010000FD010000D501000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF9807000001000000FFFFFFFF9807000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000047020000560500004B020000010000000100001004000000010000000000000000000000FFFFFFFF07000000C5000000C700000077940000930700009407000095070000960700000180008000000100000085000000E6020000DB0500004A030000000000004B02000056050000AF0200000000000040820056070000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+
+
+ 59392
+ File
+
+ 2002
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000
+
+
+
+ 59398
+ Build
+
+ 573
+ 00200000010000000D00FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000004001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A0000000004002400000000000000000000000000000000010000000100000000000000054275696C6487010000
+
+
+ 478
+ 0D00FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 478
+ 0D00FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A00000000000009000000000000000000000000000000000100000001000000
+
+
+
+ 59399
+ Debug
+
+ 2353
+ 00200000000000001B00FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380DB8B00000000000031000000064C6F63616C73000000000000000000000000010000000100000000000000000000000100000000001380D88B000000000000310000000757617463682031000000000000000000000000010000000100000000000000000000000100000000001380D98B0000000000003100000007576174636820320000000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000084D656D6F72792031000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000084D656D6F72792032000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000084D656D6F72792033000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000084D656D6F727920340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000755415254202331000000000000000000000000010000000100000000000000000000000100000000001380940700000000000033000000075541525420233200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000007554152542023330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000000E49544D2F525441205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380658A000000000000340000000E4C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E00000014506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000D436F646520436F76657261676500000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000138001890000000000003600000007546F6F6C626F7800000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804601000000000000490000000000000000000000000000000001000000010000000000000005446562756784020000
+
+
+ 968
+ 1B00FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180DB8B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804601000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 968
+ 1B00FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180DB8B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018001890000000000001300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180460100000000000014000000000000000000000000000000000100000001000000
+
+
+
+ 0
+ 1366
+ 768
+
+
+
+
+
diff --git a/Keil Code/Revise_1/pro.uvopt b/Keil Code/Revise_1/pro.uvopt
new file mode 100644
index 0000000..5d1cdcd
--- /dev/null
+++ b/Keil Code/Revise_1/pro.uvopt
@@ -0,0 +1,1741 @@
+
+
+
+ 1.0
+
+ ### uVision Project, (C) Keil Software
+
+
+ *.c
+ *.s*; *.src; *.a*
+ *.obj
+ *.lib
+ *.txt; *.h; *.inc
+ *.plm
+ *.cpp
+
+
+
+ 0
+ 0
+
+
+
+ Target 1
+ 0x0
+ MCS-51
+
+ 24000000
+
+ 1
+ 1
+ 1
+ 0
+
+
+ 0
+ 65535
+ 0
+ 0
+ 0
+
+
+ 120
+ 65
+ 8
+ .\
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 1
+ 0
+ 1
+
+ 255
+
+
+ 0
+ Data Sheet
+ DATASHTS\ATMEL\AT89C51_DS.PDF
+
+
+ 1
+ Instruction Set Manual
+ DATASHTS\ATMEL\AT_C51ISM.PDF
+
+
+
+ S8051.DLL
+
+ DP51.DLL
+ -p51
+ S8051.DLL
+
+ TP51.DLL
+ -p51
+
+
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ DLGDP51
+ (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0)
+
+
+
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ Source Group 1
+ 1
+ 0
+ 0
+
+ 1
+ 1
+ 2
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ .\STARTUP.A51
+ STARTUP.A51
+
+
+ 1
+ 2
+ 1
+ 0
+ 0
+ 0
+ 0
+ 7
+ 16
+ 0
+ .\main.c
+ main.c
+
+
+ 1
+ 3
+ 1
+ 1
+ 0
+ 29
+ 0
+ 1
+ 9
+ 0
+ .\lcd.c
+ lcd.c
+
+
+ 1
+ 4
+ 1
+ 1
+ 0
+ 0
+ 0
+ 114
+ 114
+ 0
+ .\ds1302.c
+ ds1302.c
+
+
+ 1
+ 5
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ .\ds18b20.c
+ ds18b20.c
+
+
+
+
+ C:\Users\HM_DEV\Desktop\DS1302时钟LCD1602显示(�以按键设置时钟)\程� - 副本\LCD.H
+ 20
+ 20
+ 0
+
+ 0
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ C:\Users\HM_DEV\Desktop\DS1302时钟LCD1602显示(�以按键设置时钟)\程� - 副本\DS1302.H
+ 7
+ 7
+ 0
+
+ 0
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ Z:\Files\å�•片机实è®\å�•片机实è®\ä¸çº§å®žéªŒä¾‹ç¨‹\ä¸çº§å®žéªŒä¾‹ç¨‹\DS1302æ—¶é’ŸLCD1602显示(å�¯ä»¥æŒ‰é”®è®¾ç½®æ—¶é’Ÿï¼‰\程åº�\ds1302.h
+ 21
+ 31
+ 0
+
+ 0
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ Z:\Files\å�•片机实è®\å�•片机实è®\ä¸çº§å®žéªŒä¾‹ç¨‹\ä¸çº§å®žéªŒä¾‹ç¨‹\DS1302æ—¶é’ŸLCD1602显示(å�¯ä»¥æŒ‰é”®è®¾ç½®æ—¶é’Ÿï¼‰\程åº�\lcd.h
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ Default
+ 1
+ Build
+ 0
+
+ Default
+ 1
+
+ 59392
+ 1
+ File
+ 0
+
+ 0
+
+ 1
+ 2
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 100
+ 0
+ 1
+ 0
+
+
+ 59398
+ 2
+ Build
+ 0
+
+ 0
+
+ 1
+ 2
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 100
+ 0
+ 0
+ 0
+
+
+ 59399
+ 3
+ Debug
+ 0
+
+ 0
+
+ 1
+ 2
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 100
+ 0
+ 1
+ 0
+
+
+ 197
+ 4
+ Build Output
+ 0
+
+ 0
+
+ 1
+ 2
+ 4
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 1
+ 0
+ 0
+
+
+ 198
+ 5
+ Command
+ 197
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 1
+ 1
+ 0
+
+
+ 199
+ 6
+ Find in Files
+ 197
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 38007
+ 7
+ Browse
+ 197
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 1939
+ 8
+ UART #1
+ 197
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 1940
+ 9
+ UART #2
+ 197
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 1941
+ 10
+ UART #3
+ 197
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 1942
+ 11
+ UART #4
+ 197
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 1944
+ 12
+ Call Stack
+ 197
+
+ 197
+
+ 1
+ 2
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 50
+ 0
+ 1
+ 0
+
+
+ 1507
+ 13
+ Call Stack
+ 1944
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 50
+ 0
+ 1
+ 0
+
+
+ 1935
+ 14
+ Locals
+ 1944
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 1
+ 0
+
+
+ 1936
+ 15
+ Watch 1
+ 1944
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 1
+ 0
+
+
+ 1937
+ 16
+ Watch 2
+ 1944
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 1465
+ 17
+ Memory 1
+ 1944
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 1
+ 0
+
+
+ 1466
+ 18
+ Memory 2
+ 1944
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 1467
+ 19
+ Memory 3
+ 1944
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 1468
+ 20
+ Memory 4
+ 1944
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 1506
+ 21
+ Symbols
+ 1944
+
+ 197
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 1
+ 0
+
+
+ 1005
+ 22
+ Project
+ 0
+
+ 0
+
+ 1
+ 2
+ 1
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 1
+ 0
+
+
+ 109
+ 23
+ Books
+ 1005
+
+ 1005
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 195
+ 24
+ Functions
+ 1005
+
+ 1005
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 196
+ 25
+ Templates
+ 1005
+
+ 1005
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 38003
+ 26
+ Registers
+ 1005
+
+ 1005
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 1
+ 1
+ 0
+
+
+ 35885
+ 27
+ not set
+ 0
+
+ 0
+
+ 1
+ 2
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35886
+ 28
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35887
+ 29
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35888
+ 30
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35889
+ 31
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35890
+ 32
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35891
+ 33
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35892
+ 34
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35893
+ 35
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35894
+ 36
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35895
+ 37
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35896
+ 38
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35897
+ 39
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35898
+ 40
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35899
+ 41
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35900
+ 42
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35901
+ 43
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35902
+ 44
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35903
+ 45
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35904
+ 46
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35905
+ 47
+ not set
+ 35885
+
+ 35885
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 203
+ 48
+ Disassembly
+ 0
+
+ 0
+
+ 1
+ 2
+ 3
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 1
+ 0
+
+
+ 1913
+ 49
+ Instruction Trace
+ 203
+
+ 203
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 600
+ 210
+ 0
+ 0
+ 600
+ 250
+ 100
+ 0
+ 0
+ 0
+
+
+ 35824
+ 50
+ Logic Analyzer
+ 0
+
+ 0
+
+ 1
+ 6
+ 0
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 1
+ 0
+ 0
+ 0
+
+
+ 343
+ 51
+ Performance Analyzer
+ 203
+
+ 203
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 204
+ 52
+ Performance Analyzer
+ 203
+
+ 203
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+ 346
+ 53
+ Code Coverage
+ 203
+
+ 203
+
+ 1
+ 4
+ 2
+ 0
+ 0
+ 0
+ 210
+ 600
+ 0
+ 0
+ 250
+ 600
+ 100
+ 0
+ 0
+ 0
+
+
+
+
+
+ 1
+ 0
+
+ 100
+ 3
+
+
+ Z:\Files\å�•片机实è®\å�•片机实è®\ä¸çº§å®žéªŒä¾‹ç¨‹\ä¸çº§å®žéªŒä¾‹ç¨‹\DS1302æ—¶é’ŸLCD1602显示(å�¯ä»¥æŒ‰é”®è®¾ç½®æ—¶é’Ÿï¼‰\程åº�\lcd.h
+ 23
+ 1
+ 1
+
+
+ .\lcd.c
+ 29
+ 1
+ 9
+
+
+ .\ds1302.c
+ 0
+ 114
+ 114
+
+
+ .\main.c
+ 0
+ 7
+ 16
+
+
+ Z:\Files\å�•片机实è®\å�•片机实è®\ä¸çº§å®žéªŒä¾‹ç¨‹\ä¸çº§å®žéªŒä¾‹ç¨‹\DS1302æ—¶é’ŸLCD1602显示(å�¯ä»¥æŒ‰é”®è®¾ç½®æ—¶é’Ÿï¼‰\程åº�\ds1302.h
+ 0
+ 21
+ 31
+
+
+ DS1302.H
+ 0
+ 7
+ 7
+
+
+ LCD.H
+ 0
+ 20
+ 20
+
+
+
+
+
+
diff --git a/Keil Code/Revise_1/pro.uvproj b/Keil Code/Revise_1/pro.uvproj
new file mode 100644
index 0000000..ebf36a7
--- /dev/null
+++ b/Keil Code/Revise_1/pro.uvproj
@@ -0,0 +1,380 @@
+
+
+
+ 1.0
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ Target 1
+ 0x0
+ MCS-51
+
+
+ AT89C51
+ Atmel
+ IRAM(0-0x7F) IROM(0-0xFFF) CLOCK(24000000)
+
+ "LIB\STARTUP.A51" ("Standard 8051 Startup Code")
+
+ 2976
+ REGX51.H
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+ Atmel\
+ Atmel\
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\
+ pro
+ 1
+ 0
+ 1
+ 1
+ 1
+ .\
+ 0
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 65535
+
+
+ S8051.DLL
+
+ DP51.DLL
+ -p51
+ S8051.DLL
+
+ TP51.DLL
+ -p51
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 16
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+
+
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 1
+
+ 0
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ -1
+
+
+
+
+
+
+
+ 0
+ 0
+ 2
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0x0
+ 0x10000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x1000
+
+
+ 0
+ 0x0
+ 0x80
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+ 0
+ 0
+ 1
+ 0
+ 1
+ 3
+ 8
+ 2
+ 1
+ 1
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 1
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 1
+ 0
+ 2
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source Group 1
+
+
+ STARTUP.A51
+ 2
+ .\STARTUP.A51
+
+
+ main.c
+ 1
+ .\main.c
+
+
+ lcd.c
+ 1
+ .\lcd.c
+
+
+ ds1302.c
+ 1
+ .\ds1302.c
+
+
+ ds18b20.c
+ 1
+ .\ds18b20.c
+
+
+
+
+
+
+
+