Nybörjarfråga om OSCCAL och andra register.
Jag har aldrig använt 10F, men jag tror att du skulle lyckas bättre om du använder en 12F istället. Med tanke på att du har 16F-kod, alltså. Alternativet är att du går igenom 16F-koden, rad för rad, och läser 10F-databladet och skriver om koden efter att ha dubbelläst informationen i databladet.
Senare kretsar är oftast bakåtkompatibla med tidigare, men det motsatta tvivlar jag på att det gäller. Jag vågar därför gissa att det är detta som är felet. Om du hade kört 10F-kod på en 16F så hade det nog fungerat.
Fast sodjan eller de andra har nog ett bättre svar åt dig, för 90% av allt ovan är alltså gissningar då jag inte har använt 10F nångång.
Finns det någon särskild anledning till att du vill använda 10F, eller är det för att du råkade ha en hemma?
Senare kretsar är oftast bakåtkompatibla med tidigare, men det motsatta tvivlar jag på att det gäller. Jag vågar därför gissa att det är detta som är felet. Om du hade kört 10F-kod på en 16F så hade det nog fungerat.
Fast sodjan eller de andra har nog ett bättre svar åt dig, för 90% av allt ovan är alltså gissningar då jag inte har använt 10F nångång.
Finns det någon särskild anledning till att du vill använda 10F, eller är det för att du råkade ha en hemma?
OK, så här är det... 
10F är ingen bra start-modell. Den är klart "trixig" både hårdvarumässigt
(få pinnar, dela funktion med programmering o.s.v) och programmeringsmässigt.
10F använden den gamla "base-line" syntaxen som användes i äldre
PICs. De nyare 12F och 16F använder "midrage" syntax. Detta ställer
en del andra krav på själva asm-koden som man inte har för 12F/16F.
Men, om du har koll på detta, så är det naturligtsvis bara att köra på...
Varför du inte kan flasha just nu, vet jag inte.
Vi vet ju inte ens hur du har kopplat, så du får felsöka själv, antar jag.
> Om du hade kört 10F-kod på en 16F så hade det nog fungerat.
Nej, inte rakt av. Det är för stora skillnader mellan "base-line" och "midrange".
> Finns det någon särskild anledning till att du vill använda 10F,
Det är också en central fråga i det hela...

10F är ingen bra start-modell. Den är klart "trixig" både hårdvarumässigt
(få pinnar, dela funktion med programmering o.s.v) och programmeringsmässigt.
10F använden den gamla "base-line" syntaxen som användes i äldre
PICs. De nyare 12F och 16F använder "midrage" syntax. Detta ställer
en del andra krav på själva asm-koden som man inte har för 12F/16F.
Men, om du har koll på detta, så är det naturligtsvis bara att köra på...

Varför du inte kan flasha just nu, vet jag inte.
Vi vet ju inte ens hur du har kopplat, så du får felsöka själv, antar jag.
> Om du hade kört 10F-kod på en 16F så hade det nog fungerat.
Nej, inte rakt av. Det är för stora skillnader mellan "base-line" och "midrange".
> Finns det någon särskild anledning till att du vill använda 10F,
Det är också en central fråga i det hela...

Okej, då har jag lite mer koll på vadför det kan krångla! Anledningen till att jag vill använda 10f-serien är pga dess storlek. I det prototypbygget vi håller på är platsytan väldigt begränsad. 10f, finns som ytmonterad med 6bens-kappsel, vilken som skulle vara perfekt.
Men som det ser ut nu kommer jag skaffa mig en PIC i tolvserien istället, och hoppas att den fungera. Den blir klart lite större, men det får gå ändå.
Men kasst är det allt att en helt ny PICSTART PLUS för 2400kr inte klarar av vad den är specad för
/Martin
Men som det ser ut nu kommer jag skaffa mig en PIC i tolvserien istället, och hoppas att den fungera. Den blir klart lite större, men det får gå ändå.
Men kasst är det allt att en helt ny PICSTART PLUS för 2400kr inte klarar av vad den är specad för

/Martin
12F i 8-pinnars SMD kapsel är inte *så* mycket större.
Men visst, 10F är framtagna då man vill ha minsta möjliga kapsel.
> Men kasst är det allt att en helt ny PICSTART PLUS för 2400kr inte klarar av vad den är specad för
Jag är inte alls övertygad om att det faktiskt är så.
Enligt Microchip så ska man ha :
"PICSTART PLUS DEVELOPMENT SYSTEM (DV003001) Adapter: AC163020"
(D.v.s för SOT modellen. DIP8 kapseln ska fungera direkt.
Min gissning är att du gör något fel.
Men visst, 10F är framtagna då man vill ha minsta möjliga kapsel.
> Men kasst är det allt att en helt ny PICSTART PLUS för 2400kr inte klarar av vad den är specad för
Jag är inte alls övertygad om att det faktiskt är så.
Enligt Microchip så ska man ha :
"PICSTART PLUS DEVELOPMENT SYSTEM (DV003001) Adapter: AC163020"
(D.v.s för SOT modellen. DIP8 kapseln ska fungera direkt.
Min gissning är att du gör något fel.
Jag har kört mycket 10F och aldrig haft några problem alls faktist med att programmera dessa. Jag håller med om mycket som skrivs om 10F. De ÄR gammal och lite bökiga att programmera (ja, skriva programmet då..), men de har en del fördelar som gör dem användbara till en del saker. När det gäller småttingar så är annars 12HV615 en klar favorit. Modernare, 14-bitars, CCP, A/D, 8MHz intosc och direkt HW-stöd för halvbrygga vid PWM. Ja, mycket godis och i lilla kapsel med 0,65 pitch (inte QFN) så är den inte så mycket större än en 10F och för småserier så gör priset inget heller samt att om appikationen tillåter lite slöseri på ström så spar man in på en spänningsregulator också... Roligt med småkapslar som man kan löda själv utan ugn... Och dessutom QFN är kass med hemmagjorda kort då man inte kan dra ledare under kapsel på grund av jordklumpen som sitter där.
Hej igen. Nu har jag skaffat mig en 12f675 istället, och behöver lite hjälp med den med. Vill testa lägga ut 1: or, 0: or på I/O-potarna till att börja med, men får det såklart inte att fungera. Koden kommer nog till stora delar av andra här på forumet, men jag förstår hur det ska fungera.
Som innan använder jag MPLAB 7.5 tillsammans med en picstart plus
Configurationbits är satta som
Oscillator Internal RC No clock
Watsdog timer off
Power up timer off
Master Clear Enable External
Brown out detect off
Data EE Read protect off
Borde inte detta fungera? Vill mäta med en multimeter på picen och se resultat... När jag trycker på program kommer det upp en ruta där det står "calibration memory is already programmed", sen händer det inget mer..
Vad menas?
Som innan använder jag MPLAB 7.5 tillsammans med en picstart plus
Configurationbits är satta som
Oscillator Internal RC No clock
Watsdog timer off
Power up timer off
Master Clear Enable External
Brown out detect off
Data EE Read protect off
Kod: Markera allt
List p=12f675
include <p12f675.inc>
org 0x00 ;Startar programmet på adress Hex 00
;****************************************************************
BANKSEL TRISIO ;Öppnar Bank 1
movlw b'00000000'
movwf ANSEL ;Alla portar är digitala(ans0-3=bit0-3)
movlw b'00000000'
movwf TRISIO ;Alla portar är utgångar utom gp3..
BANKSEL GPIO ;Öppnar Bank 0
clrf GPIO ;init GPIO
bcf ADCON0,ADON ;A/D omvandlare avstängd.
movlw b'00000111'
movwf CMCON ;Comparator OFF
loop
movlw b'00011110' ;GP0 = "0", resten på, dvs "1"
movwf GPIO
goto loop
END
Vad menas?
Nej, oki - 10F är inte så gamla, men känns gamla då de är som en gammal äcklig 12.bitars. Inga jätteproblem, men störande att vissa saker inte ligger i SFR vilket gör att man måste skriva om kod från 14-bitars rätt mycket innan den fungerar.
"nya" 12F är så mycket behagligare att programmera i ASM bara för att de är mer lika 16F (ja, samma grund så inte så märkligt
) Men men, 12F675 är ett bra val. Men varför inte köra 12F615 istället direkt? Samma pris (faktist lägre) och lite mer godis. Samma pinout, men fler möjligheter.
"nya" 12F är så mycket behagligare att programmera i ASM bara för att de är mer lika 16F (ja, samma grund så inte så märkligt

Eller 12F683, som jag tycker är trevlig. Nanowatt (komplett 32KHz-8MHz INTOSC),
mer minne (dubbelt mot 12F675, 629, 615) m.m.
Samma "generation" som 16F688, 16F88, 16F886 och 16F887. (14, 18, 28 och 40 pin).
Och i de fall där man *måste* ha en 10F, så är nog 12-bitars arkitekturen
det minsta problemet...
mer minne (dubbelt mot 12F675, 629, 615) m.m.
Samma "generation" som 16F688, 16F88, 16F886 och 16F887. (14, 18, 28 och 40 pin).
Och i de fall där man *måste* ha en 10F, så är nog 12-bitars arkitekturen
det minsta problemet...

Nej, sant - 10F använder man (jag iaf) enbart för att spara komponenter och göra enkla saker - typ uppstartsfördröjningar, sekvensteg, PWM-generator och liknande och i de fallen är inte 12-bitars arkitekturen så begränsande.
När det gäller 12F6xx så har jag aldrig haft problem med minnet på 675,615 då det räcker väldigt långt när man kör assambler. Senaste projektet blev hela koden 0x90 word bara... och då med A/D, reglering och PWM.... Man spar mycket bök med allt inbyggt i kapseln onekligen...
12F683 är bra, men lite dyr om man inte behöver minnet. Dessutom så saknar den halvbrygge stödet i CCP-modulen vilket är trevlig att ha om man gör regulatorer med den, men det är väl därför microchip gör många olika modeller beroende på vad man vill ha
När det gäller 12F6xx så har jag aldrig haft problem med minnet på 675,615 då det räcker väldigt långt när man kör assambler. Senaste projektet blev hela koden 0x90 word bara... och då med A/D, reglering och PWM.... Man spar mycket bök med allt inbyggt i kapseln onekligen...
12F683 är bra, men lite dyr om man inte behöver minnet. Dessutom så saknar den halvbrygge stödet i CCP-modulen vilket är trevlig att ha om man gör regulatorer med den, men det är väl därför microchip gör många olika modeller beroende på vad man vill ha
