📄 ds1305测试程序.txt
字号:
;1305 registers
numbert equ 11h
year0 equ 12h
year1 equ 13h
month0 equ 14h
month1 equ 15h
day equ 16h
date0 equ 17h
date1 equ 18h
hour0 equ 19h
hour1 equ 1ah
minute0 equ 1bh
minute1 equ 1ch
second0 equ 1dh
second1 equ 1fh
status equ 20h
time_e equ 20h.0
;1305 foots define
;int00 equ p3.2
;int01 equ p3.3
sclk equ p3.4 ;t0
ce equ p3.5 ;t1
sdio equ p3.6 ;wr
;;;;;;;;;;;;;;;;;;;;
org 0000h
sjmp start
org 0040h
start: mov sp,#60h
clr psw
mov p0,#0ffh
mov p1,#0ffh
mov p2,#0ffh
mov p3,#0ffh
;mov numbert, #4h
lcall init_1305
mov b,#8fh
mov a,#00h
acall wr_cmd
mov b,#8fh
mov a,#07h
acall wr_cmd
mov b,#80h
mov a,#00h
acall wr_cmd
mov b,#81h
mov a,#00110011b ;set value to register
acall wr_cmd
sa1: mov b,#01h
acall rd_cmd
mov 31h,a
ajmp sa1
init_1305: clr sclk
clr ce
setb ce ;enable 1305
ret
wr_cmd: setb ce
push acc
mov a,b
acall wr_1305
pop acc
acall wr_1305
clr ce
ret
rd_cmd: setb ce
mov a,b
acall wr_1305
acall rd_1305
clr ce
ret
wr_1305: mov b,#8h
wr_13050: rrc a
mov sdio,c
setb sclk
nop
clr sclk
djnz b,wr_13050
ret
rd_1305: mov b,#8h
setb sdio ;ready for reading data
clr a
rd_13050: setb sclk
;setb sdio
;nop
mov c,sdio
clr sclk
rrc a
djnz b,rd_13050
ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -