commit 90b9918dc2729533a3e19bfec5b00941ac900705
Author: Andy0613 <841676382@qq.com>
Date: Mon Jul 6 21:33:00 2026 +0800
feat: åˆ�å§‹åŒ–é¡¹ç›®ï¼Œä¸Šä¼ åˆ�始代ç �
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e8e67a3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,24 @@
+# Keil 编译产物
+*.obj
+*.lst
+*.map
+*.bin
+*.m51
+*.plg
+*.lnp
+*.build_log.htm
+
+# Proteus
+*.pdsbak
+*.dbk
+*.bak
+*.autosave
+*.workspace
+
+# 系统文件
+.DS_Store
+Thumbs.db
+
+# 本地�置
+.vscode/
+.idea/
\ No newline at end of file
diff --git a/Keil Code/Origin/STARTUP.A51 b/Keil Code/Origin/STARTUP.A51
new file mode 100644
index 0000000..ec99b9e
--- /dev/null
+++ b/Keil Code/Origin/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/Origin/ds1302.c b/Keil Code/Origin/ds1302.c
new file mode 100644
index 0000000..f23c2d7
--- /dev/null
+++ b/Keil Code/Origin/ds1302.c
@@ -0,0 +1,137 @@
+#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;
+ Ds1302Write(0x8E,0X00); //½ûֹд±£»¤£¬¾ÍÊǹرÕд±£»¤¹¦ÄÜ
+ for (n=0; n<7; n++)//дÈë7¸ö×Ö½ÚµÄʱÖÓÐźţº·ÖÃëʱÈÕÔÂÖÜÄê
+ {
+ 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/Origin/ds1302.h b/Keil Code/Origin/ds1302.h
new file mode 100644
index 0000000..9327b95
--- /dev/null
+++ b/Keil Code/Origin/ds1302.h
@@ -0,0 +1,31 @@
+#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=P3^4;
+sbit RST=P3^5;
+sbit SCLK=P3^6;
+
+//---¶¨ÒåÈ«¾Öº¯Êý---//
+void Ds1302Write(uchar addr, uchar dat);
+uchar Ds1302Read(uchar addr);
+void Ds1302Init();
+void Ds1302ReadTime();
+
+//---¼ÓÈëÈ«¾Ö±äÁ¿--//
+extern uchar TIME[7]; //¼ÓÈëÈ«¾Ö±äÁ¿
+
+#endif
\ No newline at end of file
diff --git a/Keil Code/Origin/lcd.c b/Keil Code/Origin/lcd.c
new file mode 100644
index 0000000..b32b713
--- /dev/null
+++ b/Keil Code/Origin/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/Origin/lcd.h b/Keil Code/Origin/lcd.h
new file mode 100644
index 0000000..1c089e1
--- /dev/null
+++ b/Keil Code/Origin/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/Origin/main.c b/Keil Code/Origin/main.c
new file mode 100644
index 0000000..1bc242e
--- /dev/null
+++ b/Keil Code/Origin/main.c
@@ -0,0 +1,185 @@
+/*******************************************************************************
+* ʵÑéÃû : ÍòÄêÀúʵÑé
+* ʹÓõÄIO :
+* ʵÑéЧ¹û :1602ÏÔʾʱÖÓ£¬°´K3½øÈëʱÖÓÉèÖ㬰´K1Ñ¡ÔñÉèÖõÄʱ·ÖÃëÈÕÔ£¬°´K2Ñ¡Ôñ
+*Ñ¡ÔñÉèÖüÓ1¡£
+* ×¢Òâ £º
+*******************************************************************************/
+
+#include
+#include"lcd.h"
+#include"ds1302.h"
+
+sbit K1=P3^1;
+sbit K2=P3^0;
+sbit K3=P3^2;
+sbit K4=P3^3; //¹Ü½Å½ÓÏß
+
+void Int0Configuration();
+void LcdDisplay();
+unsigned char SetState,SetPlace;
+void Delay10ms(void); //Îó²î 0us
+/*******************************************************************************
+* º¯ÊýÃû : main
+* º¯Êý¹¦ÄÜ : Ö÷º¯Êý
+* ÊäÈë : ÎÞ
+* Êä³ö : ÎÞ
+*******************************************************************************/
+
+void main()
+{
+ unsigned char i;
+ Int0Configuration();
+ LcdInit();
+ Ds1302Init();
+ 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;
+ }
+// if(SetPlace==5) //ÔÂÖ»Äܵ½12
+// {
+// TIME[SetPlace]=;
+// }
+ }
+
+ while((i<50)&&(K2==0)) //¼ì²â°´¼üÊÇ·ñËÉ¿ª
+ {
+ Delay10ms();
+ i++;
+ }
+ i=0;
+
+ }
+ }
+ LcdDisplay();
+ }
+
+}
+/*******************************************************************************
+* º¯ÊýÃû : LcdDisplay()
+* º¯Êý¹¦ÄÜ : ÏÔʾº¯Êý
+* ÊäÈë : ÎÞ
+* Êä³ö : ÎÞ
+*******************************************************************************/
+
+void LcdDisplay()
+{
+ 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));
+
+ 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(0x8D);
+ LcdWriteData('0'+(TIME[5]&0x07)); //ÐÇÆÚ
+}
+/*******************************************************************************
+* º¯ÊýÃû : Int0Configuration()
+* º¯Êý¹¦ÄÜ : ÅäÖÃÍⲿÖжÏ0
+* ÊäÈë : ÎÞ
+* Êä³ö : ÎÞ
+*******************************************************************************/
+
+void Int0Configuration()
+{
+ //ÉèÖÃINT0
+ IT0=1;//Ìø±äÑØ³ö·¢·½Ê½£¨Ï½µÑØ£©
+ EX0=1;//´ò¿ªINT0µÄÖжÏÔÊÐí¡£
+ EA=1;//´ò¿ª×ÜÖжÏ
+}
+/*******************************************************************************
+* º¯ÊýÃû : Int0()
+* º¯Êý¹¦ÄÜ : ÍⲿÖжÏ0 ÖжϺ¯Êý
+* ÊäÈë : ÎÞ
+* Êä³ö : ÎÞ
+*******************************************************************************/
+
+void Int0() interrupt 0
+{
+ Delay10ms();
+ if(K3==0)
+ {
+ SetState=~SetState;
+ SetPlace=0;
+ Ds1302Init();
+ }
+}
+/*******************************************************************************
+* º¯ÊýÃû : 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/Origin/pro b/Keil Code/Origin/pro
new file mode 100644
index 0000000..790c028
Binary files /dev/null and b/Keil Code/Origin/pro differ
diff --git a/Keil Code/Origin/pro.hex b/Keil Code/Origin/pro.hex
new file mode 100644
index 0000000..9d5a794
--- /dev/null
+++ b/Keil Code/Origin/pro.hex
@@ -0,0 +1,76 @@
+:0300000002018F6B
+:0C018F00787FE4F6D8FD7581110201D6DE
+:100006001203B7120346120323E5107006120364A7
+:100016000200D420B12612038820B10C050FE50F8B
+:10002600C394074003E4F50FE511C39432500A2048
+:10003600B107120388051180EFE4F51130B0030211
+:1000460000D412038820B0727408250FF8067408CD
+:10005600250FF8E6540FD394094004740626F67467
+:1000660008250FF8E6C394604008E50F9402500295
+:10007600E4F67408250FF8E6C394244007E50FB4A8
+:100086000202E4F67408250FF8E6C394324007E549
+:100096000FB40302E4F67408250FF8E6C394134080
+:1000A60007E50FB40402E4F67408250FF8E6C394D6
+:1000B600074007E50FB405027601E511C3943250F7
+:1000C6000A20B007120388051180EFE4F51112002B
+:0400D600DA02000F3B
+:1000DA007FC0120395E50AC4540F2430FF1203A10E
+:1000EA00E50A540F2430FF1203A17F2D1203A1E564
+:1000FA0009C4540F2430FF1203A1E509540F243018
+:10010A00FF1203A17F2D1203A1E508C4540F243066
+:10011A00FF1203A1E508540F2430FF1203A17F80C8
+:10012A001203957F321203A17F301203A1E50EC498
+:10013A00540F2430FF1203A1E50E540F2430FF128E
+:10014A0003A17F2D1203A1E50CC4540F2430FF1222
+:10015A0003A1E50C540F2430FF1203A17F2D1203D3
+:10016A00A1E50BC4540F2430FF1203A1E50B540F71
+:10017A002430FF1203A17F8D120395E50D54072445
+:05018A0030FF0203A19B
+:0703B700D288D2A8D2AF22C8
+:0300030002026591
+:10026500C0E0C0F0C083C082C0D075D000C000C05F
+:1002750001C002C003C004C005C006C00712038840
+:1002850020B2096310FF750F00120323D007D006B3
+:10029500D005D004D003D002D001D000D0D0D08278
+:0702A500D083D0F0D0E0325D
+:0C0388007F017E267D82DDFEDEFADFF6BE
+:010394002246
+:1002AC00C2A58B807F017E001202D5D2A77F057E6E
+:1002BC00001202D5C2A7EBC454F0F5807F017E007A
+:0902CC001202D5D2A77F057E00C5
+:1002D500D3EF9400EE9400400F7DC77C01DCFEDD7A
+:0802E500FAEF1F70EB1E80E828
+:0102ED0022EE
+:0C039500AB07C2A7C2A61202ACC2A7228E
+:0C03A100AB07C2A7D2A61202ACC2A72272
+:100346007F321203957F281203957F0C1203957F47
+:0E035600061203957F011203957F8002039526
+:0E037A0081838587898B8D80828486888A8C1A
+:0903AD000708000012010102130F
+:1002EE00C2B500C2B600D2B500E4FEEF1392B4EF71
+:1002FE00C313FFD2B600C2B6000EBE08EEE4FEED8A
+:10030E001392B4EDC313FDD2B600C2B6000EBE08F2
+:04031E00EEC2B50076
+:0103220022B8
+:10021B00C2B500C2B600D2B500E4FDEF1392B4EF45
+:10022B00C313FFD2B600C2B6000DBD08EE00E4FD4D
+:10023B00A2B4E433FFC43333335480FCEEC3134C0A
+:10024B00FED2B600C2B6000DBD08E5C2B500D2B6EF
+:09025B0000C2B400D2B400AF06E9
+:010264002277
+:10032300E4FD7F8E1202EEE4FCEC90038193FF74F4
+:10033300082CF8E6FD1202EE0CBC07ED7D807F8EE3
+:030343000202EEC5
+:10036400E4FBEB90037A93FF12021B74082BF8A6AC
+:05037400070BBB07EDC3
+:010379002261
+:10019B00020006E493A3F8E493A34003F68001F274
+:1001AB0008DFF48029E493A3F85407240CC8C33365
+:1001BB00C4540F4420C8834004F456800146F6DF34
+:1001CB00E4800B01020408102040809003ADE47E14
+:1001DB00019360BCA3FF543F30E509541FFEE49329
+:1001EB00A360010ECF54C025E060A840B8E493A3F0
+:1001FB00FAE493A3F8E493A3C8C582C8CAC583CA1B
+:10020B00F0A3C8C582C8CAC583CADFE9DEE780BED2
+:0103B6000046
+:00000001FF
diff --git a/Keil Code/Origin/pro.uvgui.Administrator b/Keil Code/Origin/pro.uvgui.Administrator
new file mode 100644
index 0000000..9ea554a
--- /dev/null
+++ b/Keil Code/Origin/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/Origin/pro.uvopt b/Keil Code/Origin/pro.uvopt
new file mode 100644
index 0000000..b6dda97
--- /dev/null
+++ b/Keil Code/Origin/pro.uvopt
@@ -0,0 +1,1663 @@
+
+
+
+ 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
+ 45
+ 0
+ 1
+ 11
+ 0
+ .\main.c
+ main.c
+
+
+ 1
+ 3
+ 1
+ 0
+ 0
+ 29
+ 0
+ 1
+ 9
+ 0
+ .\lcd.c
+ lcd.c
+
+
+ 1
+ 4
+ 1
+ 0
+ 0
+ 24
+ 0
+ 87
+ 99
+ 0
+ .\ds1302.c
+ ds1302.c
+
+
+
+
+ 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
+ 24
+ 87
+ 99
+
+
+ .\main.c
+ 45
+ 1
+ 11
+
+
+ Z:\Files\å�•片机实è®\å�•片机实è®\ä¸çº§å®žéªŒä¾‹ç¨‹\ä¸çº§å®žéªŒä¾‹ç¨‹\DS1302æ—¶é’ŸLCD1602显示(å�¯ä»¥æŒ‰é”®è®¾ç½®æ—¶é’Ÿï¼‰\程åº�\ds1302.h
+ 0
+ 21
+ 31
+
+
+
+
+
+
diff --git a/Keil Code/Origin/pro.uvproj b/Keil Code/Origin/pro.uvproj
new file mode 100644
index 0000000..d1ecf5b
--- /dev/null
+++ b/Keil Code/Origin/pro.uvproj
@@ -0,0 +1,375 @@
+
+
+
+ 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
+
+
+
+
+
+
+
+
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..41f72a6
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2026 ZITONG YAN
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/Proteus Simulation Diagram/project.pdsprj b/Proteus Simulation Diagram/project.pdsprj
new file mode 100644
index 0000000..2468ee8
Binary files /dev/null and b/Proteus Simulation Diagram/project.pdsprj differ
diff --git a/docs/Picture.jpg b/docs/Picture.jpg
new file mode 100644
index 0000000..1a0de23
Binary files /dev/null and b/docs/Picture.jpg differ
diff --git a/docs/readme.md b/docs/readme.md
new file mode 100644
index 0000000..73bc102
--- /dev/null
+++ b/docs/readme.md
@@ -0,0 +1,32 @@
+# 51 å�•片机万年历电å�æ—¶é’Ÿ
+
+## 功能特性
+
+- 实时显示年月日�星期�时分秒
+- 自动闰年判æ–
+- 按键调节时间
+- 支�秒表功能
+- 支�温度显示功能
+
+## 硬件平�
+- STC89C52RC
+- DS1302 实时时钟
+- LCD1602 液晶显示
+- DS18B20 温度采集
+
+## 软件设计
+- 采用模�化驱动设计
+- å®šæ—¶å™¨ä¸æ–计时
+- 按键状�机消抖
+
+## 实物展示
+
+
+## 仿真图展示
+
+
+
+## 代ç �说明
+- `Keil Code/Last/`:当å‰�(最终)版本æº�ç �
+- `Keil Code/Revise_X`:代ç �更改历å�²ï¼ˆå½’档)
+- `Keil Code/Origin/`:åˆ�始实è®ç‰ˆæœ¬ï¼ˆå½’档)
diff --git a/docs/schematic/circuit.png b/docs/schematic/circuit.png
new file mode 100644
index 0000000..e093070
Binary files /dev/null and b/docs/schematic/circuit.png differ