SCL2位p 1.3;//SCL2定義為P1端口的第三個引腳,連接到ADC0831SCL引腳。
SDA2位p 1.4;//SDA2定義為P1端口的第4個管腳,連接到ADC0831SDA管腳。
CS2位p 1.6;//CS2定義為P1端口的第4個引腳,連接到ADC0831CS引腳。
RST鉆頭p 1.5;// DS1302片選,因為這兩個芯片用的是同壹個數據引腳(SDA,SCL),所以需要定義壹下,關閉DS1302片選,否則會有沖突。
l _顯示EQU 30H
l _ tmpdate 1 EQU 38H;第二
l _ tmpdate 2 EQU 39H;分鐘
l _ tmpdate 3 EQU 3AH;時間
l _ tmpdate 4 EQU 3BH;周
l _ tmpdate 5 EQU 3CH;太陽
l _ tmpdate 6 EQU 3DH;月球
l _ tmpdate 7 EQU 3EH;年
ORG 0100H
write_rtc_address: DB 80H,82H,84H,86H,88H,8aH,8cH
read_rtc_address: DB 81H,83H,85H,87H,89H,8bH,8dH
L_TIMER: DB 00H,59H,18H,01H,01H,01H,01H
表:DB 3fH、06H、5bH、4fH、66H、6dH、7dH、07H、7fH、6fH、40H
/* * * *數碼管0-9-表*/
ORG 0000H
LJMP總管
組織0200H
主要:MOV SP,#60H
CLR RST
LCALL SET _ RTC先寫初始值
M0:LCALL READ _ RTC;循環讀取時間數據
MOV R0,# L _顯示
MOV A,L _ TMPDATE3把時間拆分成兩個數據,壹個時間和壹個時間。
MOV B,#16
分部AB
MOV @R0,A;十點鐘
INC R0
MOV @R0,B;個人時間
INC R0
MOV @R0,# 10;添加“-”
INC R0
MOV A,L _ TMPDATE2同上
MOV B,#16
分部AB
MOV @R0,A
INC R0
MOV @R0,B
INC R0
MOV @R0,#10
INC R0
MOV A,L_TMPDATE1
MOV B,#16
分部AB
MOV @R0,A
INC R0
MOV @R0,B
MOV R0,# L _顯示
MOV R7,8號
LCALL顯示
SJMP·M0
顯示:MOV·DPTR,#TABLE /*R0是地址,R7是數字*/
MOV P2,#0
ANL P1,#0F8H
L2: MOV A,@R0
MOVC A,@A+DPTR
MOV·P2
LCALL延遲
MOV P2,#0
INC P1
INC R0
DJNZ R7
浸水使柔軟
延遲:MOV R5,#20
D1: DJNZ R5,D1
浸水使柔軟
SET_RTC:MOV R6,# 7;輸入7個數據:秒、分、小時、周、日、月和年。
MOV DPTR,# L _ TIMER最初的7個數據從rom傳輸到我們定義的RAM。
MOV R0,#L_TMPDATE1
S0: CLR A
MOVC A,@A+DPTR
MOV @R0,A
INC R0
DPTR公司
DJNZ R6,S0
MOV R1,#8EH
MOV R2,#0
LCALL w 1302;首先將地址8EH寫為0,即解鎖,否則無法寫入數據。
MOV R0,# L _ tmpdate 1;保存數據的地址。
MOV DPTR,# write _ rtc _ address寫入數據的地址
MOV·R6,排名第七;寫7個數據:秒、分、小時、周、日、月、年。
S1: MOV A,@R0
MOV·R2
CLR A
MOVC A,@A+DPTR
MOV R1,A
LCALL W1302
DPTR公司
INC R0
DJNZ R6,S1
MOV R1,#8EH
MOV R2,80H號
LCALL w 1302;;最後寫地址8EH是80H,也就是加了鎖,防止數據被寫入。
浸水使柔軟
READ_RTC:MOV R6,# 7;讀取七個數據:秒、分、小時、周、日、月、年。
MOV R0,# L _ tmpdate 1;存儲在規定的RAM中。
MOV DPTR,#讀取rtc地址
RE0: CLR A
MOVC A,@A+DPTR
MOV R1,A
LCALL R1302
MOV @R0,A
DPTR公司
INC R0
DJNZ R6,RE0
浸水使柔軟
W1302B: MOV R7,# 8;單字節寫入,R1參數是寫入的數據。
MOV A,R1
W0: RRC A
MOV SDA2,C
nototherwiseprovided(for)除非另有規定
SETB SCL2
nototherwiseprovided(for)除非另有規定
CLR SCL2
DJNZ R7,W0
浸水使柔軟
w 1302:CLR RST;在指定地址寫數據,R1:地址,R2:數據。
nototherwiseprovided(for)除非另有規定
CLR SCL2
nototherwiseprovided(for)除非另有規定
SETB·RST
nototherwiseprovided(for)除非另有規定
LCALL W1302B
R2 MOV
MOV R1,A
LCALL W1302B
CLR RST
nototherwiseprovided(for)除非另有規定
浸水使柔軟
R1302: MOV R2,# 0;指定讀取數據的地址,R1:地址,a:返回數據。
CLR RST
nototherwiseprovided(for)除非另有規定
CLR SCL2
nototherwiseprovided(for)除非另有規定
SETB·RST
nototherwiseprovided(for)除非另有規定
LCALL W1302B
MOV R7,8號
CLR A
RR0: MOV C,SDA2;單字節讀取,讀取存儲在A中的數據並發送出去。
RRC A
SETB SCL2
nototherwiseprovided(for)除非另有規定
CLR SCL2
DJNZ R7,RR0
CLR RST
nototherwiseprovided(for)除非另有規定
CLR SCL2
nototherwiseprovided(for)除非另有規定
SETB SCL2
nototherwiseprovided(for)除非另有規定
CLR SDA2
nototherwiseprovided(for)除非另有規定
SETB SDA2
nototherwiseprovided(for)除非另有規定
浸水使柔軟
結束