ds1302时钟芯片汇编控制程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MOV R4,#8 ;----R4
OUTBIT1:MOV C,T_IO
RRC A
SETB T_CLK
CLR T_CLK
DJNZ R4,OUTBIT1
RET
;---------- ----------END DS0302--------------------------------
SETB T_CLK
CLR T_RST
mov R0,#SECOND
MOV R7,#3 ;秒/时/分;-----R7
MOV R1,#80H ;秒写地址;-----R1
S1302:
CLR T_RST
CLR T_CLK
SETB T_RST
MOV B,R1 ;写秒/时/分地址;---R1
LCALL WRITEBYTE
ds1302时钟芯片ds1302时钟电路ds1302时钟不走ds1302芯片功能ds1302ds1302lcd1602时钟ds1302芯片ds1302中文资料ds1302工作原理ds1302程序
DS1302初始化及读写操作汇编程序
;************ DS1302初始化子程序************************************
MOV R0,#SECOND ;------R0
MOV R7,#03H ;-----R7
MOV R2,#81H ;-----R2
G13021:CLR T_RST
CLR T_CLK
SETB T_RST
MOV B,R2
LCALL WRITEBYTE ;写操作时,将一字节的内容由B写至DS1302中
LCALL READBYTE ;读操作时,将一字节的内容读至A中
INBIT1:MOV A,B
RRC A
MOV B,A
SETB T_IO ;T_IO口做输入口
MOV T_IO,C
SETB T_CLK
CLR T_CLK
DJNZ R4,INBIT1
RET
;-------------------------------------------
READBYTE: ;读1302一字节至A寄存器
MOV B,#80H;控制,wp=1,写保护
LCALL WRITEBYTE
SETB T_CLK
CLR T_RST
POP ACC
MOV R1,A
POP ACC ;A恢复数据
RET
;-------------------------------------
GET1302: ;从ds1302读时间秒/时/分
SET1302: ;设置ds1302初始时间,并启动计时
PUSH ACC ;A断点保护
MOV A,R1
PUSH ACC
CLR T_RST
CLR T_CLK
SETB T_RST
MOV B,#8EH ;控制寄存器
LCALL WRITEBYTE
MOV B,#00H ;写操作前WP=0
LCALL WRITEBYTE
MOV A,@R0 ;写秒数据;-----R0
MOV B,A
LCALL WRITEBYTE
INC R0
INC R1
INC R1
SETB T_CLK
CLR T_RST
DJNZ R7,S1302
CLMOV B,#8EH ;控制寄存器
LCALL WRITEBYTE
MOV @R0,A
INC R0
INC R2
INC R2
SETB T_CLK
CLR T_RST
DJNZ R7,G13021
RET
;--------------------------------------------
WRITEBYTE: ;写B寄存器中的内容至1302一字节
MOV R4,#08H ;------R4
相关文档
最新文档