Sida 1 av 2
Sparka igång PIC10F206 , hjälp (LÖST!)
Postat: 26 augusti 2006, 16:44:07
av Johan.o
OBS: KODEN ÄR RÄTTAD!
Kopplade upp en PIC 10F206,
läste databladet hyggligt innan.
Programmerar den med min ICD2, programmeringen funka, men
den enkla uppgiften att ställa TRIS registret lyckas jag inte med.
Alla I/O är högomiga när jag mäter -> verkar vara satta som ingångar.
OSCCAL laddar jag manuellt med min ICD2 till 0.
Det enda jag har kopplat till är på GP2,
LED som ska lysa (gör inte) när GP2 går låg.
Samt drar upp MCLR med 22K till 5V
Här är min enkla kod.
Kod: Markera allt
list p=10F206 ; Berätta villken processor som används
#include <p10F206.inc> ; Inkludera fil med definerade grejor
org 0 ; Här börjar vi vid reset
movwf OSCCAL
movlw 0x00 ;Comparators off
movwf CMCON0
movlw 0x02 ; GP0 = Reläutgång, GP1 = ingång, GP2 = LED (0=ON)
TRIS 6
clrwdt
movlw 0
OPTION
bcf GPIO,0 ; Deaktivera relä
bcf GPIO,2 ; Tänd LED
loop_ever
goto loop_ever
end
EDIT: La till komentarer i koden. Ändrade PIC12F206 -> PIC10F206, tog bort meningslös 'goto', rättade mitt fel ; Stängde av komparatorn
Postat: 26 augusti 2006, 17:01:11
av Icecap
OSCCAL till 0????
Ska den vara det?
Nåväl. Har du vald INTOSC i programmet?
Postat: 26 augusti 2006, 17:05:54
av Johan.o
0 = Center frequency, enligt databladet, sedan kan den justeras åt bägge
hållen.
hmm.. trodde den bara hade stöd för intosc..
EDIT: Enligt databladet note 2 (sida 43)
INTRC is the only oscillator mode offered on the PIC10F200/202/204/206
Postat: 26 augusti 2006, 20:55:21
av Johan.o
Är det verkligen ingen som har skrivit något till en PIC10F här?
EDIT: Verkar som jag fått igång det nu.. Hittade lite kod på nätet..
Postat: 27 augusti 2006, 13:47:38
av bengt-re
Jodå, Men det finns ju inget direkt trisreg utan du måste sätta tris med TRIS kommando. Är det en 10F eller 12F du har? 12F206 vet jag inte vad det är för en pic, men 10F206 har jag gott om, 12F629 känner jag också till och denna är rätt annorlunda.
Postat: 27 augusti 2006, 14:02:01
av Johan.o
10F206, råkade blanda ihop lite..
Klantigt, men märkte tids nog att man skulle skriva TRIS och inte tris.
Tack för svaren.
Jag utnämner mig själv till veckans klant

Postat: 27 augusti 2006, 14:05:21
av bengt-re

Man kan ha mycket roligt med 10F. Små söta, strömsnåla och billiga !
Postat: 27 augusti 2006, 14:19:47
av Johan.o
Jepp, det har du rätt i.
Speciellt att dom är söta

Postat: 27 augusti 2006, 15:49:38
av sodjan
> men märkte tids nog att man skulle skriva TRIS och inte tris.
Vilket fel fick du p.g.a av att du skrev "tris" istället för "TRIS" ?
Sen är det lite konstigt, med de ändringar som du anger i din "EDIT",
byggde koden verkligen utan fel ?? Det verkar så eftersom du gick vidare
och programmerade processorn med ICD2. Det gör man ju knappast
så länge som man får fel vid assembleringen, eller hur ?
Jag får inte ihop det riktigt...
Postat: 27 augusti 2006, 22:21:26
av Johan.o
MPLAB rapporterade inga fel..
Nu var det inte exakt den koden jag använde för initiering när jag fick igång det, men ungeför samma, ställde OPTION och annat också.. men men..
Jag förstår inte vad du inte får ihop?
Postat: 27 augusti 2006, 23:51:56
av sodjan
> Jag förstår inte vad du inte får ihop?
Vad det gjorde för skillnad när du skrev "TRIS" istället för "tris".
> rättade mitt fel ; tris -> TRIS
Vilket "fel" ?
Postat: 28 augusti 2006, 08:10:05
av bengt-re
Det är lite trist att OPTION oxh TRIS registerna inte ligger i minnesmappen, men spelar egentligen ingen roll så länge man kommer ihåg det och det är mest när man porterar kod ifrån 12F629 som det stökar sig att man måste ändra alla referenser till TRIS och OPTION registerna.
Include filen tar bara stora namnen på registerna.
Postat: 28 augusti 2006, 09:51:59
av vfr
Men om include-filen nu bara har referenser för stora bokstäver så borde endera av två saker inträffa:
1. Assemblern är beroende av små/stora bokstäver och borde då ge ett error vid assembleringen, precis som sodjan säger.
2. Assemblern likställer små/stora bokstäver och då finns inget problem. Det går igenom assembleringen och resultatet blir korrekt.
Men det verkar ju, som jag tyder inläggen, som att assemblern accepterat det utan fel men att det ändå inte blir rätt???
Postat: 28 augusti 2006, 12:26:42
av sodjan
Exakt ! Tack vfr !
Så jag får *fortfarande* inte ihop det....
För övrigt är syntaxen med OPTION och TRIS kommandona
den ursprungliga "base-line" syntaxen, och problemet brukar
(brukade) vara att få programmerare att *inte* använda den
när de gick över till "midrange" PICs. D.v.s från den ursprungliga
12-bitars arkitekturen (som även de "nya" PIC10 använder) till
14-biters arkitekturen (den för övrigt vanligaste i dag).
Postat: 28 augusti 2006, 12:35:34
av Johan.o
Använder MPLAB v7.21 , den rapporterar inga fel för mig, om jag skriver tris.
Och ja det var ett tag sedan jag använde TRIS, OPTION.
Senast var på 16F84 tror jag.