| Weitere Artikel aus dem Elo-Magazin |
AVR-Anwendungen: - der ATiny 26
ATtiny26
Mithilfe des Lernpakets Mikrocontroller lässt sich auch der Attiny 26 problemlos mittels LPmikroISP.exe programmieren! Da hat man dann einige Ein- und Ausgänge mehr zur Verfügung. Natürlich sind die entsprechenden Pins für MISO, MOSI und SCK zu verwenden.
von Felix Irmscher
Da mir zur Programmierung die Verwendung des Terminals in Lpmikros.exe nützlich erschien, habe ich Ihre Unterprogramme WrCOM und RdCOM entsprechend verändert.
Folgende Schritte sind dann zur Verwendung des Terminals nötig:
1. Programm mit LPmikroISP.exe in den Controller laden
2. LPmikroISP.exe schließen
3. Lpmikros.exe starten und Terminal verwenden
Leider lassen sich die Fuses des ATtiny26 mit LPmikroISP.exe nicht ändern.
Anpassung der seriellen Schnittstelle an den internen Oszillator mit 1 MHz:
;RS232test1,
N
Bytes
senden
;Gesendet
wird
der
Buchstabe
U
(0b01010101)
;Die
neuen
Verzögerungswerte
wurden
durch
Dreisatz
ermittelt
;Der
Grundtakt
des
tn26=1MHz,
des
tn13=1,2MHz
;Delay
für
1,5Bitlängen=58/1,2=48,333
;Delay
für
1
Bitlänge
=38/1,2=31,666
;Danach
experimentell
korrigiert
.include
"tn26def.inc"
.def
A
=
r16
.def
Delay
=
r17
.def
Count
=
r18
.def
Count2
=
r19
;Port
B
.equ
TXD
=
1
.equ
RXD
=
2
.equ
Del_1
=
30
.equ
Del_15
=
48
rjmp
Anfang
Anfang:
ldi
A,LOW(RAMEND)
;Stackpointer
setzen
out
SP,A
sbi
ddrb,TXD
;Datenrichtung
TXD
Schleife:
rcall
RdCOM
mov
Count2,A
Cnt:
ldi
A,85
rcall
WrCOM
dec
Count2
brne
Cnt
rjmp
Schleife
RdCOM:
sbis
pinb,RXD
;Empfangen
rjmp
RdCOM
ldi
Delay,Del_15
D1:
dec
Delay
brne
D1
ldi
A,0
ldi
Count,8
L1:
lsr
A
sbic
pinb,RXD
ori
A,128
ldi
Delay,Del_1
D2:
dec
Delay
brne
D2
dec
Count
brne
L1
ldi
Delay,Del_1
D3:
dec
Delay
brne
D3
com
A
ret
WrCOM:
sbi
portb,TXD
;Senden
ldi
Delay,Del_1
D4:
dec
Delay
brne
D4
ldi
Count,8
L2:
sbrc
A,0
rjmp
OFF
rjmp
ON
ON
:
sbi
portb,TXD
rjmp
BitD
OFF:
cbi
portb,TXD
rjmp
BitD
BitD:
ldi
Delay,Del_1
D5:
dec
Delay
brne
D5
lsr
A
dec
Count
brne
L2
cbi
PORTB,TXD
ldi
Delay,Del_1
D6:
dec
Delay
brne
D6
ret
N
Bytes
senden
;Gesendet
wird
der
Buchstabe
U
(0b01010101);Die
neuen
Verzögerungswerte
wurden
durch
Dreisatz
ermittelt;Der
Grundtakt
des
tn26=1MHz,
des
tn13=1,2MHz;Delay
für
1,5Bitlängen=58/1,2=48,333;Delay
für
1
Bitlänge
=38/1,2=31,666;Danach
experimentell
korrigiert
.include
"tn26def.inc"
.def
A
=
r16
.def
Delay
=
r17
.def
Count
=
r18
.def
Count2
=
r19
;Port
B
.equ
TXD
=
1
.equ
RXD
=
2
.equ
Del_1
=
30
.equ
Del_15
=
48
rjmp
AnfangAnfang:
ldi
A,LOW(RAMEND)
;Stackpointer
setzen
out
SP,A
sbi
ddrb,TXD
;Datenrichtung
TXDSchleife:
rcall
RdCOM
mov
Count2,ACnt:
ldi
A,85
rcall
WrCOM
dec
Count2
brne
Cnt
rjmp
SchleifeRdCOM:
sbis
pinb,RXD
;Empfangen
rjmp
RdCOM
ldi
Delay,Del_15
D1:

dec
Delay
brne
D1
ldi
A,0
ldi
Count,8L1:

lsr
A
sbic
pinb,RXD
ori
A,128
ldi
Delay,Del_1
D2:

dec
Delay
brne
D2
dec
Count
brne
L1
ldi
Delay,Del_1D3:

dec
Delay
brne
D3
com
A
retWrCOM:
sbi
portb,TXD
;Senden
ldi
Delay,Del_1
D4:

dec
Delay
brne
D4
ldi
Count,8L2:

sbrc
A,0
rjmp
OFF
rjmp
ONON
:
sbi
portb,TXD
rjmp
BitDOFF:
cbi
portb,TXD
rjmp
BitDBitD:

ldi
Delay,Del_1
D5:

dec
Delay
brne
D5
lsr
A
dec
Count
brne
L2
cbi
PORTB,TXD
ldi
Delay,Del_1
D6:

dec
Delay
brne
D6
ret
Die passende Ergänzung zu diesem Artikel:
![]() | AVR-RISC Produktart: Buch, Hardcover, 250 Seiten, CD Rom ab 29,99 € |

Lernen Sie die ganze Vielfalt vom Franzis Buch- und Softwareverlag kennen












