Archiv verlassen und diese Seite im Standarddesign anzeigen : PIC16F84A+SN74LS47N - Wie ansteuern?
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
kalledom
29.03.2007, 23:21
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 ....
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_05c/Abschlussprojekt/Video/Zaehler.AVI
weil so wie auf diesem Video soll es nicht sein sie sollen nach einander laufen!
mfg
schally
kalledom
30.03.2007, 22:17
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:
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 .....
Hi,
hier der Schaltplan
http://steffen-schalhorst.de/HBFI_05c/Abschlussprojekt/ATINF/Schaltplan/pic_thermo.pdf
Transistoren BC557C PNP.
mfg
schally
kalledom
31.03.2007, 22:15
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).
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.