參考資訊:
https://www.microchip.com/en-us/product/attiny13#Documentation
https://nerdathome.blogspot.com/2008/04/avr-as-usage-tutorial.html
本練習使用Power-down模式

main.s
.equ PCMSK, 0x15
.equ PINB, 0x16
.equ DDRB, 0x17
.equ PORTB, 0x18
.equ GIMSK, 0x3b
.equ MCUCR, 0x35
.equ BTN, 0
.equ LED, 1
.org 0x0000
rjmp main
reti
rjmp pcint0_handler
.org 0x0010
main:
sbi DDRB, LED
cbi DDRB, BTN
sbi PORTB, LED
sbi PORTB, BTN
ldi r16, 0x20
out GIMSK, r16
ldi r16, 0x01
out PCMSK, r16
ldi r16, 0x30
out MCUCR, r16
sei
sleep
cbi PORTB, 1
loop:
rjmp loop
pcint0_handler:
reti
編譯和燒錄
$ avr-as -mmcu=attiny13 -o main.o main.s $ avr-ld -o main.elf main.o $ avr-objcopy --output-target=ihex main.elf main.ihex $ sudo avrdude -c usbasp -p t13 -B 1024 -U flash:w:main.ihex:i
完成
