Vizitator vlad iulian Postat Octombrie 21, 2013 Partajează Postat Octombrie 21, 2013 salutarevreau si eu sa aprind un led si apoi sa il sting k ajutorul unui PIC16F876A si nu prea stiu cum sa fac: mam blocat aici #include ”p16f876a.inc”radix dec errorlevel 1, -305ORG 0CLRF PCLATHGOTO MainORG 4Main:BANKSEL TRISB ;se selectează bankul în care se află TRISBMOVF TRISB,w ;starea biţilor din TRISB se transferă în registrul wANDLW 0XEE ;se utilizează instrucţiunea ANDLW pentru a pune doar biţii 0 şi 4 din TRISB pe 0 logic (ei devenind pini de ieşire)ANDWF TRISB ;rezultatul operaţiei este transferat în TRISBBANKSEL PORTB ;se selectează bankul în care se află PORTBRep: ;se realizează o buclă infinităBSF PORTB,4 ;se aprinde ledul 2BCF PORTB,4 ;se stinge ledul 2GOTO Rep ;se repetă instrucţiunile END Link spre comentariu
sofian Postat Octombrie 21, 2013 Partajează Postat Octombrie 21, 2013 uite aici viewtopic.php?f=11&t=26831un exemplu care merge si pe PIC16F876a Link spre comentariu
Vizitator vlad iulian Postat Octombrie 21, 2013 Partajează Postat Octombrie 21, 2013 Start BCF STATUS, RP0 ; BCF STATUS, RP1 ;Bank0 CLRF PORTB ; Initializeaza PORTB BSF STATUS RP0 ; Selecteaza Bank 1 in care se afla TRISB MOVLW 0x00 MOVWF TRISB ; TRISA=0 deci portul este de iesire MAIN: MOVLW 0x10 ; 0x10 = 0b00010001 MOVWF PORTB ; Aprinde ledurile B0 si B4 NOP ;Delay NOP ;Delay NOP ;Delay NOP ;Delay CLRF PORTB ; stinge ledurileNOP ;DelayNOP ;DelayNOP ;Delay NOP ;Delay goto MAIN am reusit cu programul asta, cred ca merge si atunci cand il voi implementa pe pic Link spre comentariu
Liviu M Postat Octombrie 22, 2013 Partajează Postat Octombrie 22, 2013 Recomandare: cand postezi cod, foloseste tagurile Code ([ code] [ /code] - vezi butonul Code in bara de optiuni) ca sa se pastreze formatarea. MOVLW 0x10 ; 0x10 = 0b00010001 MOVWF PORTB ; Aprinde ledurile B0 si B4 Cu codul de mai sus aprinzi doar B4 (0x10 = 0b00010000). Daca vrei sa aprinzi B0 si B4 foloseste 0x11. Link spre comentariu
Mircea Postat Octombrie 22, 2013 Partajează Postat Octombrie 22, 2013 MOVLW 0x10 ; 0x10 = 0b00010001 MOVWF PORTB ; Aprinde ledurile B0 si B4 NOP ;Delay NOP ;Delay NOP ;Delay NOP ;Delay CLRF PORTB ; stinge ledurileNOP ;DelayNOP ;DelayNOP ;Delay NOP ;Delay goto MAIN am reusit cu programul asta, cred ca merge si atunci cand il voi implementa pe picTu crezi ca ai sa vezi niste leduri "clipocind" la frecventa aia? Pai 4xNOP sunt cateva microsecunde (nu stiu ce frecventa ai ales la PIC).Daca insisti pe ASM, citeste asta mai intai: http://www.gooligum.com.au/tut_baseline.html Tutorialul #2 face exact ce vrei tu.Altfel, eu te-as sfatui sa folosesti compilatorele Mikroelektronika. In ce limbaj vrei tu. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum