Witam
Tworzę teraz taki mały programik do obsługi lampki z kilkoma diodami led, w której jasność świecenia regulowana jest pwm'em przez tranzystor buz11. W kodzie jest odniesienie do lcd bo na razie wszystko robię na płytce stykowej i chcę obserwować wartość pwm na wyświetlaczu.
No i chodzi o główną pętlę programu. A mianowicie o to że przyciski "+" i "-" zwiększają i zmniejszają wartość pwm'a ale jak np. wartość wynosi 255 i jeszcze raz nacisnę "+" to pwm = 0 i odwrtonie jak pwm = 0 a nacisnę "-" to pwm=255.
Chodzi mi o to żeby przy krańcowych wartościach (czyli 0 i 255) po naciśnięciu "+" lub "-" nic się nie działo albo żeby na którymś wolnym porcie procka pojawił się np. stan wysoki.
Proszę o pomoc w stworzeniu właściwej do w/w założeń pętli głównej programu bo przeczytałem w książce Marcina Wiązani wszystko o pętlach ale nadal nie potrafię zbudować takiej, w której w razie wystąpienia warunku (wartość graniczna) należy "nic nie robić" lub wykonać jakąś instrukcję.
Tworzę teraz taki mały programik do obsługi lampki z kilkoma diodami led, w której jasność świecenia regulowana jest pwm'em przez tranzystor buz11. W kodzie jest odniesienie do lcd bo na razie wszystko robię na płytce stykowej i chcę obserwować wartość pwm na wyświetlaczu.
'sterowanie pwm
$regfile = "m8def.dat" 'zadeklarowanie użytego procesora
$crystal = 8000000 'zadeklarowanie szybkości wewnętrznego kwarcu
Config Lcdmode = Port
Config Lcdbus = 4
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , Rs = Portd.5 , E = Portd.6
Config Portc = &B000000
Portc = &B110000
Config Portb.1 = 1
Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect
Dim I As Byte
Pwm1a = 2
Cls
Cursor Off
Lcd "rejestr PWM ="
For I = 2 To 250 'załaczenie diod na 100%
Incr Pwm1a
Waitms 3
Next
For I = 250 To 20 Step -1 'zjazd pwm do 20
Decr Pwm1a
Waitms 3
Next
Do
If Pinc.5 = 1 Then Incr Pwm1a
Waitms 3
If Pinc.4 = 1 Then Decr Pwm1a
Waitms 3
Locate 2 , 1
Lcd Pwm1a
Loop
End
No i chodzi o główną pętlę programu. A mianowicie o to że przyciski "+" i "-" zwiększają i zmniejszają wartość pwm'a ale jak np. wartość wynosi 255 i jeszcze raz nacisnę "+" to pwm = 0 i odwrtonie jak pwm = 0 a nacisnę "-" to pwm=255.
Chodzi mi o to żeby przy krańcowych wartościach (czyli 0 i 255) po naciśnięciu "+" lub "-" nic się nie działo albo żeby na którymś wolnym porcie procka pojawił się np. stan wysoki.
Proszę o pomoc w stworzeniu właściwej do w/w założeń pętli głównej programu bo przeczytałem w książce Marcina Wiązani wszystko o pętlach ale nadal nie potrafię zbudować takiej, w której w razie wystąpienia warunku (wartość graniczna) należy "nic nie robić" lub wykonać jakąś instrukcję.