PIC12F509 interní RC osclátor
Moderátor: Moderátoři
PIC12F509 interní RC osclátor
Zdravím, programuji procesor 12F509, kde chci využít interní RC oscilátor, ale nejde mi zkalibrovat OSCCAL registr. Při programování Pickitem 3 se stále opakuje chyba Invalid Value 0000 a nelze odstranit ani po ručním nastavení. Prosím o radu, nebo poskytnutí kódu inicializace procesoru.
cau, no, pokud sis ji nezaznamenal tak mas smulu, sice sou kody ktery ti to dokazou zkalibrovat ale vzhleden k tomu ze si si to nedokazal vyguglit tak nic....
PK2 ma utilitu na regenerovani , PK3 uz ne,
takze : jestly mas tu konstantu tak zapsat rucne do kodu ,jde zapsat i pres PK3 do uP
bud si nekoho najdes kdo ma PK2 na obnovu..
napises si kod pro generovani obdelniku na vystupu kterej budes meri a menit konstantu dokad to nebude sedet s kodem..
PK2 ma utilitu na regenerovani , PK3 uz ne,
takze : jestly mas tu konstantu tak zapsat rucne do kodu ,jde zapsat i pres PK3 do uP
bud si nekoho najdes kdo ma PK2 na obnovu..
napises si kod pro generovani obdelniku na vystupu kterej budes meri a menit konstantu dokad to nebude sedet s kodem..
napis jakym postupen to delasa nelze odstranit ani po ručním nastavení.
Zkus ten 12F509 naprogramovat tímhle.Je to čistej soubor bez kódu,s vypnutou CP ochranou,zapnutým WDT,zapnutým MCRL a se zapnutým interním oscilátorem.
Kód: Vybrat vše
:10000000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F80
:10001000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F70
:10002000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F60
:10003000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F50
:10004000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F40
:10005000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F30
:10006000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F20
:10007000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F10
:10008000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F00
:10009000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FF0
:1000A000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FE0
:1000B000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FD0
:1000C000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FC0
:1000D000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FB0
:1000E000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FA0
:1000F000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F90
:10010000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F7F
:10011000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F6F
:10012000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F5F
:10013000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F4F
:10014000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F3F
:10015000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F2F
:10016000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F1F
:10017000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F0F
:10018000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF
:10019000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FEF
:1001A000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FDF
:1001B000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FCF
:1001C000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FBF
:1001D000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FAF
:1001E000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F9F
:1001F000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F8F
:10020000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F7E
:10021000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F6E
:10022000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F5E
:10023000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F4E
:10024000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F3E
:10025000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F2E
:10026000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F1E
:10027000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F0E
:10028000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFE
:10029000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FEE
:1002A000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FDE
:1002B000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FCE
:1002C000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FBE
:1002D000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FAE
:1002E000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F9E
:1002F000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F8E
:10030000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F7D
:10031000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F6D
:10032000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F5D
:10033000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F4D
:10034000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F3D
:10035000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F2D
:10036000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F1D
:10037000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F0D
:10038000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFD
:10039000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FED
:1003A000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FDD
:1003B000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FCD
:1003C000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FBD
:1003D000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FAD
:1003E000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F9D
:1003F000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F8D
:10040000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F7C
:10041000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F6C
:10042000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F5C
:10043000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F4C
:10044000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F3C
:10045000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F2C
:10046000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F1C
:10047000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F0C
:10048000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFC
:10049000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FEC
:1004A000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FDC
:1004B000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FCC
:1004C000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FBC
:1004D000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FAC
:1004E000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F9C
:1004F000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F8C
:10050000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F7B
:10051000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F6B
:10052000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F5B
:10053000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F4B
:10054000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F3B
:10055000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F2B
:10056000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F1B
:10057000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F0B
:10058000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFB
:10059000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FEB
:1005A000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FDB
:1005B000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FCB
:1005C000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FBB
:1005D000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FAB
:1005E000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F9B
:1005F000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F8B
:10060000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F7A
:10061000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F6A
:10062000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F5A
:10063000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F4A
:10064000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F3A
:10065000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F2A
:10066000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F1A
:10067000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F0A
:10068000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFA
:10069000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FEA
:1006A000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FDA
:1006B000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FCA
:1006C000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FBA
:1006D000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FAA
:1006E000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F9A
:1006F000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F8A
:10070000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F79
:10071000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F69
:10072000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F59
:10073000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F49
:10074000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F39
:10075000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F29
:10076000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F19
:10077000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F09
:10078000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FF9
:10079000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FE9
:1007A000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FD9
:1007B000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FC9
:1007C000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FB9
:1007D000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FA9
:1007E000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F99
:1007F000FF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0F89
:021FFE00FE0FD4
:0A080000FF0FFF0FFF0FFF0FFF0FA8
:00000001FF
MiloPS3, tak jsem našel stránky s návodem na kalibraci, sice je to pro jinýho švába, ale asi by se to dalo využít http://picprojects.org.uk/projects/picprojects.htm. Jinak v Pickit3 je možnost Tools - OSCCAL - Manuální nastavení.
hakamusai díky za kod, ale pri načtení mi to hlásí, že je moc dlouhý.
Kod z paměti mám zapsaný, ale stejně procesor nerozjedu. Zřejmě něco dělám špatně při inicializaci. Předpokládám, že i kdybych zadal jiný kod, než byl v paměti, tak by oscilátor jel. Sice s nějakou plus mínus tolerancí, ale asi by se program rozjel, což mě se nestalo.
hakamusai díky za kod, ale pri načtení mi to hlásí, že je moc dlouhý.
Kod z paměti mám zapsaný, ale stejně procesor nerozjedu. Zřejmě něco dělám špatně při inicializaci. Předpokládám, že i kdybych zadal jiný kod, než byl v paměti, tak by oscilátor jel. Sice s nějakou plus mínus tolerancí, ale asi by se program rozjel, což mě se nestalo.
je jedno jakou hodnotu tam nastavis jen nebude presna frekvence, program nezavislej na nejaky casovy externi sinchronizaci musi bezet,
jde ten procesor precist ? smazat ? zapsat ? (bez kodu,fff)
jinak PK3 konstantu nemaze , jak se ti to povedlo ?
jestly jde aspon zapsat pak uz neni problem ji tam dat pres kod jestly nejde manualne,treba
jde ten procesor precist ? smazat ? zapsat ? (bez kodu,fff)
jinak PK3 konstantu nemaze , jak se ti to povedlo ?
jestly jde aspon zapsat pak uz neni problem ji tam dat pres kod jestly nejde manualne,treba
Kód: Vybrat vše
org 0x03ff
retlw 0xKK ;KK konstanta
org 0x0
nop
end
Tak jsem nastavil oscilátor na XT a program stejně nejde. Do procesoru lze zapsat i číst, tak musí být chyba asi někde jinde. Přikládám kod inicializace procesoru, možná pro samé oči nevidím nějakou blbost
list p=12f509, R=DEC
include "p12f509.inc"
RAM equ 0x10 ; první adresa paměti RAM pro PIC12F509 - (20h-3Fh)
TMP0 equ RAM+1 ; temp cekaní
TMP1 equ RAM+2
TMP2 equ RAM+3
TM_REG equ RAM+4 ; temp cekání na průtok
S_TMP equ RAM+5 ; temp vstupů
#define OUT GPIO,0 ; výstup
#define S_S GPIO,1 ; vstup studená voda
#define S_T GPIO,2 ; vstup teplá voda
#define TLS GPIO,3 ; vstup tlakové spínače
__CONFIG _MCLRE_OFF & _CP_OFF & _WDT_OFF & _IntRC_OSC
;************************ Reset procesoru *************************
org 0x03FF ; effective reset vector
retlw 0x3C
org 0x0000
goto INIT
;************************ Inicializace procesoru *************************
INIT
movlw B'00001110'
tris GPIO ; GP0 - GP4 vstup, GP5 vystup
movlw B'11000111' ; předdělička 1:256
option
bsf OUT ; přednastavit OUT pro počáteční bliknutí
clrf S_TMP
clrf TM_REG
call CEK100m
call CEK100m
bcf OUT
;************************ Hlavní program *************************
list p=12f509, R=DEC
include "p12f509.inc"
RAM equ 0x10 ; první adresa paměti RAM pro PIC12F509 - (20h-3Fh)
TMP0 equ RAM+1 ; temp cekaní
TMP1 equ RAM+2
TMP2 equ RAM+3
TM_REG equ RAM+4 ; temp cekání na průtok
S_TMP equ RAM+5 ; temp vstupů
#define OUT GPIO,0 ; výstup
#define S_S GPIO,1 ; vstup studená voda
#define S_T GPIO,2 ; vstup teplá voda
#define TLS GPIO,3 ; vstup tlakové spínače
__CONFIG _MCLRE_OFF & _CP_OFF & _WDT_OFF & _IntRC_OSC
;************************ Reset procesoru *************************
org 0x03FF ; effective reset vector
retlw 0x3C
org 0x0000
goto INIT
;************************ Inicializace procesoru *************************
INIT
movlw B'00001110'
tris GPIO ; GP0 - GP4 vstup, GP5 vystup
movlw B'11000111' ; předdělička 1:256
option
bsf OUT ; přednastavit OUT pro počáteční bliknutí
clrf S_TMP
clrf TM_REG
call CEK100m
call CEK100m
bcf OUT
;************************ Hlavní program *************************
_IntRC_OSCTak jsem nastavil oscilátor na XT
movlw B'xxxxxxx0'
tris GPIO ; GP0 xxxxvstup
movlw B'xxx0xxxx'
tris GPIO ; xxGP4 vstup
nevim jak to mas zapojeny ,je treba to hodit na nepajivy pole dat tam ledku a odskouset
Kód: Vybrat vše
list p=12f509, R=DEC
include "p12f509.inc"
__CONFIG _MCLRE_ON & _CP_OFF & _WDT_OFF & _IntRC_OSC
org 0x0
nop
banksel GPIO
movlw 0xfe
tris GPIO
bsf GPIO,0
goto $
end