[ MILANAN @ 08.12.2022. 19:26 ] @
Pozdrav svima.Zatrebala mi je nabrzinu neka PWM regulacija za neki grejac i da negubim vreme nabrzinu sam nesto skinuo sa interneta,sve to lepo radi ali malo me je zainteresovao taj program sto sam skinuo jer neke stvari nekapiram pa da zamolim za neko krace objasnjenje
Postavicu ceo program pa ovaj deo izmedju linija

define osc 4
PORTA=0:portb=0
TRISB=%00111111
TRISA=%00000000


ON INTERRUPT GoTo KESME 'kesme oluþursa KESME adlý etikete git.
OPTION_REG=%00001000 'Pull up dirençleri ÝPTAL- Bölme oraný 1/1
INTCON=%10100000 'Kesmeler aktif ve TMR0 kesmesi aktif

CMCON=7 '16F628 de komparatör pinleri iptal hepsi giriþ çýkýþ

R var byte

RH VAR BYTE

RL VAR BYTE

I VAR BYTE


CLEAR
'PAUSE 200
TMR0=243
R=50

RH=r:RL=100-rH

PORTA=%00000111


BASLA:
IF PORTB.0=0 THEN
R=R+1:IF R=100 THEN R=99
GOSUB DELAY
ENDIF
IF PORTB.1=0 THEN
R=R-1:IF R=0 THEN R=1
GOSUB DELAY
ENDIF

GOTO BASLA

DELAY:
FOR I=0 TO 255:NEXT
FOR I=0 TO 255:NEXT
FOR I=0 TO 255:NEXT
FOR I=0 TO 255:NEXT
FOR I=0 TO 255:NEXT
RETURN

DISABLE
KESME:



------------- ovaj deo ovde--------------------

IF PORTA.0=1 THEN
RH=RH-1
IF RH=0 then
PORTA.0=1-PORTA.0 >>>>>>-------------------- OVO OVDE
RH=R
endif
ELSE
RL=RL-1
IF RL=0 THEN
PORTA.0=1-PORTA.0 >>>>>>-------------------- OVO OVDE
RL=100-Rh
ENDIF
ENDIF

--------------------------------------------


TMR0=243
INTCON.2=0
RESUME
ENABLE

END
[ chris6212 @ 08.12.2022. 22:21 ] @
Ovo bi trebalo da invertuje stanje pina 0 porta A. Kao kada bi u C-u pisalo PORT.0 ~= PORT.0
[ MILANAN @ 09.12.2022. 06:03 ] @
Prvi put vidim ovo i nikako nekapiram sta tadi taj deo.
[ Almedin @ 09.12.2022. 17:19 ] @
Taj dio provjerava u kom stanju je izlaz i da li je vrijeme da se prebaci na drugo stanje.
[ MILANAN @ 09.12.2022. 17:39 ] @
Sad bar imam neku pretstavu sta se tu dogadja pa cu valjda da ukapiram ceo taj deo.
Probao sam da nadjem bilo sta slicno na internetu sa nekim objasnjenjem ali nisam uspeo.
[ chris6212 @ 09.12.2022. 18:00 ] @
Pa nije ovo velika mustra, često se to radi, naročito ako nije C u pitanju.

Lako je invertovati stanje bita, može se to uraditi na više načina:
https://www.microchip.com/forums/m945043.aspx

Mašinski kod koji se dobija bi trebalo da je isti. Samo napomena da bi ovde trebalo možda da se koristi LATA a ne direktno PORTA, inače može da se zaglupi, ako se dobro sećam.

Evo pročitaj na primer ovo, u čemu je razlika izmedju LATA i PORTA:
https://www.microchip.com/forums/m332771.aspx
[ MILANAN @ 12.12.2022. 17:34 ] @
Hvala vam nsjlepse.Ja zbog obaveza pisem kad mogu.
Iako bas nekapiram ceo taj deo ali bar znam da je u pitanju invertovanje,na internetu nisam mogao da nadjem nijedan takav primer.