Sida 1 av 2
Nybörjarfråga 16F84A
Postat: 5 april 2008, 10:50:22
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?
Postat: 5 april 2008, 11:21:51
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. 
Postat: 5 april 2008, 12:33:58
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 ?
Postat: 5 april 2008, 17:41:36
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.
Postat: 5 april 2008, 18:04:17
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
Postat: 5 april 2008, 19:37:11
av björn
Jag har bara ett ord för det, Skrämmande...
Postat: 5 april 2008, 21:14:31
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 ^^
Postat: 5 april 2008, 21:18:44
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...
Postat: 5 april 2008, 21:41:57
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.
Postat: 5 april 2008, 22:01:43
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.
Postat: 5 april 2008, 22:33:46
av exile
"Men den är GAMMAL, DYR och äcklig ju....

"
Ja men det trodde jag alla PIC var

(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

Postat: 5 april 2008, 22:37:08
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

Postat: 5 april 2008, 22:44:39
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...
Postat: 5 april 2008, 22:55:26
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

.
Postat: 5 april 2008, 22:56:05
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...