Pull-Up
-
Hab mal eine kurze Frage die sicher gleich beantwortet ist:
Ich muss für die Schule ein Porgramm schreiben das die unteren 4 Bit von PORTA als Eingang mit Pull-Up setzt und die oberen 4 Bit als Ausgang.
Meine Frage ist jetzt wenn ich das DDRA mit $0f initialisiert habe wie stell ich die Pull-Ups ein ohne den Befehl sbi für jedes Bit zu verwenden?
-
sry - so kann dir keiner Helfen.
BTW: was meinst du mit Pul-Up? Einen Pul-up Widerstand?
-
Ich muss für die Schule ein Porgramm schreiben
interessant, was ist denn das für eine Schule?
Ich hätte mich gefreut, wenn wir in der Schule Assembler-Programme zu schreiben gelernt hätten.
-
Ich vermute, dass du fuer einen Atmel (ATMega?) Mikrocontroller programmierst und wissen willst, wie du die internen Pull-Up-Widerstaende fuer einen Port einschaltest? (praezise Fragen bringen dir schneller mehr antworten...)
Wenn du ueber DDRA = 0F die unteren 4 Bit als Eingang und die oberen 4 Bit als Ausgang konfiguriert hast, kannst du einfach PortA auf 0F setzen (der Asm-Befehl dazu ist beim AVR AFAIR auch "out" - besorge dir eine Befehlsuebersicht).
Falls du nicht ueberschreiben willst, was vorher an den oberen 4 Bit von Port A anlag, lies zuerst Port A ein, verodere mit 0F und schreibe es dann wieder raus...
-
Einfach mit ldi in ein Register die gewünschte Maske setzten und dann beherzt outen.
ldi r16,0x0F
out DDRA,r16