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

📄 horse.s

📁 ATMEGA16控制跑马灯程序,PA口依次循环点亮各自的LED
💻 S
字号:
	.module horse.c
	.area text(rom, con, rel)
	.dbfile F:\ziliao\新建文件夹\horselight_icc\cfile\horse.c
	.dbfunc e horse _horse fV
;              i -> R16
	.even
_horse::
	st -y,R20
	st -y,R21
	.dbline -1
	.dbline 4
; #define HORSE_C
; #include "includes.h"
; void horse(unsigned char i)
; {
	.dbline 5
;     switch(i)
	mov R20,R16
	clr R21
	cpi R20,0
	cpc R20,R21
	breq L5
X0:
	cpi R20,1
	ldi R30,0
	cpc R21,R30
	breq L6
X1:
	cpi R20,2
	ldi R30,0
	cpc R21,R30
	breq L7
X2:
	cpi R20,3
	ldi R30,0
	cpc R21,R30
	breq L8
X3:
	cpi R20,4
	ldi R30,0
	cpc R21,R30
	breq L9
X4:
	cpi R20,5
	ldi R30,0
	cpc R21,R30
	breq L10
X5:
	cpi R20,6
	ldi R30,0
	cpc R21,R30
	breq L11
X6:
	cpi R20,7
	ldi R30,0
	cpc R21,R30
	breq L12
X7:
	cpi R20,8
	ldi R30,0
	cpc R21,R30
	breq L13
X8:
	xjmp L3
L5:
	.dbline 8
;     {
;         case 0: 
;             OutPort = 0x00;
	clr R2
	out 0x1b,R2
	.dbline 9
;             break;
	xjmp L3
L6:
	.dbline 11
;         case 1: 
;             OutPort = 0x01;
	ldi R24,1
	out 0x1b,R24
	.dbline 12
;             break;
	xjmp L3
L7:
	.dbline 14
;         case 2: 
;             OutPort = 0x03;
	ldi R24,3
	out 0x1b,R24
	.dbline 15
;             break;
	xjmp L3
L8:
	.dbline 17
;         case 3: 
;             OutPort = 0x07;
	ldi R24,7
	out 0x1b,R24
	.dbline 18
;             break;
	xjmp L3
L9:
	.dbline 20
;         case 4: 
;             OutPort = 0x0f;
	ldi R24,15
	out 0x1b,R24
	.dbline 21
;             break;
	xjmp L3
L10:
	.dbline 23
;         case 5: 
;             OutPort = 0x1f;
	ldi R24,31
	out 0x1b,R24
	.dbline 24
;             break;
	xjmp L3
L11:
	.dbline 26
;        case 6: 
;             OutPort = 0x3f;
	ldi R24,63
	out 0x1b,R24
	.dbline 27
;             break;
	xjmp L3
L12:
	.dbline 29
;        case 7: 
;             OutPort = 0x7f;
	ldi R24,127
	out 0x1b,R24
	.dbline 30
;             break;
	xjmp L3
L13:
	.dbline 32
;        case 8: 
;             OutPort = 0xff;
	ldi R24,255
	out 0x1b,R24
	.dbline 33
;             break;
	.dbline 35
;        default: 
;             break;
L3:
	.dbline -2
L1:
	.dbline 0 ; func end
	ld R21,y+
	ld R20,y+
	ret
	.dbsym r i 16 c
	.dbend
;     }    
; }

⌨️ 快捷键说明

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