Hjælp mig med PIC 16F628A programmør i MPLAB

N

nipun

Guest
Jeg har for nylig bygget en programmør for 16f628a og det arbejder fine.ia newbie.in MPLAB, da jeg skrev følgende kode movlw 0x00 movwf TRISB i simulering TRISB viser 0xFF og PORTB er konfigureret som input. men da jeg skrev følgende kode movlw 0x00 tris PORTB i simulering PORTB er indstillet som output, men samtidig gøre MPLAB giver en advarsel om, at denne kommando ikke er advisable.why denne opfører sig som this.should jeg bruge tris og ignorere advarslen.
 
Læs datablad, paticularly de dele om bredden af ​​registre og bits i status registrerer dette sæt, som banken adgang til instruktioner som movwf.
 
TRIS er en ældre instruktion, der anvendes til at skrive indholdet af W til tristx registre. Imidlertid er det blevet fjernet fra nyere processoren. Årsagerne er, at det gjorde nøjagtig det samme som movwf, så det gav mening at bruge den samme instruktion, og for det andet, med tilføjelse af et par mere vejledning (ADDLW, RETFIE og RETURN, tror jeg), blev instruktionssæt få større og måske der var kodning spørgsmål. Så du skal ikke bruge TRIS, hvis det ikke er i dataarket i den del, du bruger. Den omstændighed, at trisx registeret ikke bliver påvirket betyder, at du ikke skriver til den. Kontroller, at du vælger den rigtige RAM banken, ved enten at fastsætte RP bits i status registrerer korrekt, før movwf trisx, eller ved at bruge BANKSEL TRISx. Dette vil automatisk generere den korrekte BSF / BCF STATUS, RPX instruktion vælge den korrekte banken og peger på den ønskede register. Glem ikke at vende tilbage til den bank, du var i
 
prøve: BSF STATUS, Rp0; Bank 1 clrf TRISB; alle porte output output BCF STATUS, Rp0, Bank 0 eller: BSF STATUS, Rp0; Bank 1 movlw 0x00; alle porte output output movwf TRISB BCF STATUS, Rp0; Bank 0
 

Welcome to EDABoard.com

Sponsor

Back
Top