-         

Ergebnis 1 bis 7 von 7

Thema: PIC16F84A+SN74LS47N - Wie ansteuern?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    29.03.2007
    Beiträge
    15

    PIC16F84A+SN74LS47N - Wie ansteuern?

    Anzeige

    Hi,
    also ich muss für meine Schule ein Abschlussprojekt machen , en Thermometer!
    Also nun habe ich folgendes Problem ich habe einen BCD zu 7Segment Decoder den SN74LS47N und 3-7Segment Anzeigen,gemeinsame Anode, die jeweils vom einem Transistor geschaltet werden.
    Mein Problem ist nun das ich wenn ich an den BCD Decoder etwas nie etwas richtiges rausbekomme.

    Eingänge BCD Decoder

    IA verbunden mit PortB,0

    IB verbunden mit PortB,1

    IC verbunden mit PortB,2

    ID verbunden mit PortB,3

    /LI,/RBI-/BI,/RBI -->Auf +5V gelegt

    wenn ich jetzt eine 1 senden möchte an den BCD Decoder

    dann muss es ja so aussehn

    BSF PortB,0

    oder?

    mfg
    schally

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    29.03.2007
    Beiträge
    15
    keiner ne Idee?

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    67
    Beiträge
    2.063
    Zitat Zitat von schally
    wenn ich jetzt eine 1 senden möchte an den BCD Decoder, dann muss es ja so aussehn: BSF PortB,0
    Für eine 1 schreibst Du 1 in das Register PortB, für eine 2 schreibst Du 2 in das Register PortB, für eine 3 .....
    Du hast doch einen 7-Segment-Decoder, der eine binäre Zahl 0...9 in den 7-Segment-Code umwandelt.
    Wenn Du die Bits 7...4 des PortB für was anderes benutzt, dann muß der BinärWert 0...9 bit-weise an PortB übergeben werden oder mit den Bits 7...4 per ODER verknüpft werden.
    Das eigentliche Problem kommt aber noch.
    Du hast 3 Anzeigen, die über 3 Transistoren geschaltet werden.
    Dann muß zuerst der BinärWert 0...9 für die erste Ziffer am PortB ausgegeben werden, Transistor für Anzeige 1 ansteuern, nach 1ms wieder ausschalten, Binärwert für Ziffer 2 am PortB ausgeben, Transistor für Anzeige 2 ansteuern, nach 1ms wieder ausschalten, BinärWert für ....
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    29.03.2007
    Beiträge
    15
    hi
    und wie schalte ich die aus weil ich lade mit
    MOVLW B'0001';Zahl 1
    MOVWF PORTB ;Gebe aus

    und wie schalte ich nun die Transistoren aus?
    http://steffen-schalhorst.de/HBFI_05...eo/Zaehler.AVI
    weil so wie auf diesem Video soll es nicht sein sie sollen nach einander laufen!


    mfg
    schally

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    67
    Beiträge
    2.063
    Bevor ich jetzt mit Rätselraten beginne, möchte ich zuerst den Schaltplan sehen. Denn wie soll ich Dir erklären, wie Du die Transistoren ausschalten sollst, wenn ich nicht weis, wo die angeschlossen sind.
    Ich persönlich würde die Zahlen anders an PortB übergeben:
    Code:
    		 MOVLW D'0'	; Zahl 0
    oder	MOVLW D'1'	; Zahl 1
    ....
    oder	MOVLW D'8'	; Zahl 8
    oder	MOVLW D'9'	; Zahl 9
    		 MOVWF PORTB	; Ausgeben
    Wenn Dir die binäre Schreibweise besser liegt .....
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    29.03.2007
    Beiträge
    15
    Hi,
    hier der Schaltplan

    http://steffen-schalhorst.de/HBFI_05...pic_thermo.pdf

    Transistoren BC557C PNP.

    mfg
    schally

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    67
    Beiträge
    2.063
    Die Ausgabe-Bits würde ich in einem temporären Register vorbereiten.
    1. Zahl 0...9 (von woher auch immer ?) in Temp ablegen
    2. Bits 7...4 mit AND 0xF0 auf 1 setzen = alle Anzeigen aus, BI/RB0 an (sonst bleiben später die Segmente dunkel)
    3. Anzeigen-Bit 7, 6 oder 5 auf 0 setzen, damit die richtige Anzeige leuchtet
    4. Temp ausgeben an PortB
    Nach einer Millisekunde für die nächste Anzeige wiederholen.

    Ich empfehle die zwei Taster an GND anzuschließen und PullUp-Widerstände zu verwenden (so wie bei Reset).
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •