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

📄 key.asm

📁 应用松翰母体开发的航模飞机的源代码!有舵机控制功能
💻 ASM
字号:
;**********************************************
;Name	:mnkey
;Function:
;Input  :
;Output	:
;Register Used:
;***********************************************
mnkey:	

	bts1	csxenbflag
	jmp	mnkey90
	call	keyin
	call	keychk
	call	keycvt
mnkey90:
	ret
;**********************************************
;Name	:keyin
;Function:
;Input  :
;Output	:
;Register Used:
;***********************************************
keyin:
	clr	keyinbuf
	b0bts0	ptcsx1
	bset	keyinbuf.0

	b0bts0	ptcsx2
	bset	keyinbuf.1

	b0bts0	ptcsx3
	bset	keyinbuf.2
	
	b0bts0	ptcsx4
	bset	keyinbuf.3
	
	
keyin90:
	ret
;**********************************************
;Name	:keychk
;Function:
;Input  :
;Output	:
;Register Used:
;***********************************************
keychk:
	mov	a,keyinbuf
	cmprs	a,keychkbuf
	jmp	keychk10
	b0bts1	keystatflag
	jmp	keychk90
	mov	a,keychat
	b0bts1	fz
	jmp	keychk90
	mov	a,keychkbuf
	mov	keycvtbuf,a
	bclr	keystatflag
	jmp	keychk90
keychk10:
	bset	keystatflag
	mov_	keychkbuf,keyinbuf
	mov_	keychat,#2
keychk90:
	ret
;**********************************************
;Name	:keycvt
;Function:
;Input  :
;Output	:
;Register Used:
;***********************************************	
keycvt:
	mov	a,keycvtbuf
	cmprs	a,keyoldbuf
	jmp	keycvtcsx10
	jmp	keycvt90
keycvtcsx10:
	mov	a,keycvtbuf
	mov	keyoldbuf,a
	and	a,#00001111b
	mov	csxtable,a
	jmp	$+1
	jmp	$+1
	clr	tablecount
nop
nop
nop
chkcsxtable:

	b0mov	y,#tablecsx$m
	b0mov	z,#tablecsx$l
	mov	a,tablecount
	add	z,a
	mov	a,#0
	adc	y,a
	movc
	cmprs	a,csxtable
	jmp	csxtableadd	
	jmp	chkcsxtableend
csxtableadd:
	incms	tablecount
	nop
	mov	a,tablecount
	sub	a,#13
	bts1	fc
	jmp	chkcsxtable
	jmp	keycvt90
chkcsxtableend:		;根据所测的数据对飞机执行平衡动作
	mov	a,tablecount
	sub	a,#3
	bts1	fc
	jmp	keycvt90
	sub	a,#4
	bts1	fc
	jmp	keycvtcsx20
	bset	empensubflag	
	mov	a,#13
	sub	a,tablecount
	mov	csxcalibratebuf,a
	jmp	keycvt90
		
keycvtcsx20:	
	bset	empenaddflag	
	mov	a,tablecount
	sub	a,#3
	mov	csxcalibratebuf,a
	jmp	keycvt90
	
keycvt90:
	ret	
;**********************************************
;Name	:dkeychat
;Function:
;Input  :
;Output	:
;Register Used:
;***********************************************	
dkeychat:
        b0mov   A,keychat
        b0bts0  fz              ; is keychat <> 0
        jmp     dkeychat90      ; is A = 0
        decms   keychat         ; keychat --
        jmp     dkeychat90

dkeychat90:
    ret
;***********************************************
tablecsx:
	dw	0fh	;0	不响应
	dw	06h	;1	0度
	dw	0eh	;2	0-90之间
	dw	01h	;3	45度
	dw	0ch	;4	90度
	dw	0dh	;5	90-180之间
	dw	02h	;6	135度	
	dw	09h	;7	180度
	dw	0bh	;8	180-270之间
	dw	04h	;9	225度
	dw	03h	;10	270度	
	dw	07h	;11	270-360之间
	dw	08h	;12	315度		
     

/*
	dw	09h	;1	0度
	dw	00h	;2
	dw	01h	;3
	dw	00h	;4
	dw	01h	;5
	dw	00h	;6
	dw	01h	;7
	dw	0eh	;8	45度
	dw	01h	;9
	dw	00h	;10
	dw	01h	;11
	dw	00h	;12
	dw	01h	;13
	dw	00h	;14
	dw	03h	;15	90度
	dw	00h	;16
	dw	02h	;17
	dw	00h	;18
	dw	02h	;19
	dw	00h	;20
	dw	02h	;21
	dw	0dh	;22	135度
	dw	02h	;23
	dw	00h	;24
	dw	02h	;25
	dw	00h	;26
	dw	02h	;27
	dw	00h	;28
	dw	06h	;29	180度
	dw	00h	;30	
	dw	04h	;31	
	dw	00h	;32	
	dw	04h	;33	
	dw	00h	;34	
	dw	04h	;35	
	dw	0bh	;36	225度
	dw	04h	;37	
	dw	00h	;38	
	dw	04h	;39	
	dw	00h	;40
	dw	04h	;41
	dw	00h	;42
	dw	0ch	;43	270度
	dw	00h	;44
	dw	08h	;45
	dw	00h	;46
	dw	08h	;47
	dw	00h	;48
	dw	08h	;49
	dw	07h	;50	315度
	dw	08h	;51
	dw	00h	;52
	dw	08h	;53
	dw	00h	;54
	dw	08h	;55
	dw	00h	;56
	dw	09h	;57	360度		
*/                          
  /*	b0bts0	keycvtbuf.0
	jmp	keycvtcsx11
	bts1	keyoldbuf.0
	jmp	keycvtcsx20

	jmp	keycvtcsx20
keycvtcsx11:
	bts0	keyoldbuf.0
	jmp	keycvtcsx20

	
	jmp	keycvtcsx20
keycvtcsx20:		
	b0bts0	keycvtbuf.0
	jmp	keycvtcsx11
	bts1	keyoldbuf.0
	jmp	keycvtcsx20

	jmp	keycvtcsx20
keycvtcsx11:
	bts0	keyoldbuf.0
	jmp	keycvtcsx20

	
	jmp	keycvtcsx20
keycvtcsx20:
	b0bts0	keycvtbuf.0
	jmp	keycvtcsx11
	bts1	keyoldbuf.0
	jmp	keycvtcsx20

	jmp	keycvtcsx20
keycvtcsx11:
	bts0	keyoldbuf.0
	jmp	keycvtcsx20

	
	jmp	keycvtcsx20
keycvtcsx20:
	b0bts0	keycvtbuf.0
	jmp	keycvtcsx11
	bts1	keyoldbuf.0
	jmp	keycvtcsx20

	jmp	keycvtcsx20
keycvtcsx11:
	bts0	keyoldbuf.0
	jmp	keycvtcsx20

	
	jmp	keycvtcsx20
keycvtcsx20:
*/                        

⌨️ 快捷键说明

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