So hier mal der Code Quick und Dirty. (BASCOM)
Soll nur als Demo gelten,
Verbesserungen sind unabdingbar, soll nur die Funktion des multiplexens verdeutlichen.
Natürlich wäre es viel eleganter wenn zunächst eine Segment decodierung erfolgen würden, welcher man einen Zahlenwert in den erforderlichen Binärcode fertig umsetzt.
Dies wäre ein Paradebeispiel für eine Funktion (man übergibt was und bekommt dafür was abderes zurück.
Du hast nur ein Problem nicht bedacht.Code:' Multiplex Anzeige ' ' 4 Stellige 7-Segment Multiplexanzeige ansteuern ' Simple Version ' ' Segmente werden übder die Aliase gesetzt (bitte anpassen) ' Pulsdauer über die Konstante Pulsdauer veränderbar Segment_a Alias Portb.0 Segment_b Alias Portb.1 Segment_c Alias Portb.2 Segment_d Alias Portb.3 Segment_e Alias Portb.4 Segment_f Alias Portb.5 Segment_g Alias Portb.6 Segment_dp Alias Portb.7 Const Pulsdauer = 100000 Dim X As Byte Do 'Darstellung 0 Set Segment_a Set Segment_b Set Segment_c Set Segment_d Set Segment_e Set Segment_f Reset Segment_g Pulseout Portb , 0 , Pulsdauer 'Darstellung 1 Reset Segment_a Set Segment_b Set Segment_c Reset Segment_d Reset Segment_e Reset Segment_f Reset Segment_g Pulseout Portb , 0 , Pulsdauer 'Darstellung 2 Set Segment_a Set Segment_b Reset Segment_c Set Segment_d Set Segment_e Reset Segment_f Set Segment_g Pulseout Portb , 0 , Pulsdauer 'Darstellung 3 Set Segment_a Set Segment_b Set Segment_c Set Segment_d Reset Segment_e Reset Segment_f Set Segment_g Pulseout Portb , 0 , Pulsdauer Loop End
Verwende nicht die RXD und TXD Leitungen für die Dekaden,
oder wie willst du was darstellen?
Irgendwie müssen doch noch Werte übergeben werden (RS232).
Oder soll das ein Zähler werden?







Zitieren

Lesezeichen