main.s

来自「avr单片机atmage16驱动小灯的一些例程 并且包括一些收发数据的程序利用」· S 代码 · 共 155 行

S
155
字号
	.module main.c
	.area text(rom, con, rel)
	.dbfile E:\ICCAVR\project\afa-1\icc\afa-002\main.c
	.dbfunc e main _main fV
	.even
_main::
	.dbline -1
	.dbline 7
; /*
; 内部1 M晶振。
; I/O口实验,按键输入,发光二极管显示。
; */
; #include "iom16v.h"
; 
; void main(void) {
	.dbline 9
; 
; 	DDRA = 0x00;						/*方向输入*/
	clr R2
	out 0x1a,R2
	.dbline 10
; 	PORTA = 0xFF;						/*打开上拉*/
	ldi R24,255
	out 0x1b,R24
	.dbline 11
; 	DDRB = 0xFF;						/*方向输出*/
	out 0x17,R24
	.dbline 12
; 	PORTB = 0xFF;						/*高电平*/
	out 0x18,R24
	.dbline 13
; 	DDRC = 0x00;
	out 0x14,R2
	.dbline 14
; 	PORTC = 0xFF;
	out 0x15,R24
	.dbline 15
; 	DDRD = 0x00;
	out 0x11,R2
	.dbline 16
; 	PORTD = 0xFF;
	out 0x12,R24
	xjmp L3
L2:
	.dbline 18
; 
; 	while (1) {
	.dbline 19
; 		if ((PINA & (1 << PA0)) == 0) {	/*判断是否按下*/
	sbic 0x19,0
	rjmp L5
	.dbline 19
	.dbline 20
; 			PORTB = ~(1 << PB0);		/*点亮指示灯*/
	ldi R24,254
	out 0x18,R24
	.dbline 21
; 			}
L5:
	.dbline 22
; 		if ((PINA & (1 << PA1)) == 0) {
	sbic 0x19,1
	rjmp L7
	.dbline 22
	.dbline 23
; 			PORTB = ~(1 << PB1);
	ldi R24,253
	out 0x18,R24
	.dbline 24
; 			}
L7:
	.dbline 25
; 		if ((PINA & (1 << PA2)) == 0) {
	sbic 0x19,2
	rjmp L9
	.dbline 25
	.dbline 26
; 			PORTB = ~(1 << PB2);
	ldi R24,251
	out 0x18,R24
	.dbline 27
; 			}
L9:
	.dbline 28
; 		if ((PINA & (1 << PA3)) == 0) {
	sbic 0x19,3
	rjmp L11
	.dbline 28
	.dbline 29
; 			PORTB = ~(1 << PB3);
	ldi R24,247
	out 0x18,R24
	.dbline 30
; 			}
L11:
	.dbline 31
; 		if ((PINA & (1 << PA4)) == 0) {
	sbic 0x19,4
	rjmp L13
	.dbline 31
	.dbline 32
; 			PORTB = ~(1 << PB4);
	ldi R24,239
	out 0x18,R24
	.dbline 33
; 			}
L13:
	.dbline 34
; 		if ((PINA & (1 << PA5)) == 0) {
	sbic 0x19,5
	rjmp L15
	.dbline 34
	.dbline 35
; 			PORTB = ~(1 << PB5);
	ldi R24,223
	out 0x18,R24
	.dbline 36
; 			}
L15:
	.dbline 37
; 		if ((PINA & (1 << PA6)) == 0) {
	sbic 0x19,6
	rjmp L17
	.dbline 37
	.dbline 38
; 			PORTB = ~(1 << PB6);
	ldi R24,191
	out 0x18,R24
	.dbline 39
; 			}
L17:
	.dbline 40
; 		if ((PINA & (1 << PA7)) == 0) {
	sbic 0x19,7
	rjmp L19
	.dbline 40
	.dbline 41
; 			PORTB = ~(1 << PB7);
	ldi R24,-129
	ldi R25,-1
	out 0x18,R24
	.dbline 42
; 			}
L19:
	.dbline 43
L3:
	.dbline 18
	xjmp L2
X0:
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbend

⌨️ 快捷键说明

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