Hallo,
nach mehreren Testaufbauten einem neuen ATmega8 und einem selbstgebauten seriellen Programmieradapter mit 2x MAX232 habe ich nun meine ersten Erfahrungen gemacht.
Ich habe PortB mit Leuchtdioden bestückt, die ich mit verschiedenen Programmen leuchten lassen kann. (Lauflicht, Blinklicht...)
Nun wollte ich ein paar Schalter an PortD anschließen und die Schalterpositionen auf PortB ausgeben. Die Schalter schalten +5V, das Port selber habe ich mit PullDowns (3,3K) nach 0V gelegt. Dazu habe ich mehrere kleine Programme geschrieben, wovon das unten abgebildetet das letzte ist.
Ich habe es bisher nicht geschaft, die Schalterstellungen entsprechen anzuzeigen.
Kann mit jemand sagen, was ich falsch mache ?
Gruß Gucky.![]()
************************************************** *************************
.include "m8def.inc" ; Definitionen für ATmega8
.org 0x0 ; Reset-Vektor
rjmp Reset ;Reset Handle
;************************************************* **************************
.org 0x13
Reset: ldi r16, low(RAMEND) ;init stack to pointer to RAMEND
out spl, r16
ldi r16, high(RAMEND)
out sph, r16
ldi r16, 0xff ;configure PORTB as output
out ddrb, r16
out portb, R16 ; Alle Bits von PortB setzen = alle LED's aus
;ldi r16, 0x00 ; Port C als Eingang konfigurieren >???
;out ddrd, r16
wait2: in r16, portd ; Inhalt vor PortD nach R16
out portb, r16 ; und auf PortB ausgeben
rjmp wait2
Lesezeichen