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

📄 read_key2.s

📁 一个新颖的乐器.我参加西电星火杯的作品.里面有详细的.doc说明
💻 S
字号:
	.module READ_KEY2.c
	.area text(rom, con, rel)
	.dbfile C:\DOCUME~1\asdf\MYDOCU~1\11111111111\READ_KEY2.c
	.dbfunc e delay_1ms _delay_1ms fV
;              i -> R16,R17
;              j -> R18,R19
	.even
_delay_1ms::
	.dbline -1
	.dbline 4
; #include<iom8v.h>
; #include<macros.h>
; void delay_1ms(void)
; {
	.dbline 6
;    int i,j;
;    for(i=0;i<10;i++)
	clr R16
	clr R17
L2:
	.dbline 7
	clr R18
	clr R19
L6:
	.dbline 7
L7:
	.dbline 7
	subi R18,255  ; offset = 1
	sbci R19,255
	.dbline 7
	cpi R18,100
	ldi R30,0
	cpc R19,R30
	brlt L6
L3:
	.dbline 6
	subi R16,255  ; offset = 1
	sbci R17,255
	.dbline 6
	cpi R16,10
	ldi R30,0
	cpc R17,R30
	brlt L2
	.dbline -2
	.dbline 8
;        for(j=0;j<100;j++);
; }
L1:
	.dbline 0 ; func end
	ret
	.dbsym r i 16 I
	.dbsym r j 18 I
	.dbend
	.dbfunc e read_key _read_key fc
;            key -> R20
;              a -> y+0
;              i -> R22,R23
	.even
_read_key::
	rcall push_gset2
	sbiw R28,5
	.dbline -1
	.dbline 10
; char read_key(void)
; {   
	.dbline 13
;    int i;
;    char a[5],key;
;    for(i=0;i<5;i++)
	clr R22
	clr R23
L11:
	.dbline 14
	.dbline 15
	rcall _delay_1ms
	.dbline 16
	movw R24,R28
	movw R30,R22
	add R30,R24
	adc R31,R25
	in R2,0x16
	std z+0,R2
	.dbline 17
L12:
	.dbline 13
	subi R22,255  ; offset = 1
	sbci R23,255
	.dbline 13
	cpi R22,5
	ldi R30,0
	cpc R23,R30
	brlt L11
	.dbline 18
;    {  
;       delay_1ms();
;       a[i]=PINB;
;    }
;    if((a[0]==a[1])&&(a[1]==a[2])&&(a[2]==a[3])&&(a[3]==a[4]))
	ldd R2,y+1
	ldd R3,y+0
	cp R3,R2
	brne L15
	ldd R2,y+2
	ldd R3,y+1
	cp R3,R2
	brne L15
	ldd R2,y+3
	ldd R3,y+2
	cp R3,R2
	brne L15
	ldd R2,y+4
	ldd R3,y+3
	cp R3,R2
	brne L15
	.dbline 19
;       key=a[4];
	mov R20,R2
	rjmp L16
L15:
	.dbline 21
;    else  
;       key=0xFF;
	ldi R20,255
L16:
	.dbline 22
;    return key;
	mov R16,R20
	.dbline -2
L10:
	adiw R28,5
	rcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r key 20 c
	.dbsym l a 0 A[5:5]c
	.dbsym r i 22 I
	.dbend

⌨️ 快捷键说明

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