pic porta og porte problem

S

seyyah

Guest
BSF STATUS, RP0; BANK1

MOVLW B'00000110 '
MOVWF ADCON1

CLRF TRISE

BCF STATUS, RP0; BANK0BSF PORTE, 0
BSF PORTE, 1
BSF PORTE, 2Når jeg bruger porta og porte som digitale I / O, jeg kan ikke bruge BSF og BCF med disse havne som andre havne.I ovenstående kode.Kun porte [2] er fortsat 1, og andre er 0.For som smule jeg bruger BSF, at bit er sat til 1, og andre er sat til 0.Jeg kunne ikke løst dette.Dette porblem er kun med porta og porte.Jeg prøvede portb, det er ok.Gør jeg noget forkert?

 
ALLE Digital Outputs PORTS A & E

BCF STATUS, rp1; CLEAR BANK 2 / 3
BSF STATUS, RP0; SET Bank 1 BITS
MOVLW b'00000111 '; havne, digitale funktioner HAVNE PINS
MOVWF ADCON1; LAD DET TIL ADCON1
CLRF TRISA; ALLE PORTA FOR ALLE UDGANGE
CLRF TRISE; ALL PORTE SET ALLE UDGANGE
BCF STATUS, RP0; RESET til bank 0
CLRW; rydde opDIGITAL alle udgange UNDTAGEN E0 FRIVILLIG I / O-PIN ON E

BCF STATUS, rp1; CLEAR BANK 2 / 3
BSF STATUS, RP0; SET Bank 1 BITS
MOVLW b'00000111 '; havne, digitale funktioner HAVNE PINS
MOVWF ADCON1; LAD DET TIL ADCON1
CLRF TRISA; ALLE PORTA FOR ALLE UDGANGE
CLRW; CLEAR W REGISTRER
MOVLW b'11111110 '; I STEDET FOR CLRF TRISE DU KAN
MOVWF TRISE; her for at sætte en PIN-kode for eksempel som et I / O
/ / CLRF TRISE; ALL PORTE SET ALLE UDGANGE
BCF STATUS, RP0; RESET til bank 0
CLRW; rydde op
ELLER

FOR ALLE DIGITALE INDGANGE havn A og E

BCF STATUS, rp1; CLEAR BANK 2 / 3
BSF STATUS, RP0; SET Bank 1 BITS
MOVLW b'00000111 '; havne, digitale funktioner HAVNE PINS
MOVWF ADCON1; LAD DET TIL ADCON1 REGISTRER
MOVLW b'00111111 '; SET ALLE BEN BEGGE PORT TIL INPUT
MOVWF TRISA; ALLE PORTA FOR ALLE UDGANGE
MOVWF TRISE; ALL PORTE SET ALLE UDGANGE
BCF STATUS, RP0; RESET til bank 0
CLRW; rydde op

TRIS E vil ignorere den BITS 3 til 7 DENNE MÅDE

http://www.epemag.wimborne.co.uk/pictutorial.pdf
Første par sider ER DEN BEDSTE
REST er hans egen COMPILER du muligvis er nødt til at tænke grundigt HVIS DU VIL BIT SET PORT E, mens du bruger Port A som analogt men det er alt nemt at

ENDELIGT LÆS denne gode tekster nu
http://www.microchip.com/download/lit/suppdoc/refernce/midrange/33023a.pdf<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Meget glad" border="0" />
 
OK, jeg har gjort det samme, som du siger.
BSF porte, 0 gør porte [0] = 1 efter dette, når denne kode kommer
BSF porte, 1 port [1] skal være 1 og porte [0] musn't forandring og ophold 1.
Men den skifter til nul.
Jeg tror, dette er en fejl.Dette bliver i isis både de gamle versioner og nye versioner.MPLAB 6,30 giver forskelligt resultat, og virker som forventet.
Jeg vil prøve det med virkelige pic også.

 
I reelle det fungerer uden problemer.Men i isis det ikke.Er dette en fejl eller er der noget andet?

 
Synes du bruger PIC med ADC.Som standard ADC er tændt og alle analoge ben er input.Klar adon smule i ADCON0 register.

 
Det ændrede ikke noget.Den samme kode virker i det virkelige, virker det ikke i isis korrekt.

 
slettet af abe
Senest redigeret af sick_man på September 14, 2003 2:56, rettet 1 gang i alt

 
og well done ....!!

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Meget glad" border="0" />

en meget ubehagelig bug for me too
Senest redigeret af sick_man på September 14, 2003 2:56, rettet 1 gang i alt

 
slettet af abe
Senest redigeret af sick_man på September 14, 2003 2:56, rettet 1 gang i alt

 
ahhaaaa
ser det ud til mange mange bugs i isis model for pic 877

her er et eksempel kode
at inits hver havn som et output eller som et I / O vælger ved

men kun inits og sæt til nul

selv med pause punkt sæt
gør det du ville forvente, at simulatoren til at stoppe i initalised tilstand

men simulatoren skal have til exec den dll rutine og init er en del af det
så når simulatoren stopper efter init
det plejer have afsluttet register indføre fuldt

så det er en fejl i apps symantics eller i sine rutiner placmentsHvis du bruger denne hexadecimal kode i pic simulator ide det indeholder alle de havne, men efterlader alle på nul i ikke sim tilstand (a nice touch) denne måde kan du hurtigt få et init korrekt, da det er alle Infront af dig

så måske bruge både er vejen til arbejde
Rollon en service pak

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Kølig" border="0" />Senest redigeret af sick_man den 14 september 2003 3:22; redigeret 4 gange i alt

 
længere

en test med pic simulator ide
bekræfter, at alle havne rapport som udgange med ovenstående hex filer

så det er indsnævret til den model

måske den ældre model dosnt har disse grænser
kig efter pic87x.dll fra en ældre version, kan du imidlertid bemærkes, at det gjorde ikke arbejde også (præ sp6 v5.2) (Jeg fandt det ikke at arbejde med en version af det lite med en nøgle, så det er ikke noget plaster eller andet ..andre end dette mit råd er at prøve pic simulator ide
sin heeps bedre langt om accuricy uden grænser
eller eventuelle problemer efter at have prøvet det fulde program med nøgler
det virker fint, og jeg købte det

så ...its a billigt pålideligt værktøj, der netop har bevist sit selvværd, der

 
hej

efter at skrive en smule sæt rutinemæssige (jeg har ondt i armen nu)
ser det ud til alle havnens pins arbejde, men først efter 1 cyklus af koden

have et kig på denne port Blaster smule sæt rutine at strobe en slange rundt om processorer havne

det er faldet til 500 Hz uret for at se steppings

youll meddelelse også sjove ting er havnen A4 dosnt arbejde
men resten gør !!!!!i pic87xdll alligevel ....hvad en bommert fra labcenter .....
forkerte simulator symantics og ingen RA4 smule sæt funktioner

måske nogen kan udarbejde nogle mere cyklisk test for andre intervaller
have et kig

du har simpelthen brug for måske til at omplacere de breakpoint korrekt
at give mulighed for init cykler

Jeg bekræftede denne operationer i pic simulator ide
og igen i denne app det fungerede som forventet, og bits sæt hver enkelt bitJeg har tilføjet yderligere forsøg (alle arbejder ok huske i pic simulator ide)
for resten af 16F87X serier i isis
alle rapport pin RA4 uden for rækkevidde (ikke itterating det)
så det kunne være itfmodel at kontrollere
Jeg har tilføjet en logik analysator og kontrolleret havnen
det ser ud som om der er en produktion, men det er 1 10. i cyklus
impulsbredde så dosnt udløse itfmodel korrekt

ser nærmere på det indså jeg, at starten breakpoint, når du trykker på pause for at starte sim
vil fuldføre en cyklus
Dette forklarer, hvorfor e0 havn pin overflow det vil være noget at gøre med det første gennemløb, før en pause, og hvor breakpoint er
Jeg vil prøve at flytte det ind lige efter init
at se, hvad der sker, selv om
I didnt alos indstille en org hukommelse vecter
men jeg dont mene det er for vigtigt
Beklager, men du skal logge ind for at se denne vedhæftede fil

 
Hmm.Når jeg tilføjet pull-up modstande til havnene, begyndte det at arbejde ordentligt.

 
hum

de Arent nessisary og infact det er den forkerte begivenhed data

da den starter og indlæser den init
Jeg har bekræftet, at dette er tilfældet
på en reel mikro 877 type også, og som forventet den kører fint
bare en init giver ryddet registrerer alle lav som forventet

også på picsimulator ide, og det fungerer som pr chippen

så ..hvis dette kureret problemet for dig

well done

men har du port E0?og havn pin A4?

helbredes ved denne metode?eller måske begge dele?
så modellen mangler havn pullups på disse stifter Jeg synes, det er mere som et par pin retning udsagn mangler eller er forkert placeret i kilderne

 
Jeg skrev den kilde i mit første indlæg.RA4 ikke anvendes.Porte bruges helt her.Hvis der var en fejl, var det ikke arbejde i real.I mit egentlige arbejde jeg bruge nogle af de Porta bits og alle de porte som bit digitalt output.At teste, kørte jeg 3 LED'er fra Porte ben.Alle lysdioder er serie modstande.I dette arrangement det din't arbejde ordentligt.Når jeg tilføjer pullup modstande i serie med lysdioder det fungerede perfekt.

 
HVIS BRUG PORTA Y PORTE WHO PORT DIGITAL CONFIG:
TRISA = INPUT o OUTPUT;
TRISE = INPUT o OUTPUT:
ADCON0 = 0b00000110;HVIS BRUG PORTA Y PORTE WHO PORT ANALOG CONFIG:
TRISA = input;
TRISE = INPUT:
ADCON0 = 0b10000000;

 
Ok vi kender det.Og hvis man ser på tidligere indlæg vi gjorde sådan.Problemet er ikke, at.Af den måde, vi bruger ikke adcon0, bruger vi adcon1.

 

Welcome to EDABoard.com

Sponsor

Back
Top