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

📄 一.txt

📁 单片机ATMEL80c51与周立功的zlg7289A连接后
💻 TXT
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	key1	equ	p1.0
	key2	equ	p1.1
	key3	equ	p1.2
	key4	equ	p1.3
	key5	equ	p1.4
	key6	equ	p1.5
	key7	equ	p1.6
	key8	equ	p1.7
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	org	0000h
	sjmp	main
	org	0030h
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
main:
	mov	p0,#0ffh
	mov	p1,#0ffh
	mov	p2,#0ffh
	mov	p3,#0ffh

	mov	a,#0f7h
	clr	p2.7

key_up:
	jb	key3,key_down
	call	delay
	jmp	key_exit
	call	mov_up
key_down:
	jb	key4,key_left
	call	delay
	call	mov_down
	jmp	key_exit
key_left:
	jb	key2,key_right
	call	delay
	call	mov_left
	jmp	key_exit
key_right:
	jb	key6,key_exit
	call	delay
	call	mov_right
	jmp	key_exit
key_exit:
	call	num_display
	jmp	key_up

	ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov_up:
	mov	b,a
	xrl	a,#0dfh
	jz	up1

	mov	a,b
	xrl	a,#0efh
	jz	up2

	mov	a,b
	xrl	a,#0f1h
	jz	up3

	mov	a,b
	xrl	a,#0bfh
	jz	up4

	mov	a,b
	xrl	a,#0f7h
	jz	up5

	mov	a,b
	xrl	a,#0fdh
	jz	up6

	mov	a,b
	xrl	a,#0fbh
	jz	up7
up1:
	mov	a,#0efh
	jmp	mov_up_exit
up2:
	mov	a,#0dfh
	jmp	mov_up_exit
up3:
	mov	a,#0f7h
	jmp	mov_up_exit
up4:
	mov	a,#0f1h
	jmp	mov_up_exit
up5:
	mov	a,#0bfh
	jmp	mov_up_exit
up6:
	mov	a,#0fbh
	jmp	mov_up_exit
up7:
	mov	a,#0fdh
	jmp	mov_up_exit

mov_up_exit:
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov_down:
	mov	b,a
	xrl	a,#0dfh
	jz	down1

	mov	a,b
	xrl	a,#0efh
	jz	down2

	mov	a,b
	xrl	a,#0f1h
	jz	down3

	mov	a,b
	xrl	a,#0bfh
	jz	down4

	mov	a,b
	xrl	a,#0f7h
	jz	down5

	mov	a,b
	xrl	a,#0fdh
	jz	down6

	mov	a,b
	xrl	a,#0fbh
	jz	down7
down1:
	mov	a,#0efh
	jmp	mov_down_exit
down2:
	mov	a,#0dfh
	jmp	mov_down_exit
down3:
	mov	a,#0bfh
	jmp	mov_down_exit
down4:
	mov	a,#0f7h
	jmp	mov_down_exit
down5:
	mov	a,#0f1h
	jmp	mov_down_exit
down6:
	mov	a,#0fbh
	jmp	mov_down_exit
down7:
	mov	a,#0fdh
	jmp	mov_down_exit

mov_down_exit:
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov_left:
	mov	b,a

	xrl	a,#0fdh
	jz	left1

	mov	a,b
	xrl	a,0fbh
	jz	left2

	mov	a,b
	xrl	a,0f1h
	jz	left3

	mov	a,b
	xrl	a,0bfh
	jz	left3

	mov	a,b
	xrl	a,0f7h
	jz	left3

	mov	a,b
	xrl	a,0dfh
	jz	left4

	mov	a,b
	xrl	a,0efh
	jz	left5

	


left1:
	mov	a,#0dfh
	jmp	mov_left_exit
left2:
	mov	a,#0efh
	jmp	mov_left_exit
left3:
	call	changleft
	mov	a,b
	jmp	mov_left_exit
left4:
	call	changleft
	mov	a,0fdh
	jmp	mov_left_exit
left5:
	call	changleft
	mov	a,0fbh
	jmp	mov_left_exit

mov_left_exit:
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov_right:
	mov	b,a

	xrl	a,#0fdh
	jz	right1

	mov	a,b
	xrl	a,0fbh
	jz	right2

	mov	a,b
	xrl	a,0f1h
	jz	right3

	mov	a,b
	xrl	a,0bfh
	jz	right3

	mov	a,b
	xrl	a,0f7h
	jz	right3

	mov	a,b
	xrl	a,0dfh
	jz	right4

	mov	a,b
	xrl	a,0efh
	jz	right5

	


right1:
	mov	a,#0dfh
	call	changeright
	jmp	mov_right_exit
right2:
	mov	a,#0efh
	call	changeright
	jmp	mov_right_exit
right3:
	call	changeright
	mov	a,b
	jmp	mov_right_exit
right4:
	mov	a,0fdh
	jmp	mov_right_exit
right5:
	mov	a,0fbh
	jmp	mov_right_exit

mov_right_exit:
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
delay:
	mov	r7,#200
delay_loop:
	mov	r6,#200
	djnz	r6,$
	mov	r6,#200
	djnz	r6,$
	djnz	r7,delay_loop
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
num_display:
	mov	p0,a
	call	DELAY_DISP
	ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DELAY_DISP:
	mov	R7,#10		
DELAY_DISP_LOOP:
	mov	R6,#200
	djnz	R6,$
	mov	R6,#200
	djnz	R6,$

	djnz	R7,DELAY_DISP_LOOP

	ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
changleft:
	jnb	p2.7,light_left1
	jnb	p2.6,light_left2
	jnb	p2.5,light_left3
	jnb	p2.4,light_left4
light_left1:
	clr	p2.4
	setb	p2.7
	jmp	changleft_exit
light_left2:
	setb	p2.6
	clr	p2.7
	jmp	changleft_exit
light_left3:
	setb	p2.5
	clr	p2.6
	jmp	mov_left_exit
light_left4:
	setb	p2.4
	clr	p2.5
	jmp	changleft_exit
changleft_exit:	
	ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
changeright:
	jnb	p2.7,light_left1
	jnb	p2.6,light_left2
	jnb	p2.5,light_left3
	jnb	p2.4,light_left4
light_right1:
	clr	p2.6
	setb	p2.7
	jmp	changleft_exit
light_right2:
	setb	p2.6
	clr	p2.5
	jmp	changleft_exit
light_right3:
	setb	p2.5
	clr	p2.4
	jmp	mov_left_exit
light_right4:
	setb	p2.4
	clr	p2.7
	jmp	changleft_exit
changright_exit:	
	ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
end

⌨️ 快捷键说明

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