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

📄 move_ɨ

📁 单片机动态扫描电路举例
💻
字号:
HOUR	EQU	40H;小时缓冲区
MIN	EQU	41H;分钟缓冲区
DP	EQU	42H;小数点显示
SECOND	EQU	43H;
MIAOJIA	EQU	45H;
MIAO	EQU	49H;
HOUR_A	EQU	4AH;闹铃的小时
MIN_A	EQU	4BH;闹铃的分钟
SAOMIAO	EQU	44H;秒计数
SHAN_Y	EQU	50H
YAN_A1	EQU	51H
YAN_A2	EQU	52H
YAN_A3	EQU	53H

SET_F	EQU	46H
LED_F	EQU	47H
KEY_F	EQU	48H

LATCH	BIT	P3.5
ALARM	BIT	P3.4;喇叭
KEY_SET	BIT	P3.3;功能键
KEY_ADD	BIT	P3.2;加设置
DP_F	BIT	F0
H_XIAN	BIT	20H
L_XIAN	BIT	21H
H_A	BIT	22H
L_A	BIT	23H
LED_KEY	BIT	24H
LED_SET	BIT	25H	
SPEEKER	BIT	26H

	ORG	0
	JMP	MAIN	 
	ORG	0BH
	JMP	INT_T0
	ORG	1BH
	JMP	INT_T1

MAIN:	
	MOV	TMOD,#11H
	MOV	TH0,#0ECH
	MOV	TL0,#078H;5ms
	MOV	TH1,#0FCH
	MOV	TL1,#18H;500us*/

	MOV	HOUR,#0;小时显示
	MOV	MIN,#0;分钟显示
	MOV	HOUR_A,#0;
	MOV	MIN_A,#1
        MOV	SECOND,#60;分钟计数
	MOV	MIAOJIA,#60;秒中计数
	MOV	SHAN_Y,#25;设置时灯闪延时计数
	MOV	SET_F,#0
	MOV	DP,#0;小数点计数
	MOV	MIAO,#200
	MOV	DP,#100
	MOV	YAN_A1,#0
	MOV	YAN_A2,#0
	MOV	YAN_A3,#0

	MOV	R5,#250
	MOV	R4,#4
	MOV	R3,#8
	
	MOV	SAOMIAO,#0EEH
	MOV	DPTR,#TAB
	SETB	EA
	SETB	ET0
	SETB	ET1
	SETB	LATCH
	CLR	ALARM

	SETB	TR0
	SETB	SPEEKER

START:	MOV	A,HOUR
	CJNE	A,HOUR_A,JIXU
	MOV	A,MIN
	CJNE	A,MIN_A,JIXU
	SETB	TR1
JIXU:
	MOV	A,P3
	ANL	A,#0DH
	MOV	KEY_F,A
	CJNE	A,#0DH,LOOP5
	JMP	START
LOOP5:	CALL	DELAY
	MOV	A,P3
	CJNE	A,KEY_F,START	
	JNB	KEY_SET,SET_USE;CHOOSE键,是功能键就调去处理
	MOV	A,SET_F;
	CJNE	A,#3,NEXT_3;跳到下一个验证
	SETB	H_A
	SETB	LED_KEY
	MOV	A,HOUR_A
	ADD	A,#1
	DA	A
	CJNE	A,#24,LOOP7
	MOV	HOUR_A,#0
	JMP	LOOP7
NEXT_3:	CJNE	A,#4,NEXT_4
	SETB	LED_KEY
	SETB	L_A
	MOV	A,MIN_A
	ADD	A,#1
	DA	A
	CJNE	A,#60,LOOP7
	MOV	MIN_A,#0
	JMP	LOOP7
NEXT_4:	CJNE	A,#1,NEXT_5
	SETB	H_XIAN
	SETB	LED_SET
	MOV	A,HOUR
	ADD	A,#1
	DA	A
	CJNE	A,#24,LOOP7
	MOV	HOUR,#0
	JMP	LOOP7
NEXT_5:	
	SETB	L_XIAN
	SETB	LED_SET
	MOV	A,MIN
	ADD	A,#1
	DA	A
	CJNE	A,#60,LOOP7
	MOV	MIN,#0	
LOOP7:	JNB	KEY_ADD,$	
	JMP	START
SET_USE:
	INC	SET_F;加设置
	MOV	A,SET_F
	CJNE	A,#5,LOOP6
	MOV	SET_F,#0
LOOP6:	JNB	KEY_SET,$
	JMP	START

DELAY:	MOV	R0,#10
LOOP1:	MOV	R1,#0
LOOP2:	DJNZ	R1,LOOP2
	DJNZ	R0,LOOP1
	RET

INT_T0:
	PUSH	PSW
	PUSH	ACC

	MOV	TH0,#0ECH
	MOV	TL0,#078H
	DJNZ	DP,GO_ON1;
	CPL	F0
	MOV	DP,#100
GO_ON1:	
	DJNZ	MIAO,LOOP4
	MOV	MIAO,#200
	MOV	MIAOJIA,#60
	DJNZ	SECOND,LOOP4
	MOV	SECOND,#60	
	MOV	A,MIN
	CJNE	A,#59H,ADD_1L

	MOV	MIN,#0
	MOV	A,HOUR
	CJNE	A,#23H,ADD_1H
	MOV	HOUR,#0
	JMP	LOOP4

ADD_1L:	ADD	A,#1
	DA	A
	MOV	MIN,A
	JMP	LOOP4

ADD_1H: ADD	A,#1
	DA	A
	MOV	HOUR,A
/*
LOOP4:	MOV	A,SET_F
	CJNE	A,#0,LOOP10
	JMP	LOOP8
LOOP10:	SETB	40H
	JMP	
*/	
/*LOOP4:

	MOV	A,MIN
	ANL	A,#0FH
	MOVC	A,@A+DPTR
	MOV	SBUF,A
	MOV	A,MIN
	ANL	A,#0F0H
	MOVC	A,@A+DPTR
	JNB	TI,$
	CLR	TI
	MOV	SBUF,A
	JNB	TI,$
	MOV	A,HOUR
	ANL	A,#0FH
	MOVC	A,@A+DPTR
	MOV	SBUF,A
	MOV	A,HOUR
	ANL	A,#0F0H
	MOVC	A,@A+DPTR
	JNB	TI,$
	CLR	TI
	MOV	SBUF,A
	JNB	TI,$

*/
LOOP4:	MOV	A,SAOMIAO
	CJNE	A,#0EEH,CMP_NEXT1
	JMP	MIN_L
CMP_NEXT1:
	CJNE	A,#0DDH,CMP_NEXT2
	JMP	MIN_H
CMP_NEXT2:
	CJNE	A,#0BBH,HOUR_H
	JMP	HOUR_L

HOUR_H:	
	JB	H_XIAN,LOOP11
	JNB	H_A,LOOP16
	CLR	H_A
	DJNZ	SHAN_Y,LOOP30
	MOV	SHAN_Y,#25
	MOV	A,HOUR_A
	JMP	LOOP12
	
LOOP11:	CLR	H_XIAN
	DJNZ	SHAN_Y,LOOP30
	MOV	SHAN_Y,#25
LOOP16:	MOV	A,HOUR
LOOP12:	ANL	A,#0F0H
	SWAP	A
	MOVC	A,@A+DPTR
	CPL	A
	MOV	SBUF,A
	JNB	TI,$
	CLR	TI
	MOV	A,SAOMIAO
	MOV	SBUF,A
	JNB	TI,$
	CLR	TI
	JMP	LOOP3
MIN_L:
	JB	L_XIAN,LOOP17
	JNB	L_A,LOOP18
	CLR	L_A
	DJNZ	SHAN_Y,LOOP30
	MOV	SHAN_Y,#25
	MOV	A,MIN_A
	JMP	LOOP19
	
LOOP17:	CLR	L_XIAN
	DJNZ	SHAN_Y,LOOP30
	MOV	SHAN_Y,#25
LOOP18:	MOV	A,MIN
LOOP19:	ANL	A,#0FH
	MOVC	A,@A+DPTR
	CPL	A
	JNB	LED_KEY,GO_ON2
	CLR	LED_KEY
	ORL	A,#1
GO_ON2:	MOV	SBUF,A
	JNB	TI,$
	CLR	TI
	MOV	A,SAOMIAO
	MOV	SBUF,A
	JNB	TI,$
	CLR	TI
	JMP	LOOP30
MIN_H:
	JB	L_XIAN,LOOP20
	JNB	L_A,LOOP21
	CLR	L_A
	DJNZ	SHAN_Y,LOOP30
	MOV	SHAN_Y,#25
	MOV	A,MIN_A
	JMP	LOOP22
LOOP30:	JMP	LOOP3
LOOP20:	CLR	L_XIAN
	DJNZ	SHAN_Y,LOOP30
	MOV	SHAN_Y,#25

LOOP21:	MOV	A,MIN
LOOP22:	ANL	A,#0F0H
	SWAP	A
	MOVC	A,@A+DPTR
	CPL	A
	JNB	F0,LOOP9
	ORL	A,#1
LOOP9:	MOV	SBUF,A
	JNB	TI,$
	CLR	TI
	MOV	A,SAOMIAO
	MOV	SBUF,A
	JNB	TI,$
	CLR	TI
	JMP	LOOP3

HOUR_L:
	JB	H_XIAN,LOOP13
	JNB	H_A,LOOP14
	CLR	H_A
	DJNZ	SHAN_Y,LOOP3
	MOV	SHAN_Y,#25
	MOV	A,HOUR_A
	JMP	LOOP23
	
LOOP13:	CLR	H_XIAN
	DJNZ	SHAN_Y,LOOP3
	MOV	SHAN_Y,#25
LOOP14:	MOV	A,HOUR
LOOP23:	ANL	A,#0FH
	MOVC	A,@A+DPTR;SEND_DIS:
	CPL	A
	JNB	LED_SET,GO_ON4
	CLR	LED_SET
	ORL	A,#1
GO_ON4:	MOV	SBUF,A
	JNB	TI,$
	CLR	TI
	MOV	A,SAOMIAO
	MOV	SBUF,A
	JNB	TI,$
	CLR	TI
LOOP3:
	CLR	LATCH
	SETB	LATCH
	MOV	A,SAOMIAO
	RL	A
	MOV	SAOMIAO,A

	POP	ACC
	POP	PSW
	RETI
	

INT_T1:

	MOV	TH1,#0FCH
	MOV	TL1,#18H
	JNB	SPEEKER,LOOP27
	DJNZ	R5,LOOP_W
	MOV	R5,#250
	DJNZ	R4,LOOP_W
	CLR	SPEEKER
	MOV	R4,#4
	JMP	LOOP_W
LOOP27:	DJNZ	R5,LOOP_W
	MOV	R5,#250
	DJNZ	R3,LOOP_W
	SETB	SPEEKER
	MOV	R3,#8

LOOP_W:	DJNZ	YAN_A1,LAST
	MOV	YAN_A1,0
	DJNZ	YAN_A2,LAST
	MOV	YAN_A2,0
	DJNZ	YAN_A3,LAST
	MOV	YAN_A3,#0
	CLR	TR1
	
LAST:	RETI
TAB:
	DB 0FCH, 60H,0DAH,0F2H, 66H,0B6H,0BEH,0E0H,0FEH,0F6H;共阴,反
	end		

⌨️ 快捷键说明

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