Guest ALEX_OKAS Posted July 3, 2008 Share Posted July 3, 2008 am un proiect pt licenta care necesita implementarea unui sistem cu PIC 16f876. Toate au fost bune, ma rog dupa vreo 2 luni de munca, pana cand am ajuns la un lucru care credeam ca o sa fie extrem de simplu decizie pe baza bitului carry, din STATUS. problema este ca atunci cand am valoare "00001111" intr-un registru(STIR) sa intru in alt mod de functionare. testarea am facut-o adunand val reg cu "11110000", si atunci cand ajung la test mereu intra in cel de-al doilea mod de functionare.exista cumva vreo setare mai speciala pt reg STATUS. secventa de cod este urmatoarea: BCF STATUS,0 MOVF PORTB,0 ; CITESTE IR ANDLW B'00001111' ; pastrez doar bitii care ma intereseaza ai portb MOVWF STIR ; STAREA LEDURILOR IN STIR COMF STIR,F MOVLW B'11110000' ADDWF STIR,0 BTFSC STATUS,0 CALL MOD2 daca are cineva vreo idee.... Link to comment
Elef Posted July 4, 2008 Share Posted July 4, 2008 Testarea cred ca o faci cel mai bine movlw b'00001111'xorwf STIR,Wbtfss(btfsc) STATUS,Z......Adunarea aia cred ca iti da 11111111 si nu prea vad de ce ti-ar seta bitul de CARRY..... Link to comment
Abram Burel Posted July 4, 2008 Share Posted July 4, 2008 Pai, de ce te miri... Cand ai facut COMF, automat ai in STIR 1111xxxx, iar cand il aduni la 11110000 vei avea intotdeauna depasire, deci C=1 deci intri in MOD2. Link to comment
Guest ALEX_OKAS Posted July 4, 2008 Share Posted July 4, 2008 intradevar dupa ce inversam registrul aveam 1111xxxx, si normal adunarea se facea cu acest registru. am rezolvat-o si merge perfect. varianta finala e: MOVF PORTB,0 ; CITESTE IR ANDLW B'00001111' MOVWF STIR ; STAREA LEDURILOR IN STIR COMF STIR,F MOVLW B'00001111' ANDWF STIR,F BCF STATUS,0 MOVLW B'11110001' ADDWF STIR,F BTFSC STATUS,0nu pot decat sa va multumesc!! si sa-mi tineti pumnii la licenta. pe 10 dau :supz: Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now