Hallo und erstmal Moin an alle!
Ich bin neu hier. Vorstellen mach ich später mal. Hab vor 2 Monaten mit Bascom, STK500 und einen Atmega16 angefangen.
Ursprünglich wollte ich mit dem Atmega16 die Weltherrschaft übernehmen, was ich aber aufgrund meiner Programmierkenntnisse
mit Sicherheit vergessen kann. Hab am Wochenende angefangen mal was eigenes in die Hand zu nehmen und bin mit meinem..naja..
dann doch Halbwissen vorerst am Ende. Vielleicht kann mir hier ja jemand mal weiter helfen.
Ich möchte gerne 24 Leds an PortB, PortC, PortD als quasi Bargraphanzeige betreiben. Pro Pin eine LED.
Jedem Einzelnen Pin sollte per (0-5V) ADC ein (CASE X TO Y) zugeortnet werden. Also 24 X (CASE X TO Y).
So das ich Problemlos durch ändern jeder CASE Zeile die Zuweisung der ADC Spannungen ändern kann.
Wobei bei 0V keine LED und bei 5V 24 Leds leuchten sollen.
Hab auch schon ein Progamm ge-klaut-schrieben, was fürs erste erstmal funktioniert. Allerdings nur für 16 LEDS.
Das Problem ist, dass ich den 3ten Port nicht mit eingebunden bekomme. Alle Versuche mit LONG, DATATABELLEN
auf 3 PORTs aufteilen und den ganzen IF trärää sind so dermaßen Fehlgeschlagen, dass ich nun mal einen kleinen Denkanstoß brauche.
Gibt es eigentlich irgend einen Befehl zwischen HIGH und LOW? Wäre ja einfach und auch super
Hier ist der Code für 16 Leds. Da das PRG schonmal funktioniert und mein erstes ist, ist es erstmal ein guter Ausgangspunkt für mich.
Für einen Codeschnippsel wäre ich auch verdammt dankbar. Meiner Beziehung wegen.
GRUSS boingo
CodeBox BASCOM
Ich bin neu hier. Vorstellen mach ich später mal. Hab vor 2 Monaten mit Bascom, STK500 und einen Atmega16 angefangen.
Ursprünglich wollte ich mit dem Atmega16 die Weltherrschaft übernehmen, was ich aber aufgrund meiner Programmierkenntnisse
mit Sicherheit vergessen kann. Hab am Wochenende angefangen mal was eigenes in die Hand zu nehmen und bin mit meinem..naja..
dann doch Halbwissen vorerst am Ende. Vielleicht kann mir hier ja jemand mal weiter helfen.
Ich möchte gerne 24 Leds an PortB, PortC, PortD als quasi Bargraphanzeige betreiben. Pro Pin eine LED.
Jedem Einzelnen Pin sollte per (0-5V) ADC ein (CASE X TO Y) zugeortnet werden. Also 24 X (CASE X TO Y).
So das ich Problemlos durch ändern jeder CASE Zeile die Zuweisung der ADC Spannungen ändern kann.
Wobei bei 0V keine LED und bei 5V 24 Leds leuchten sollen.
Hab auch schon ein Progamm ge-klaut-schrieben, was fürs erste erstmal funktioniert. Allerdings nur für 16 LEDS.
Das Problem ist, dass ich den 3ten Port nicht mit eingebunden bekomme. Alle Versuche mit LONG, DATATABELLEN
auf 3 PORTs aufteilen und den ganzen IF trärää sind so dermaßen Fehlgeschlagen, dass ich nun mal einen kleinen Denkanstoß brauche.
Gibt es eigentlich irgend einen Befehl zwischen HIGH und LOW? Wäre ja einfach und auch super
Hier ist der Code für 16 Leds. Da das PRG schonmal funktioniert und mein erstes ist, ist es erstmal ein guter Ausgangspunkt für mich.
Für einen Codeschnippsel wäre ich auch verdammt dankbar. Meiner Beziehung wegen.
GRUSS boingo
CodeBox BASCOM
$regfile = "m16def.dat"
$crystal = 1000000
'$hwstack = x
'$swstack = x
'$framesize = x
Config Portd = &B11111111
Config Portb = &B11111111
'Config Portc = &B11111111
Config Adc = Single , Prescaler = Auto
Start Adc
Dim Vin As Byte
Dim Adc_sample As Word
Dim Mind As Word
Dim Led_portd As Byte
Dim Led_portb As Byte
Do
' Waitms 10
Adc_teilungen:
Adc_sample = Getadc(0)
Select Case Adc_sample
Case 000 To 050 : Vin = 0
Case 051 To 070 : Vin = 1
Case 071 To 100 : Vin = 2
Case 101 To 150 : Vin = 3
Case 151 To 200 : Vin = 4
Case 201 To 250 : Vin = 5
Case 251 To 300 : Vin = 6
Case 301 To 350 : Vin = 7
Case 351 To 400 : Vin = 8
Case 401 To 450 : Vin = 9
Case 451 To 500 : Vin = 10
Case 501 To 550 : Vin = 11
Case 551 To 600 : Vin = 12
Case 601 To 630 : Vin = 13
Case 631 To 660 : Vin = 14
Case 661 To 690 : Vin = 15
Case Is > 961 : Vin = 16
' Case 721 To 750 : Vin = 17
' Case 751 To 770 : Vin = 18
' Case 771 To 800 : Vin = 19
' Case 801 To 830 : Vin = 20
' Case 831 To 860 : Vin = 21
' Case 861 To 890 : Vin = 22
' Case 891 To 1023 : Vin = 23
End Select
'------------------------------------------------------------
Led_portd = High(mind)
Mind = Lookup(vin , Vin_table)
Led_portd = Led_portd And High(mind)
Led_portb = Low(mind)
Mind = Lookup(vin , Vin_table)
Led_portb = Led_portb And Low(mind)
Portd = Led_portd
Portb = Led_portb
'------------------------------------------------------------
Loop
End
Vin_table:
Data &B0000000000000000%
Data &B0000000000000001% '0
Data &B0000000000000011% '1
Data &B0000000000000111% '2
Data &B0000000000001111% '3
Data &B0000000000011111% '4
Data &B0000000000111111% '5
Data &B0000000001111111% '6
Data &B0000000011111111% '7
Data &B0000000111111111% '8
Data &B0000001111111111% '9
Data &B0000011111111111% '10
Data &B0000111111111111% '11
Data &B0001111111111111% '12
Data &B0011111111111111% '13
Data &B0111111111111111% '14
Data &B1111111111111111% '15