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


Anmelden zum Antworten