hmmm also ich bin auch gerade am anfangen...
wie sieht deine schaltung aus?
hast du transistoren an der gemeinsamen kathode der segmente oder sowas?
hast mal die 7segment anzeige getestet ohne das multiplexen ???
ich hab bei mir mal drei taster an port d und ein segment an port c gehangen und etwas rumexperimentiert, hier mal mein aktueller code ...
funktion: er zeigt ne null wenn ich den einen taster aus hab, beim betätigen verschwindet die null.
drück ich den taster an d.2 (interrupt) wird die schleife unterbrochen und er zählt von 6 bis 0 runter ...
Code-Tags. Männer ! (PicNick)Code:'testsoftware v 0.1 config porta = output Config Portc = Output Config Pind.0 = Input ' kann man auch kürzer schreiben - egal Config Pind.1 = Input 'konfiguriert die ports d 0,1,2 als input Config Pind.2 = Input Portd.0 = 1 'pullup-widerstände ein Portd.3 = 1 Portd.2 = 1 Dim Nix As Byte , Eins As Byte Dim Zwei As Byte , Drei As Byte , Vier As Byte , Fuenf As Byte , Sechs As Byte Dim Sieben As Byte , Acht As Byte , Neun As Byte Nix = &B1111011 Eins = &B0101000 Zwei = &B1110110 Drei = &B1111100 Vier = &B0101101 Fuenf = &B1011101 Sechs = &B1011111 Sieben = &B1101000 Acht = &B1111111 Neun = &B1111101 On Int0 Int0serv 'bei interrupt int0 gehe zu int0serv Config Int0 = Rising 'und zwar bei steigender flanke Enable Int0 'muss auch rein Enable Interrupts 'und das muss wohl auch rein ... Porta.0 = 1 'led mal ausschalten Do 'Beginn der Endlosschleife If Pind.0 = 1 Then 'nix also die 0 anzeigen Portc = Nix Else 'alle LEDs aus Portc = 0 End If Loop 'Ende der Endlosschleife Int0serv: 'bei interrupt von sechs runterzählen Portc = Sechs Waitms 500 Portc = Fuenf Waitms 500 Portc = Vier Waitms 500 Portc = Drei Waitms 500 Portc = Zwei Waitms 500 Portc = Eins Waitms 500 Portc = Nix Return







Zitieren

Lesezeichen