You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
1.6 KiB
98 lines
1.6 KiB
10 years ago
|
.DEVICE ATtiny13
|
||
|
.LIST
|
||
|
.LISTMAC
|
||
|
;běží na 9.6MHz, ckdiv8=0 (zapnuto)
|
||
|
;avrdude příkaz pro FUSEs: -U lfuse:w:0x6a:m -U hfuse:w:0xff:m
|
||
|
;LFUSE: 0x6A
|
||
|
;HFUSE: 0xFF
|
||
|
|
||
|
;aliasy pointerů
|
||
|
.def ZH = r31
|
||
|
.def ZL = r30
|
||
|
.def YH = r29
|
||
|
.def YL = r28
|
||
|
.def XH = r27
|
||
|
.def XL = r26
|
||
|
.def A2 = r25
|
||
|
.def A1 = r24
|
||
|
|
||
|
|
||
|
; Z A C A T E K P R O G R A M U
|
||
|
.org 0x0000 ;RESET
|
||
|
rjmp RESET ;skok na start po resetu
|
||
|
|
||
|
|
||
|
; začátek kódu
|
||
|
.org 0x0010
|
||
|
RESET: ldi r16,low(RAMEND) ;nastaví stack pointer
|
||
|
out SPL,r16
|
||
|
|
||
|
|
||
|
;tělo programu
|
||
|
|
||
|
|
||
|
;věčná smyčka
|
||
|
F_LOOP: rjmp F_LOOP
|
||
|
|
||
|
|
||
|
SHOW:
|
||
|
;A1,A2 obsahují bajty k zobrazení
|
||
|
ldi r16,8
|
||
|
NextB: ror A1
|
||
|
brcs A1on
|
||
|
cbi PORTB,PB0
|
||
|
rjmp A2proc
|
||
|
A1on: sbi PORTB,PB0
|
||
|
A2proc: ror A2
|
||
|
brcs A2on
|
||
|
cbi PORTB,PB1
|
||
|
rjmp shift
|
||
|
A1on: sbi PORTB,PB1
|
||
|
shift: sbi PORTB,PB2
|
||
|
nop
|
||
|
cbi PORTB,PB2
|
||
|
dec r16
|
||
|
brne NextB
|
||
|
sbi PORTB,PB3
|
||
|
nop
|
||
|
cbi PORTB,PB3
|
||
|
ret
|
||
|
|
||
|
CharTbl:
|
||
|
; GR GR GR GR
|
||
|
; GR GR GR GR
|
||
|
.db 0b00000000, 0b00000000
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
;cteni z EEPROM, v [r17 je ADRESA], v (r16 se objeví DATA)
|
||
|
;EEread:
|
||
|
; sbic EECR,1
|
||
|
; rjmp EEread ;cekani dokud neni EEPROM ready
|
||
|
;
|
||
|
; out EEARL, r17 ;ulozit adresu z r17
|
||
|
; sbi EECR,0 ;nastavenim EERE zacina cteni
|
||
|
; in r16,EEDR ;cteni dat z EEDR do r16
|
||
|
;
|
||
|
; ret
|
||
|
|
||
|
|
||
|
;zapis do EEPROM, v [R17 je ADRESA], v [R16 jsou DATA]
|
||
|
;EEwrite:
|
||
|
; sbic EECR,EEPE
|
||
|
; rjmp EEwrite ;cekani dokud neni EEPROM ready
|
||
|
;
|
||
|
; cbi EECR,EEPM1 ;nastavit programovaci mod
|
||
|
; cbi EECR,EEPM0
|
||
|
;
|
||
|
; out EEARL, r17 ;dej adresu z r17 do EEARL
|
||
|
; out EEDR, r16 ;dej data z r16 do EEDR
|
||
|
; sbi EECR,EEMPE ;master program enable
|
||
|
; sbi EECR,EEPE ;program enable
|
||
|
;
|
||
|
; ret
|
||
|
|
||
|
|
||
|
|