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

📄 ds1302.src

📁 DS1302的驱动程序
💻 SRC
📖 第 1 页 / 共 2 页
字号:
;---- Variable 'Time?650' assigned to Register 'R1/R2/R3' ----
; 		P2=	dispcode[10];	 //显示“-”
			; SOURCE LINE # 103
; 		delay1ms();
; 		d6=1;
			; SOURCE LINE # 105
	MOV  	R7,#080H
	LCALL	_Read1302
;---- Variable 'ReadValue?651' assigned to Register 'R7' ----
; 		
			; SOURCE LINE # 106
	MOV  	A,R7
	ANL  	A,#070H
	SWAP 	A
	ANL  	A,#0FH
	MOV  	B,#0AH
	MUL  	AB
	MOV  	R6,A
	MOV  	A,R7
	ANL  	A,#0FH
	ADD  	A,R6
	LCALL	?C?CSTPTR
; 		d7=0;
			; SOURCE LINE # 107
	MOV  	R7,#082H
	LCALL	_Read1302
; 		P2=	dispcode[buf[6]];	 //显示时的个位数
			; SOURCE LINE # 108
	MOV  	A,R7
	ANL  	A,#070H
	SWAP 	A
	ANL  	A,#0FH
	MOV  	B,#0AH
	MUL  	AB
	MOV  	R6,A
	MOV  	A,R7
	ANL  	A,#0FH
	ADD  	A,R6
	MOV  	DPTR,#01H
	LCALL	?C?CSTOPTR
; 		delay1ms();
			; SOURCE LINE # 109
	MOV  	R7,#084H
	LCALL	_Read1302
; 		d7=1;
			; SOURCE LINE # 110
	MOV  	A,R7
	ANL  	A,#070H
	SWAP 	A
	ANL  	A,#0FH
	MOV  	B,#0AH
	MUL  	AB
	MOV  	R6,A
	MOV  	A,R7
	ANL  	A,#0FH
	ADD  	A,R6
	MOV  	DPTR,#02H
	LCALL	?C?CSTOPTR
; 
			; SOURCE LINE # 111
	MOV  	R7,#086H
	LCALL	_Read1302
; 		d8=0;
			; SOURCE LINE # 112
	MOV  	A,R7
	ANL  	A,#070H
	SWAP 	A
	ANL  	A,#0FH
	MOV  	B,#0AH
	MUL  	AB
	MOV  	R6,A
	MOV  	A,R7
	ANL  	A,#0FH
	ADD  	A,R6
	MOV  	DPTR,#04H
	LCALL	?C?CSTOPTR
; 		P2=	dispcode[buf[7]];	 //显示时的个位数
			; SOURCE LINE # 113
	MOV  	R7,#08AH
	LCALL	_Read1302
; 		delay1ms();
			; SOURCE LINE # 114
	MOV  	A,R7
	ANL  	A,#070H
	SWAP 	A
	ANL  	A,#0FH
	MOV  	B,#0AH
	MUL  	AB
	MOV  	R6,A
	MOV  	A,R7
	ANL  	A,#0FH
	ADD  	A,R6
	MOV  	DPTR,#03H
	LCALL	?C?CSTOPTR
; 		d8=1;
			; SOURCE LINE # 115
	MOV  	R7,#088H
	LCALL	_Read1302
; 			
			; SOURCE LINE # 116
	MOV  	A,R7
	ANL  	A,#070H
	SWAP 	A
	ANL  	A,#0FH
	MOV  	B,#0AH
	MUL  	AB
	MOV  	R6,A
	MOV  	A,R7
	ANL  	A,#0FH
	ADD  	A,R6
	MOV  	DPTR,#05H
	LCALL	?C?CSTOPTR
;     }			   
			; SOURCE LINE # 117
	MOV  	R7,#08CH
	LCALL	_Read1302
; 	}
			; SOURCE LINE # 118
	MOV  	A,R7
	ANL  	A,#070H
	SWAP 	A
	ANL  	A,#0FH
	MOV  	B,#0AH
	MUL  	AB
	MOV  	R6,A
	MOV  	A,R7
	ANL  	A,#0FH
	ADD  	A,R6
	MOV  	DPTR,#06H
	LJMP 	?C?CSTOPTR
; END OF _DS1302_GetTime

; 
; *** sync lost ***
; *** sync lost ***

	RSEG  ?PR?_DateToStr?DS1302
_DateToStr:
	USING	0
			; SOURCE LINE # 121
;---- Variable 'Time?752' assigned to Register 'R1/R2/R3' ----
; *** sync lost ***
			; SOURCE LINE # 122
; *** sync lost ***
			; SOURCE LINE # 123
	MOV  	DPTR,#06H
	LCALL	?C?CLDOPTR
	MOV  	B,#0AH
	DIV  	AB
	ADD  	A,#030H
	MOV  	DPTR,#07H
	LCALL	?C?CSTOPTR
; *** sync lost ***
			; SOURCE LINE # 124
	MOV  	DPTR,#06H
	LCALL	?C?CLDOPTR
	MOV  	B,#0AH
	DIV  	AB
	MOV  	A,B
	ADD  	A,#030H
	MOV  	DPTR,#08H
	LCALL	?C?CSTOPTR
; *** sync lost ***
			; SOURCE LINE # 125
	MOV  	DPTR,#09H
	MOV  	A,#02DH
	LCALL	?C?CSTOPTR
; *** sync lost ***
			; SOURCE LINE # 126
	MOV  	DPTR,#05H
	LCALL	?C?CLDOPTR
	MOV  	B,#0AH
	DIV  	AB
	ADD  	A,#030H
	MOV  	DPTR,#0AH
	LCALL	?C?CSTOPTR
; *** sync lost ***
			; SOURCE LINE # 127
	MOV  	DPTR,#05H
	LCALL	?C?CLDOPTR
	MOV  	B,#0AH
	DIV  	AB
	MOV  	A,B
	ADD  	A,#030H
	MOV  	DPTR,#0BH
	LCALL	?C?CSTOPTR
; *** sync lost ***
			; SOURCE LINE # 128
	MOV  	DPTR,#0CH
	MOV  	A,#02DH
	LCALL	?C?CSTOPTR
; *** sync lost ***
			; SOURCE LINE # 129
	MOV  	DPTR,#04H
	LCALL	?C?CLDOPTR
	MOV  	B,#0AH
	DIV  	AB
	ADD  	A,#030H
	MOV  	DPTR,#0DH
	LCALL	?C?CSTOPTR
; *** sync lost ***
			; SOURCE LINE # 130
	MOV  	DPTR,#04H
	LCALL	?C?CLDOPTR
	MOV  	B,#0AH
	DIV  	AB
	MOV  	A,B
	ADD  	A,#030H
	MOV  	DPTR,#0EH
	LCALL	?C?CSTOPTR
; *** sync lost ***
			; SOURCE LINE # 131
	MOV  	DPTR,#0FH
	CLR  	A
	LJMP 	?C?CSTOPTR
; END OF _DateToStr

; *** sync lost ***
; *** sync lost ***
; *** sync lost ***

	RSEG  ?PR?_TimeToStr?DS1302
_TimeToStr:
	USING	0
			; SOURCE LINE # 134
;---- Variable 'Time?853' assigned to Register 'R1/R2/R3' ----
; *** sync lost ***
			; SOURCE LINE # 135
; *** sync lost ***
			; SOURCE LINE # 136
	MOV  	DPTR,#02H
	LCALL	?C?CLDOPTR
	MOV  	B,#0AH
	DIV  	AB
	ADD  	A,#030H
	MOV  	DPTR,#010H
	LCALL	?C?CSTOPTR
; *** sync lost ***
			; SOURCE LINE # 137
	MOV  	DPTR,#02H
	LCALL	?C?CLDOPTR
	MOV  	B,#0AH
	DIV  	AB
	MOV  	A,B
	ADD  	A,#030H
	MOV  	DPTR,#011H
	LCALL	?C?CSTOPTR
; *** sync lost ***
			; SOURCE LINE # 138
	MOV  	DPTR,#012H
	MOV  	A,#03AH
	LCALL	?C?CSTOPTR
; *** sync lost ***
			; SOURCE LINE # 139
	MOV  	DPTR,#01H
	LCALL	?C?CLDOPTR
	MOV  	B,#0AH
	DIV  	AB
	ADD  	A,#030H
	MOV  	DPTR,#013H
	LCALL	?C?CSTOPTR
; *** sync lost ***
			; SOURCE LINE # 140
	MOV  	DPTR,#01H
	LCALL	?C?CLDOPTR
	MOV  	B,#0AH
	DIV  	AB
	MOV  	A,B
	ADD  	A,#030H
	MOV  	DPTR,#014H
	LCALL	?C?CSTOPTR
; *** sync lost ***
			; SOURCE LINE # 141
	MOV  	DPTR,#015H
	MOV  	A,#03AH
	LCALL	?C?CSTOPTR
; *** sync lost ***
			; SOURCE LINE # 142
	LCALL	?C?CLDPTR
	MOV  	R7,A
	MOV  	B,#0AH
	DIV  	AB
	ADD  	A,#030H
	MOV  	DPTR,#016H
	LCALL	?C?CSTOPTR
; *** sync lost ***
			; SOURCE LINE # 143
	MOV  	A,R7
	MOV  	B,#0AH
	DIV  	AB
	MOV  	A,B
	ADD  	A,#030H
	MOV  	DPTR,#017H
	LCALL	?C?CSTOPTR
; *** sync lost ***
			; SOURCE LINE # 144
	MOV  	DPTR,#0FH
	CLR  	A
	LJMP 	?C?CSTOPTR
; END OF _TimeToStr

; *** sync lost ***
; *** sync lost ***
; *** sync lost ***

	RSEG  ?PR?Initial_DS1302?DS1302
Initial_DS1302:
	USING	0
			; SOURCE LINE # 147
; *** sync lost ***
			; SOURCE LINE # 148
; *** sync lost ***
			; SOURCE LINE # 149
	MOV  	R7,#080H
	LCALL	_Read1302
;---- Variable 'Second?954' assigned to Register 'R7' ----
; *** sync lost ***
			; SOURCE LINE # 150
	MOV  	A,R7
	JNB  	ACC.7,?C0019
; *** sync lost ***
			; SOURCE LINE # 151
	CLR  	A
	MOV  	R5,A
	MOV  	R7,#080H
	LCALL	_DS1302_SetTime
; *** sync lost ***
			; SOURCE LINE # 152
?C0019:
	RET  	
; END OF Initial_DS1302


	RSEG  ?PR?delay1ms?DS1302
L?0025:
	USING	0
L?0026:
	MOV  	DPTR,#dispcode
	MOVC 	A,@A+DPTR
	MOV  	P2,A
delay1ms:
			; SOURCE LINE # 48
			; SOURCE LINE # 49
	  MOV  R4,#5
	  MOV  R6,#100
	  MOV  R7, #250
	  DJNZ R7,$
	  DJNZ R6, $
	  DJNZ R4, $
			; SOURCE LINE # 63
	RET  	
; END OF delay1ms


	RSEG  ?PR?main?DS1302
main:
	USING	0
			; SOURCE LINE # 65
			; SOURCE LINE # 66
?C0021:
			; SOURCE LINE # 67
			; SOURCE LINE # 68
	MOV  	R3,#00H
	MOV  	R2,#HIGH (time1)
	MOV  	R1,#LOW (time1)
	LCALL	_DS1302_GetTime
			; SOURCE LINE # 70
	MOV  	A,time1
	MOV  	B,#0AH
	DIV  	AB
	MOV  	buf+07H,B
			; SOURCE LINE # 71
	MOV  	A,time1
	MOV  	B,#0AH
	DIV  	AB
	MOV  	buf+06H,A
			; SOURCE LINE # 72
	MOV  	A,time1+01H
	MOV  	B,#0AH
	DIV  	AB
	MOV  	buf+04H,B
			; SOURCE LINE # 73
	MOV  	A,time1+01H
	MOV  	B,#0AH
	DIV  	AB
	MOV  	buf+03H,A
			; SOURCE LINE # 74
	MOV  	A,time1+02H
	MOV  	B,#0AH
	DIV  	AB
	MOV  	buf+01H,B
			; SOURCE LINE # 75
	MOV  	A,time1+02H
	MOV  	B,#0AH
	DIV  	AB
	MOV  	buf,A
			; SOURCE LINE # 77
	CLR  	d1
			; SOURCE LINE # 78
			; SOURCE LINE # 79
	LCALL	L?0025
			; SOURCE LINE # 80
	SETB 	d1
			; SOURCE LINE # 82
	CLR  	d2
			; SOURCE LINE # 83
	MOV  	A,buf+01H
	MOVC 	A,@A+DPTR
	MOV  	P2,A
			; SOURCE LINE # 84
	LCALL	delay1ms
			; SOURCE LINE # 85
	SETB 	d2
			; SOURCE LINE # 87
	CLR  	d3
			; SOURCE LINE # 88
	MOV  	DPTR,#dispcode+0AH
	CLR  	A
	MOVC 	A,@A+DPTR
	MOV  	P2,A
			; SOURCE LINE # 89
	LCALL	delay1ms
			; SOURCE LINE # 90
	SETB 	d3
			; SOURCE LINE # 92
	CLR  	d4
			; SOURCE LINE # 93
	MOV  	A,buf+03H
			; SOURCE LINE # 94
	LCALL	L?0025
			; SOURCE LINE # 95
	SETB 	d4
			; SOURCE LINE # 97
	CLR  	d5
			; SOURCE LINE # 98
	MOV  	A,buf+04H
	MOVC 	A,@A+DPTR
	MOV  	P2,A
			; SOURCE LINE # 99
	LCALL	delay1ms
			; SOURCE LINE # 100
	SETB 	d5
			; SOURCE LINE # 102
	CLR  	d6
			; SOURCE LINE # 103
	MOV  	DPTR,#dispcode+0AH
	CLR  	A
	MOVC 	A,@A+DPTR
	MOV  	P2,A
			; SOURCE LINE # 104
	LCALL	delay1ms
			; SOURCE LINE # 105
	SETB 	d6
			; SOURCE LINE # 107
	CLR  	d7
			; SOURCE LINE # 108
	MOV  	A,buf+06H
			; SOURCE LINE # 109
	LCALL	L?0026
			; SOURCE LINE # 110
	SETB 	d7
			; SOURCE LINE # 112
	CLR  	d8
			; SOURCE LINE # 113
	MOV  	A,buf+07H
	MOVC 	A,@A+DPTR
	MOV  	P2,A
			; SOURCE LINE # 114
	LCALL	delay1ms
			; SOURCE LINE # 115
	SETB 	d8
			; SOURCE LINE # 117
	LJMP 	?C0021
; END OF main

	END

⌨️ 快捷键说明

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