Nybörjarfråga 16F84A

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
mpg
Inlägg: 1
Blev medlem: 5 april 2008, 10:23:43
Ort: östersund

Nybörjarfråga 16F84A

Inlägg av mpg »

Hej allihop

Håller på att lära mig och får det förståss inte att fungera.
Jag föröker sätta alla pinnar på en 16F84A till utgångar.
Följer det som står i databladet vilket är följande

Kod: Markera allt

rad
43	bcf	STATUS, RP0
44	clrf	PORTA
45	bsf	STATUS, RP0
46	movlw	0x00
47	movwf	TRISA
48
49	bcf	STATUS, RP0
50	clrf	PORTB
51	bsf	STATUS, RP0
52	movlw	0x00
53	movwf	TRISB
Detta är vad jag får av MPLAB när jag 'bygger' koden.

Message[302] C:\xxxx 47 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] C:\xxxx 53 : Register in operand not in bank 0. Ensure that bank bits are correct.

Vad jag kan förstå så sätts inte bank 1 i rad 45,51.

Eller vad är det jag missar eller inte förstår?
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 7487
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Inlägg av Marta »

Välkommen till forumet!

Det är troligen bara varningsmeddelanden Du får och de kommer troligen för att Du använder explicit hantering av bitarna i statusregistret istället för kommandot "banksel".

Detta är ett kommando som man kan stoppa in där det behövsoch som automatiskt ätter rätt bitar för rätt minnesbank. Samtidigt "vet" DÅ MPLAB att detta är gjort och kommer inte att varna.

Edit: Ber om ursäkt för att ha spridit desinformation. De gånger jag använt MPLAB har koden haft banksel när den varit tyst och explicita bitar när den kräkt upp dessa meddelanden. Farligt med empiriska slutsatser.... Ber så mycket om ursäkt. :oops:
Senast redigerad av Marta 5 april 2008, 17:32:47, redigerad totalt 2 gånger.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Det är troligen bara varningsmeddelanden

Stämmer. Det är bara en varning/påminnelse att bankerna måste vara rätt satta.

> och de kommer troligen för att Du använder explicit hantering av bitarna i statusregistret istället för kommandot "banksel".

Fel. Det spelar ingen som helst roll vad man gör i koden. Varningen kommer
i alla fall. Den kan stängas av med ett "errorlevel" direktiv. Kolla manualen.
Sen är det naturligtsvis alltid bättre att använda BANKSEL istället för att
fippla med bank-bitarna direkt. Ger mycket mindre risk för buggar.

> Eller vad är det jag missar eller inte förstår?

Antagligen brist på RTFM... Eller hur ?

Och med det sagt...

Nybörjare på 16F84A ?? Det var *väldigt* många år sedan den kretsen
var aktuell för nybörjare... :-)
Har du någon väldigt speciell anledning att använda en helt stendöd modell ?
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 7487
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Inlägg av Marta »

Har du någon väldigt speciell anledning att använda en helt stendöd modell ?

Anledningen att så många halkar in på något fossil istället för att välja en 628 eller liknande kan troligen vara Google. En sökning på "pic programming" kräker upp en hel drös med länkar till 84 och även till OTP-varianter av olika slag... Detta junk är dessutom det som kommer först i listan. Därför tittar alla på dem först och bläddrar inte vidare. Därmed får de ännu fler "poäng" och befäster sin placering. Det är i varje fall min teori.
SmourF
Inlägg: 268
Blev medlem: 13 april 2004, 15:33:58
Ort: Jönköping
Kontakt:

Inlägg av SmourF »

eftersom alla undrar, läser (har läst precis) PIC och vi använde just 16F84A i utvecklingssyfte, dvs hur picarna e uppbyggda sedan används andra versioner som 877A, men de används än ida i skolan så e de ;)

hade gott

MVH
Användarvisningsbild
björn
EF Sponsor
Inlägg: 2570
Blev medlem: 29 mars 2004, 23:09:55

Inlägg av björn »

Jag har bara ett ord för det, Skrämmande...
Användarvisningsbild
exile
EF Sponsor
Inlägg: 496
Blev medlem: 21 oktober 2005, 23:32:07

Inlägg av exile »

Varför de har valt PIC16F84 är nog för att den har minimalt med "Peripheral" och ett "minimalt" datablad (typ 88 sidor jämfört med 16F628A som har 178 sidor)

Detta gör att man kan ganska snabbt gå i genom hela processorn och lära sig att hitta i databladet, vilket gör att man lär sig hur databladet uppbyggnad vilket under lätta när man ska läsa databladet för en annan PIC.

Avsaknaden av "Peripheral" har en annan för del nämligen att gör det meningsfullt att skriva en mjukvara uart, vilket är en lämplig övning av hanteringen av bita och timening...

Jag skulle nog påstå att den är en bra nybörjare uC, som ger en snabb inblick till PIC.

Dock är den ingen hit att ha i "projekt" eller konstruktion... men som lär dej PIC så är den bra men inget annat.

Det är min åsikt ^^
probe
Inlägg: 282
Blev medlem: 2 februari 2008, 21:04:26
Ort: Stockholm

Inlägg av probe »

Lär sig bilmekaniker att mecka med en 1968 amazon också?

Personligen tycker jag att det är lite dumt att använda gamla 84an, 628 är inte purung heller, det finns bättre kretsar idag onekligen...
Användarvisningsbild
exile
EF Sponsor
Inlägg: 496
Blev medlem: 21 oktober 2005, 23:32:07

Inlägg av exile »

Nja, bil mekaniker får oftast lära sig grunden med hjälp av "förenklade" modeller innan de börja skruva på riktigt....

Så jag ser inte riktigt din poäng, det skulle vara som om ekonomer inte skulle behöva lära sig manuell bokföring utan hoppa på "dator stöd" bokföring direkt, eller som konstruktör inte lär sig räkna manuellt på hållfasthet utan att använda datorn direkt utan kunna tyda resultatet på rätt sätt.

För det är få som inte använder någon typ av "dator stöd" för bokföring och hållfasthet beräkningar i arbetet.
probe
Inlägg: 282
Blev medlem: 2 februari 2008, 21:04:26
Ort: Stockholm

Inlägg av probe »

Men den är GAMMAL, DYR och äcklig ju.... ;)

Dessutom är gamla 12-bitars instruktionssetet föråldrat, väljer man någon med 14-bitar setet så är alla SFR mappade utan märkliga kommandon.
Användarvisningsbild
exile
EF Sponsor
Inlägg: 496
Blev medlem: 21 oktober 2005, 23:32:07

Inlägg av exile »

"Men den är GAMMAL, DYR och äcklig ju.... :wink:"
Ja men det trodde jag alla PIC var :wacko: (ett skämt om det var någon som inte förstod det, visserligen dåligt men jag kunde inte låta bli det)

Och 16F84 är en 14bitars PIC :wink:
BMI
Gått bort
Inlägg: 496
Blev medlem: 31 juli 2006, 22:29:08
Ort: Halmstad

Inlägg av BMI »

F84 får mycket oförtjänt skit för att vara gammal. Skriver man små program i ASM för att lära sig,,, tycker jag den är perfekt.
Ju äldre desto mer erfarenhet = mer info på google.
Har man sedan F84 liggande i bra O ha lådan finns ingen anledninga att beställa hem 628 el 648 för att lära sig instruktionsetet. Så länge picen gör ,eller klarar göra vad man vill göra "uppnå" räcker den ju till.

Är det fråga om nyproduktion av en produkt pratar vi helt andra saker.

Sen tycker jag att är det bra om man inte har obegränsat med minne för att skriva program , det pressar programmeraren lite till att optimera koden.

Jag tycker att det vore kul om man får växa ur en pic modell innan man man kastar sig in i en större modell, språket är ju i grunden det samma bara mer att tänka på vad det gäller register o annat.

Hade det varit valet mellan processor "OTP,Fönster eller Flash" hade det varit något annat

Snart har vi inga som kan skruva i en Amazon .Dagens bilmekaniker vill ju ha en PC i stället för en verktygslåda
:D
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 7487
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Inlägg av Marta »

F84 är och förblir ett fossil.

Den saknar INTOSC, en jättenackdel i de flesta fall.

Den har bara en enda och mycket primitiv timer.

Den har en tiopotens sämre "flash endurance", ingen bra egenskap för någon som håller på att lära sig. Fast kanske en bra träning inför J-varianterna...
BMI
Gått bort
Inlägg: 496
Blev medlem: 31 juli 2006, 22:29:08
Ort: Halmstad

Inlägg av BMI »

<"Den har en tiopotens sämre "flash endurance", ingen bra egenskap för någon som håller på att lära sig."

Är det många som flashat sönder sina F84 ?. Då löser sig ju "problemet" av sig själv så att säga :) .
Användarvisningsbild
exile
EF Sponsor
Inlägg: 496
Blev medlem: 21 oktober 2005, 23:32:07

Inlägg av exile »

Jag har en lite fråga angående "flash endurance".
Hur många har programmerat sönder PIC/AVR/mm genom att skriva för många gånger till den?

Jag menar om man programera om den med 2 minuter mellan rum i 8timmar per dag så håller den i ~41,5 dag, jag tycker att det är mycket men jag kan ha fel...
Skriv svar