1、日高位MOL_BIT EQU 22H ;月低位MOH_BIT EQU 23H ;月高位YL_BIT EQU 24H ;年低位YH_BIT EQU 25H ;年高位SL_BIT EQU 26H ;秒低位SH_BIT EQU 27H ;秒高位ML_BIT EQU 28H ;分低位MH_BIT EQU 29H ;分高位HL_BIT EQU 2AH ;时低位HH_BIT EQU 2BH ;时高位SEC EQU 30H MIN EQU 31HHOUR EQU 32HDAY EQU 33HMONTH EQU 34HWEEK EQU 35HYEAR EQU 36HDS1302_ADDR EQU 5EHDS1
2、302_DATA EQU 5FHORG 00HLJMP MAINORG 0BHAJMP T0INTORG 30HMAIN:MOV SP,#60HMOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HMOV R0,#10SETB EASETB ET0SETB TR0MOV R1,37HMOV YEAR,#11H ;上电预置日期、时间MOV WEEK,#00H ;周1 MONMOV MONTH,#04H ;2011 04 25 12:00:00 MOV DAY,#25HMOV HOUR,#12HMOV MIN,#00HMOV SEC,#00H MAIN1:LCALL KEYJ
3、B F0,MAIN10 ;F0=1,开始走时。走时前写,不读。走时后读,不写。LCALL WR1302 AJMP MAIN2MAIN10:LCALL RD1302 MAIN2:MOV A,YEAR MOV B,#10HDIV ABMOV YL_BIT,BMOV YH_BIT,AMOV A,MONTHMOV MOL_BIT,BMOV MOH_BIT,AMOV A,DAYMOV DL_BIT,BMOV DH_BIT,AMOV A,HOUR MOV HL_BIT,BMOV HH_BIT,AMOV A,MINMOV ML_BIT,BMOV MH_BIT,AMOV A,SECMOV SL_BIT,BMO
4、V SH_BIT,AJNB 7CH,MAIN1 ;0.5S标志CLR 7CHLCALL WEEKCOV ;星期数字转换成英语缩写3 字母LCALL DISPAJMP MAIN1KEY: ;按键子程序KEY_SET:JB DT_SET,KEY_HACALL D10MSJNB DT_SET,$-2CPL 7FHJB F0,RTCPL P2.7 ;点亮日期设定AJMP RTKEY_H:JB H_ADJ,KEY_MJNB H_ADJ,$-2AJMP H_ADDKEY_M:JB M_ADJ,KEY_SJNB M_ADJ,$-2AJMP M_ADDKEY_S:JB S_ADJ,KEY_WJNB S_ADJ
5、,$-2AJMP S_ADDKEY_W:JB W_ADJ,KEY_STJNB W_ADJ,$-2AJMP W_ADDKEY_ST:JB STR,RTJNB STR,$-2AJMP K_STRRT:RETH_ADD:JB 7FH,Y_ADD ;7FH为日期/时间切换键标志。1为年月日。MOV A,HOURADD A,#01HDA ACJNE A,#24H,H_ADD1MOV A,#0H_ADD1:MOV HOUR,AY_ADD:MOV A,YEARCJNE A,#20H,Y_ADD1Y_ADD1:MOV YEAR,AM_ADD:JB 7FH,MO_ADD CJNE A,#60H,M_ADD1MO
6、V A,#00HM_ADD1:MOV MIN,AMO_ADD:CJNE A,#13H,MO_ADD1MOV A,#1MO_ADD1:MOV MONTH,AS_ADD:JB 7FH,D_ADDCJNE A,#60H,S_ADD1S_ADD1:MOV SEC,AD_ADD:CJNE A,#32H,D_ADD1MOV A,#01HD_ADD1:MOV DAY,AW_ADD:MOV A,WEEKCJNE A,#7H,W_ADD1W_ADD1:MOV WEEK,AK_STR:MOV DS1302_ADDR,#80H ;开始振荡MOV DS1302_DATA,SECLCALL WRITEMOV DS130
7、2_ADDR,#8EH ;禁止写入1302MOV DS1302_DATA,#80HSETB F0CLR P2.7WR1302: MOV DS1302_ADDR,#8EH MOV DS1302_DATA,#00H ;允许写1302MOV DS1302_ADDR,#80HMOV DS1302_DATA,#80H ;1302停止振荡MOV DS1302_ADDR,#8CH ;年写入1302MOV DS1302_DATA,YEARMOV DS1302_ADDR,#8AH ;周写入1302MOV DS1302_DATA,WEEKMOV DS1302_ADDR,#88H ;月写入1302MOV DS130
8、2_DATA,MONTHMOV DS1302_ADDR,#86H ;日写入1302MOV DS1302_DATA,DAYMOV DS1302_ADDR,#84H ;时写入1302MOV DS1302_DATA,HOURMOV DS1302_ADDR,#82H ;分写入1302MOV DS1302_DATA,MIN秒写入1302WRITE:CLR T_CLKNOPSETB T_RSTMOV A,DS1302_ADDRMOV R4,#8WRITE1:RRC A MOV T_IO,CSETB T_CLKDJNZ R4,WRITE1MOV A,DS1302_DATAWRITE2:RRC ANOP DJ
9、NZ R4,WRITE2CLR T_RSTRD1302:MOV DS1302_ADDR,#8DH ;年读出LCALL READMOV YEAR,DS1302_DATAMOV DS1302_ADDR,#8BH ;周读出 MOV WEEK,DS1302_DATAMOV DS1302_ADDR,#89H ;月读出 MOV MONTH,DS1302_DATAMOV DS1302_ADDR,#87H ;日读出MOV DAY,DS1302_DATAMOV DS1302_ADDR,#85H ;时读出MOV HOUR,DS1302_DATAMOV DS1302_ADDR,#83H ;分读出MOV MIN,DS
10、1302_DATAMOV DS1302_ADDR,#81H ;秒读出MOV SEC,DS1302_DATA RETREAD:READ1:DJNZ R4,READ1READ2:MOV C,T_IODJNZ R4,READ2MOV DS1302_DATA,ADISP:MOV A,#30H ;16进制转ASCIIORL YH_BIT, AORL YL_BIT, AORL MOH_BIT, AORL MOL_BIT, AORL DH_BIT, AORL DL_BIT, ALCALL WEEKCOVORL HH_BIT, AORL HL_BIT, AORL MH_BIT, AORL ML_BIT, AORL SH_BIT, AORL SL_BIT, ALCALL INIT_
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1