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

📄 led.asm

📁 系统采用SONIX单片机作为控制核心
💻 ASM
字号:
;***********************************************************************************************
;File name	:led.asm
;Author		:bili
;Purpose	:Training
;Data		:2/8/2007
;Dscription	:led driver				
;Version:	v1.1
;Hardware&IDE:	m2 1.14
;Copyright(C).SONIX TECHNOLOGY CO.,Ltd.		   
;*************************************************************************************************
;led左移
;shift left the 4 led,,when key was pressed,the rightledbuf must inital to 10h
mn_led:

	b0mov	a,mode
	@JMP_A	4
	jmp	closeled
	jmp	sl_led
	jmp	sr_led
	jmp	slr_led
;关闭LED	
closeled:
	mov	a,#00h
	mov	p4,a
	jmp	addspeed
;左移LED
sl_led:
	b0bts1  timeout
	jmp	addspeed
	b0mov	a,leftledbuf
	mov	p4,a
	b0bclr	timeout
	clc 
	rlc	leftledbuf	
	cmprs	a,#10h
	jmp	sl_led10
	mov	a,#01h
sl_led10:
	b0mov	leftledbuf,a
	jmp	addspeed

;右移LED
sr_led:
	
	b0bts1  timeout
	jmp	addspeed
	b0mov	a,rightledbuf
	mov	p4,a
	b0bclr	timeout
	clc
	rrc	rightledbuf
	cmprs	a,#00h
	jmp 	sr_led10
	mov	a,#08h
sr_led10:
	b0mov	rightledbuf,a
	jmp	addspeed
; 两边移
slr_led:
	b0bts1  timeout
	jmp	addspeed
	b0bclr	timeout	
	mov	a,lrledbuf	;初始值为9
	xor	a,#0ffh
	mov	p4,a
	b0mov	lrledbuf,a


;加速度

addspeed:
;	b0mov	a,delayvalue
	b0bts1	addledflag
	jmp	subspeed
	b0bclr	addledflag
	clr	keyresult
	b0bset	delayflag
	b0mov	a,delayvalbuf
	sub	a,#20
	cmprs	a,#20
	jmp	addspeed10
	mov	delayvalbuf,a
	jmp	speed90
	
addspeed10:
	b0mov	delayvalbuf,a
	jmp	speed90

;减速度
subspeed:
	
	b0bts1	subledflag
	jmp	speed90
	b0bclr	subledflag
	clr	keyresult
	b0bset	delayflag
	b0mov	a,delayvalbuf
	add	a,#20
	cmprs	a,#180
	jmp	subspeed10
	mov	delayvalbuf,a
	jmp	speed90
subspeed10:
	b0mov	delayvalbuf,a
speed90:
	ret
	
/*
mn_led:
	
	call	sl_led
	call	sr_led
	call	slr_led
	call	addspeed
	call	subspeed	
	ret
	
sl_led:
	
	b0bts1	fleftled
	jmp	sl_addspeed
	b0bclr	frightled
	b0bclr	flrled
	b0bts1  timeout
	jmp	sl_addspeed
	b0mov	a,leftledbuf
	mov	p4,a
	b0bclr	timeout
	clc
	rlc	leftledbuf	
	mov	a,leftledbuf
	mov	p4,a
	cmprs	a,#08h
	jmp 	sl_addspeed
	mov	a,#01h
sl_addspeed:
	b0mov	leftledbuf,a
	ret	
	

	
	

;shift right the 4 led,,when key was pressed,the rightledbuf must inital to 80h
sr_led:
	
	b0bts1	frightled
	jmp	sr_addspeed
	b0bclr	fleftled
	b0bclr	flrled
	b0bts1  timeout
	jmp	sr_addspeed
	b0mov	a,rightledbuf
	mov	p4,a
	b0bclr	timeout
	clc
	rrc	rightledbuf
	mov	a,rightledbuf
	mov	p4,a
	cmprs	a,#01h
	jmp 	sl_addspeed
	mov	a,#08h
sr_addspeed:
	b0mov	rightledbuf,a
	ret

;shift right and left the 4 led,,when key was pressed,the rightledbuf must inital to 60h
;led两边移动
slr_led:
	b0bts1	flrled
	jmp	slr_addspeed
	b0bclr	fleftled
	b0bclr	frightled
	b0mov	a,lrledbuf
	mov	p4,a
	b0bts1  timeout
	jmp	slr_addspeed
	b0bclr	timeout
	mov	a,#09h
	mov	p2,a
slr_addspeed:
	b0mov	lrledbuf,a
	ret
*/


	
	


	

⌨️ 快捷键说明

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