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

📄 keyboard.asm

📁 AVR-AT90S8535,HD8279,等开发的洁净空调专用DDC系统,包括AD/DA,PID计算等.
💻 ASM
字号:
.include"8535def.inc"	
.org	0x00

	rjmp	RESET	; 

.org	INT0addr		;通用中断
INTT0:	rjmp	keyint	;
;.org	OC2addr	
;OC2:	rjmp	tim2
;.org	OC1Aaddr
;OC1A	rjmp	tim1a	
;.org	OC1Baddr
;OC1B	rjmp	tim1b
;.org	URXCaddr	
;UDRE	rjmp	RXD
;.org	UDREaddr	
;UDRE	rjmp	UDADD
;.org	UTXCaddr
;UTXC	rjmp	TXD
	.org	$0010	
keyint:	
	push	r16
	push	r17
	push	r18
	push	r19
	push	r20
	push	r21
	push	r22
	push	r23
	push	r24
	push	r25
	clr	r25
	clr	r24
	ldi	r16,$01
	sbis	portd,3
	rjmp	pod3
hz1:	sbis	portd,4
	rjmp	pd4
hz2:	sbis	portd,5
	rjmp	pod5
	rjmp	read
pod3:	mov	r18,r16
	rjmp	hz1
pod4:	mov	r19,r16
	rjmp	hz2	
pod5:	mov	r20,r16
read:	rcall	readkey
	cpi	r17,$01		;启动编码
	breq	startsystem
	cpi	r17,$00		;停止编码
	breq	stopsystem	
	cpi	r17,$00		;设定编码
	breq	setup
	cpi	r17,$00		;退出编码
	breq	quit
	cpi	r17,$00		;加编码
	breq	keyup
	cpi	r17,$00		;减编码
	breq	keydown
	cpi	r17,$00		;消音
	breq	mute
	rjmp	read
kqt:	ser	r16
	out	ddrb,r16
	
	cpi	r18,$01
	breq	w3
	sbi	portd,3
	
hz3:	cpi	r19,$01
	breq	w4
	sbi	portd,4
	
hz4:	cpi	r20,$01
	breq	w5
	sbi	portd,5
	rjmp	hz5
	
w3:	cbi	portd,3
	rjmp	hz3
w4:	cbi	portd,4
	rjmp	hz4
w5:	cbi	portd,5
	
hz5:	pop	r25
	pop	r24
	pop	r23
	pop	r22
	pop	r21
	pop	r20
	pop	r19
	pop	r18
	pop	r17
	pop	r16
	
	reti

startsystem:
	rcall	fmq
	ldi	r16,01		;启动风机输出
	out	portc,r16
	sbi	portd,7
	nop
	nop
	cbi	portd,7
	rjmp	read
	
stopsystem:
	rcall	fmq
	ldi	r16,00		;停止风机输出
	out	portc,r16
	sbi	portd,7
	nop
	nop
	cbi	portd,7	
	rjmp	read
	
mute:	rcall	fmq
	cbi	portd,6		;消音报警
	rjmp	read
	
setup:	rcall	fmq
	rcall	setupxs	
	rcall	szcs
	inc	r15	
	rjmp	read
	
quit:	rcall	fmq
	cpi	r25,$01
	breq	kqt
	;上一界面
	dec	r25	
	rjmp	read
	
keyup:	rcall	fmq	
	rjmp	read

keydown:rcall	fmq	
	rjmp	read



reset:	





readkey:clr	r16
	out	ddrb,r16
	out	portb,r16
	sbi	portd,5
	sbi	portd,4
	cbi	portd,3
	in	r17,pinb
	sbi	portd,3
	andi	r17,$7
	cpi	r17,$0
	breq	kqt
	ser	r16
	out	ddrb,r16
	cbi	portd,4
	ldi	r16,$40
	out	portb,r16
	sbi	portd,4
	cbi	portd,5
	clr	r16
	out	ddrb,r16
	out	portb,r16
	cbi	portd,3
	in	r17,pinb
	sbi	portd,3
	sbi	portd,5	
	ret
	
setupxs:rcall	cs8279

	ldi	r16,$6d		;'S'
	rcall	outxs	
	ldi	r16,$79		;'E'
	rcall	outxs
	ldi	r16,$78		;'t'
	rcall	outxs
	ldi	r16,$3e		;'u'
	rcall	outxs
	ldi	r16,$73		;'p'
	rcall	outxs
	sbi	portd,5	
;	ldi	r20,$48		;调用延时
;	rcall	dely
	ret
szcs:	rcall	cs8279
	ldi	r16,$78		;'t'
	rcall	outxs	
	ldi	r16,$40		;'-'
	rcall	outxs	
	ldi	r16,$40		;'-'
	rcall	outxs	
	ldi	r16,$40		;'-'
	rcall	outxs	
	ldi	r16,$40		;'-'
	rcall	outxs	
	sbi	portd,5	
	
cs8279:	sbi	portd,5		;初始化8279控制字
	cbi	portd,4
	ldi	r16,$90
	out	portb,r16
	sbi	portd,4
	cbi	portd,5	
	ret		
outxs:	out	portb,r16
	cbi	portd,4	
	nop
	sbi	portd,4	
	ret

fmq:	sbi	portd,6	
	ldi	r20,$48		;调用延时
;	rcall	dely
	cbi	portd,6	
	ret

⌨️ 快捷键说明

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