⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ds1302.asm

📁 ds1302日历汇编读写程序 经过实际验证的 可以直接调用
💻 ASM
字号:
;***********************************************
;***********************************************
;/*	读取时钟 DS1302		*/
;***********************************************
DTIME:		MOV	DSMAND,#083H	;分
		LCALL	R_BYTE
		MOV	RMIN,DSDATA
		MOV	DSMAND,#085H	;时
		LCALL	R_BYTE
		MOV	RHOUR,DSDATA
		MOV	DSMAND,#087H	;日
		LCALL	R_BYTE
		MOV	RDATE,DSDATA
		MOV	DSMAND,#089H	;月
		LCALL	R_BYTE
		MOV	RMON,DSDATA
		MOV	DSMAND,#08BH	;星期
		LCALL	R_BYTE
		MOV	RDAY,DSDATA
		MOV	DSMAND,#08DH	;年
		LCALL	R_BYTE
		MOV	RYEAR,DSDATA
		RET
;第一次上电时钟为 2000年01月01日星期六 00:00
INTI:		MOV	DSMAND,#08EH
		MOV	DSDATA,#00H	;允许数据写入寄存器
		LCALL	S_BYTE
		MOV	DSMAND,#080H
		MOV	DSDATA,#00H	;开始振荡 0秒开始
		LCALL	S_BYTE
		MOV	DSMAND,#082H
		MOV	DSDATA,#00H	;000分
		LCALL	S_BYTE
		MOV	DSMAND,#084H
		MOV	DSDATA,#000H	;00时
		LCALL	S_BYTE
		MOV	DSMAND,#086H
		MOV	DSDATA,#01H	;1日
		LCALL	S_BYTE
		MOV	DSMAND,#088H
		MOV	DSDATA,#01H	;1月
		LCALL	S_BYTE
		MOV	DSMAND,#08AH
		MOV	DSDATA,#02H	;星期二
		LCALL	S_BYTE
		MOV	DSMAND,#08CH
		MOV	DSDATA,#08H	;08年
		LCALL	S_BYTE
		MOV	DSMAND,#090H
		MOV	DSDATA,#0aaH	;4k两只二极管狷流充电
		LCALL	S_BYTE
		RET
S_BYTE:		CLR	DSCE	;复位脚为低电平所有数据传送终止
		NOP
		CLR	DSCK	;清时钟总线
		NOP
		SETB	DSCE	;复位脚为高电平逻辑控制有效
		NOP
		MOV	A,DSMAND
		MOV	R4094D,#08H
S_BYTE0:	RRC	A
		MOV	DSIO,C
		NOP
		NOP
		SETB	DSCK
		NOP
		NOP
		NOP
		CLR	DSCK
		DJNZ	R4094D,S_BYTE0
		NOP
		NOP
		NOP
S_BYTE1:	MOV	A,DSDATA
		MOV	R4094D,#08H
S_BYTE2:	RRC	A
		MOV	DSIO,C
		NOP
		NOP
		SETB	DSCK
		NOP
		NOP
		NOP
		CLR	DSCK
		DJNZ	R4094D,S_BYTE2
		NOP
		NOP
		CLR	DSCE
		LCALL	DELAY10mS
		RET
;************
R_BYTE:		CLR	DSCE	;复位脚为低电平所有数据传送终止
		NOP
		CLR	DSCK	;清时钟总线
		NOP
		SETB	DSCE	;复位脚为高电平逻辑控制有效
		NOP
		MOV	A,DSMAND
		MOV	R4094D,#08H
R_BYTE0:	RRC	A
		MOV	DSIO,C
		NOP
		NOP
		SETB	DSCK
		NOP
		NOP
		NOP
		CLR	DSCK
		DJNZ	R4094D,R_BYTE0
		NOP
		NOP
		NOP
		MOV	R4094D,#08H
		CLR	C
R_BYTE1:	NOP
		MOV	C,DSIO
		NOP
		NOP
		RRC	A
		NOP
		SETB	DSCK
		NOP
		NOP
		NOP
		CLR	DSCK
		DJNZ	R4094D,R_BYTE1
		NOP
		CLR	DSCE
		MOV	DSDATA,A
		LCALL	DELAY10mS
		RET

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -