Heeft iemand een goede en simpele methode voor een PWM progje (in asm niet jal!) dat een ledje helemaal aan en uit kan sturen, het liefst langzaam (voor RGB leds later) Met de onderstaande testroutine kan ik een dutycycle generen van 1 tot 254, echter brandt de led nog zwakjes met een DC (dutycycle)van 1 en is deze ook niet volledig aan (minder vel dan rechtstreeks aan de +5v) met een DC van 254, als ik de switches op 0 of 255 zet gaat het fout.
bv een dc van 255 wordt: 255 x led_on dan 255-255=0 >> decfsz temp = weer 255!!! dus ook weer 255 x led_off!!!
p.s. de jal voorbeeldjes (van de rgbfan) werken niet mooi omdat het fade-to-on efffect niet alleen bij hhet nieuwe ledje dat aan gaat wordt uitgevoerd maar ook bij de leds die al aan stonden. veroorzaakt een lelijk knipper effect
Mijn uiteindelijke doel is (voorlopig) een asm versie te maken van het jal RGBfan progje, dus een voor een 4 rgb-ledjes van alle kleuren te voorzien dus een led cycled doorr alle kleuren, blijft dan op een kleur staan en de volgende led doet hetzelfde totdat alle 4 leds geweest zijn en dan weer opnieuw.
;*************************************************
;test to determine dutycycle/led brightness
;active-low switches on PORT B0-7 via 10K to Vcc
;LED anode + 100ohm on port A0, LED kathode to GND
dutty equ 40h
temp equ 41h
;--- config ---
org 00h
bsf STATUS, RP0 ;switch to bank1
clrf TRISA ;porta as input
movlw h'ff' ;portb as output
movwf TRISB
bcf STATUS, RP0 ;switch to bank0
;--------------
pwm movf PORTB,w
movwf temp
comf temp ;ext-switches active-low, reverse
bsf PORTA,0 ;LED on a0
pwm_on nop
nop ;wait few cycles
decfsz temp
goto pwm_on
movlw h'ff' ;calc off dutycycle= 255 - (dutycycle on)
movwf temp
movf POTB,w
subwf temp,,f ;sub W from temp, rest. in temp
bcf PORTA,0 ;LED off a0
pwm_off nop
nop
decfsz temp
goto pwm_off
goto pwm
end
;*****************************************************
met dit progje moet de dutycycle dus 1-254 zijn ik wil juist 0-255 volledig uit tot aan kunnen regelen.
bv een dc van 255 wordt: 255 x led_on dan 255-255=0 >> decfsz temp = weer 255!!! dus ook weer 255 x led_off!!!
p.s. de jal voorbeeldjes (van de rgbfan) werken niet mooi omdat het fade-to-on efffect niet alleen bij hhet nieuwe ledje dat aan gaat wordt uitgevoerd maar ook bij de leds die al aan stonden. veroorzaakt een lelijk knipper effect
Mijn uiteindelijke doel is (voorlopig) een asm versie te maken van het jal RGBfan progje, dus een voor een 4 rgb-ledjes van alle kleuren te voorzien dus een led cycled doorr alle kleuren, blijft dan op een kleur staan en de volgende led doet hetzelfde totdat alle 4 leds geweest zijn en dan weer opnieuw.
;*************************************************
;test to determine dutycycle/led brightness
;active-low switches on PORT B0-7 via 10K to Vcc
;LED anode + 100ohm on port A0, LED kathode to GND
dutty equ 40h
temp equ 41h
;--- config ---
org 00h
bsf STATUS, RP0 ;switch to bank1
clrf TRISA ;porta as input
movlw h'ff' ;portb as output
movwf TRISB
bcf STATUS, RP0 ;switch to bank0
;--------------
pwm movf PORTB,w
movwf temp
comf temp ;ext-switches active-low, reverse
bsf PORTA,0 ;LED on a0
pwm_on nop
nop ;wait few cycles
decfsz temp
goto pwm_on
movlw h'ff' ;calc off dutycycle= 255 - (dutycycle on)
movwf temp
movf POTB,w
subwf temp,,f ;sub W from temp, rest. in temp
bcf PORTA,0 ;LED off a0
pwm_off nop
nop
decfsz temp
goto pwm_off
goto pwm
end
;*****************************************************
met dit progje moet de dutycycle dus 1-254 zijn ik wil juist 0-255 volledig uit tot aan kunnen regelen.



