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 + -
显示快捷键?