DS1302+AT89S51构成的万年历(源程序一)
Z0 EQU 255
L1 EQU 0
L2 EQU 1
L3 EQU 2
L4 EQU 3
L5 EQU 4
L6 EQU 5
L7 EQU 6
M1 EQU 7
M2 EQU 8
M3 EQU 9
M4 EQU 10
M5 EQU 11
M6 EQU 12
M7 EQU 13
H1 EQU 14
H2 EQU 15
H3 EQU 16
H4 EQU 17
H5 EQU 18
H6 EQU 19
H7 EQU 20
START_YEAR EQU 00;从2000年开始
SCLK BIT P1.0;
IO BIT P1.1;
RST BIT P1.2;
;(2EH和2FH用作位寻址区)
;2EH中的内容是须要保护的.
T1_ON_OFF BIT 70H;
T2_ON_OFF BIT 71H;
T3_ON_OFF BIT 72H;
T_STOP BIT 73H;
STOP_DI_DA BIT 74H;
R_OR_W BIT 78H;R_OR_W=1时表示读数据.R_OR_W=0时表示写数据到DS1302.
WEEK_BIT BIT 79H;WEEK_BIT=0表示星期还没有被读或被写,
WEEK_BIT=1表示星期已经被读或被写.
T_CHANG BIT 7AH;
P2_BIT BIT 7BH;C的中间变量.
SEC1_SEC2 DATA 10H;温度1秒钟转换一次
SEC3_SEC4 DATA 11H;
KEY_1_TIMES DATA 12H;按第一个键的次数。
DELAY DATA 13H;节拍的延时
VOICE DATA 14H;音符
SONGFLAG DATA 15H;
SPRT DATA 16H;
I DATA 17H;
J DATA 18H;
SONGH DATA 19H;
SONGL DATA 1AH;
TIMEH DATA 1BH;
TIMEL DATA 1CH;
SIZE DATA 1DH;
TIME_1 DATA 1EH;
TEMP_BYTE5 DATA 1FH;
NONG_YEAR_SG DATA 20H;农历的年的十位和个位
NONG_MONTH_SG DATA 21H;农历月的十位和个位
NONG_DATE_SG DATA 22H;农历日的十位和个位
TEMP_SG DATA 23H;温度的十位和个位
YEAR_SG DATA 24H;年的十位和个位
MONTH_SG DATA 25H;月的十位和个位
DATE_SG DATA 26H;日的十位和个位
HOUR_SG DATA 27H;小时的十位和个位
MIN_SG DATA 28H;分钟的十位和个位
SEC_SG DATA 29H;秒钟的十位和个位
TEMP_BYTE1 DATA 2AH;
TEMP_BYTE2 DATA 2BH;
TEMP_BYTE3 DATA 2CH;
TEMP_BYTE4 DATA 2DH;
YEAR_Q DATA 30H;年的千位













