vielen dank für eure hilfe ,
Mir fehlt es nur , wie ich das anstelle damit das maximal wert gespeichert bleibt für ein paar sekunden , ich benutze ein atmega 32 und kein 16 hatte mich vertippt.
Bin von beruf Betriebselektriker also kein profiprogramierer,ich mache hobbiemässig meine erste versuche mit Bascom![]()
bin für jeden tip dankbar
hab der code ein bischen aufgeräumt
Code:$regfile = "m32def.dat" $crystal = 16000000 $hwstack = 32 $swstack = 10 $framesize = 40 Config Portc = Output Config Portd = Output Config Portb = Output Config Porta.0 = Input Dim Led_pos As Word Dim Bar_pattern As Word Dim T1 As Word Const Led_max = 16 Const T1_fs = 325 Const T1_step = 16 Config Adc = Single , Prescaler = Auto , Reference = Internal Start Adc Do If Led_pos >= 15 Then Led_pos = 15 End If If Led_pos <= 0 Then Led_pos = 0 End If Bar_pattern = Lookup(led_pos , Bar_mode) Portd.7 = Bar_pattern.15 Portd.6 = Bar_pattern.14 Portd.5 = Bar_pattern.13 Portd.4 = Bar_pattern.12 Portd.3 = Bar_pattern.11 Portd.2 = Bar_pattern.10 Portd.1 = Bar_pattern.9 Portd.0 = Bar_pattern.8 Portc.0 = Bar_pattern.7 Portc.1 = Bar_pattern.6 Portc.2 = Bar_pattern.5 Portc.3 = Bar_pattern.4 Portc.4 = Bar_pattern.3 Portc.5 = Bar_pattern.2 Portc.6 = Bar_pattern.1 Portc.7 = Bar_pattern.0 T1 = Getadc(0) - 90 Led_pos = T1_fs - T1 Led_pos = Led_pos \ T1_step Loop Return Bar_mode: Data &B1111111111111111% Data &B1111111111111110% Data &B1111111111111100% Data &B1111111111111000% Data &B1111111111110000% Data &B1111111111100000% Data &B1111111111000000% Data &B1111111110000000% Data &B1111111100000000% Data &B1111111000000000% Data &B1111110000000000% Data &B1111100000000000% Data &B1111000000000000% Data &B1110000000000000% Data &B1100000000000000% Data &B0000000000000000%







Zitieren

Lesezeichen