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

📄 电子时钟.asm

📁 AD AND TLC549 TLC548C, TLC548I, TLC549C, TLC549I
💻 ASM
字号:
	SDA	BIT	P1.0	;I2C总线定义
	SCL	BIT	P1.1
	KEY	BIT	P1.2 
	ACK	BIT	10H	;应答标志位
	ZLG7290	EQU	70H	;ZLG7290的器件地址

	MTD	EQU	40H	;发送数据缓冲器
	MRD	EQU	49H	;发送数据缓冲器
	SLA	DATA	50H	;器件的从地址
	SUBA	DATA	51H	;器件的子地址
	NUMBYTE	DATA	52H	;读/写的字节数变量

	SEC	DATA	55H	
	MIN	DATA	56H	
	HOUR	DATA	57H
	TIM	DATA	58H
	LED	BIT 	P1.7

;-----------------------------------------------
	ORG	0000H
	LJMP	MAIN
      	ORG 	000BH
      	AJMP 	IINT0
	ORG	0030H
MAIN:	MOV 	SP,#70H
      	MOV 	TMOD,#61H
      	MOV 	IE,#82H
     	MOV 	TL0,#LOW(-50000)
     	MOV 	TH0,#HIGH(-50000)
      	SETB 	TR0
	MOV	TIM,#20
	MOV	SEC,#20
	MOV	MIN,#58
	MOV	HOUR,#23
WAIT:	JB	KEY,DISP
	LCALL	SCANKEY	 ;调用按键读取程序
	LCALL	KEYPROC
DISP:	MOV	A,SEC
	MOV	B,#10
	DIV	AB
	MOV	R0,#1
	MOV	R1,A
	LCALL	DISPLAY
	MOV	R0,#0
	MOV	R1,B
	LCALL	DISPLAY

	MOV	A,MIN
	MOV	B,#10
	DIV	AB
	MOV	R0,#4
	MOV	R1,A
	LCALL	DISPLAY
	MOV	R0,#3
	MOV	R1,B
	LCALL	DISPLAY

	MOV	A,HOUR
	MOV	B,#10
	DIV	AB
	MOV	R0,#7
	MOV	R1,A
	LCALL	DISPLAY
	MOV	R0,#6
	MOV	R1,B
	LCALL	DISPLAY

	SJMP	WAIT

;-----------------------------------------------
KEYPROC:MOV	A,MRD
KEY1:	CJNE	A,#8,KEY2
	INC	SEC
	RETI
KEY2:	CJNE	A,#16,KEY3
	DEC	SEC
	RET
KEY3:	CJNE	A,#4,KEY4
	INC	MIN
	RET
KEY4:	CJNE	A,#12,KEY5
	DEC	MIN
	RET
KEY5:	CJNE	A,#1,KEY6
	INC	HOUR
	RET
KEY6:	CJNE	A,#9,KEY7
	DEC	HOUR
KEY7:	RET

;-----------------------------------------------
IINT0:	PUSH 	ACC
      	PUSH 	PSW
      	MOV 	TL0,#LOW(-50000)
      	MOV 	TH0,#HIGH(-50000)
      	DJNZ 	TIM,EXIT
      	MOV 	TIM,#20
	CPL	LED
	INC	SEC
	MOV	A,SEC
	CJNE	A,#60,EXIT
	MOV	SEC,#0
	INC	MIN
	MOV	A,MIN
	CJNE	A,#60,EXIT
	MOV	MIN,#0
	INC	HOUR
	MOV	A,HOUR
	CJNE	A,#24,EXIT
	MOV	HOUR,#0
EXIT:	POP 	PSW
      	POP 	ACC
      	RETI
;-----------------------------------------------

$INCLUDE(VI2C_ASM.INC)		;包含VIIC软件包
$INCLUDE(ZLG7290.INC)		;包含7290软件包
	END

⌨️ 快捷键说明

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