Nastavení oscilátoru v programu pickit2

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
Aligues
Příspěvky: 143
Registrován: 19 lis 2009, 01:00

Nastavení oscilátoru v programu pickit2

#1 Příspěvek od Aligues »

Zdravím,
Nevíte někdo jak manuálně nastavit oscilátor v programu pickit2? Asi sem slepý, ale nevidím to, nebo tam ta možnost není a bere si to z hex? položka v tools > OSSCAL je zšedlá, tedy nepřístupná, proč? Díky :)

Uživatelský avatar
forbidden
Příspěvky: 8808
Registrován: 14 úno 2005, 01:00
Bydliště: Brno (JN89GF)
Kontaktovat uživatele:

#2 Příspěvek od forbidden »

OSCCAL je přece změřenej a uloženej z výroby. V programu ho jen musíš načíst a použít. Bývá na posledním byte paměti.

Uživatelský avatar
Panda38
Příspěvky: 713
Registrován: 21 lis 2012, 01:00
Bydliště: Most, Praha, Lanžhot
Kontaktovat uživatele:

#3 Příspěvek od Panda38 »

... nebo nenačítat a použít svou konstantu, pro změnu rychlosti

Uživatelský avatar
Aligues
Příspěvky: 143
Registrován: 19 lis 2009, 01:00

#4 Příspěvek od Aligues »

Trochu jsem to popletl :) oscilatorem myslim externi krystal. Delam zapojeni s 16x2 displejem, ale zobrazuji se mi misto znaku jen ctverecky (zaplnena pole) v horni radce. Vsechno jsem zkontroloval, jedine co me napada je, ze jsem pri nahravani hexu do te 16f628A nezvolil pouziti externiho krystalu (4MHz) protoze nevim, kde to tam zvolit. Pokud to neni tim, tak je asi displej KO...

Uživatelský avatar
Panda38
Příspěvky: 713
Registrován: 21 lis 2012, 01:00
Bydliště: Most, Praha, Lanžhot
Kontaktovat uživatele:

#5 Příspěvek od Panda38 »

Čtverečky můžou být špatným nastavením kontrastu (např. když se jen uzemní místo aby se použil trimr).

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#6 Příspěvek od Andrea »

Čtverečky v horním řádku se objeví po zapnutí napájení, po správné inicializaci zmizí nebo v případě špatně nastaveného kontrastu se objeví i v dolním řádku. Vypadá to tedy na chybu v inicializaci, displej na 99% žije.

Uživatelský avatar
MiloPS3
Příspěvky: 259
Registrován: 07 srp 2010, 02:00

#7 Příspěvek od MiloPS3 »

položka v tools > OSSCAL je zšedlá, tedy nepřístupná, proč?
protoze 628 nema kalibracni konstantu ulozenou na poslednim miste v pameti
pojistky se manualne nastavujou v "Configuration" nahore v prostredku za "device" , ale pokud mas pojistky v hexu nacte si je to z nej,
kdyz nevis jestly ti procesor bezi tak si tam pripoj ledku a blikej s ni 1Hz, pak poznas jestly ti to bezi a cca na spravy frekvenci, nebo si hot vystupy co dou na lcd do logiskyho analizatoru v PK2,
jinak pokud mas externi krystal 4MHz tak ti to muze klidne bezet i z interniho, kdyz se ti neinicializova lcd muzes skusit protahnout cekaci smycky ,zmenis frekvenci v kodu na dvojnasobek nebo pouzijes pomalejsi krystal, pokud teda vyloucis ze to mas spatne zapojeny

Uživatelský avatar
Panda38
Příspěvky: 713
Registrován: 21 lis 2012, 01:00
Bydliště: Most, Praha, Lanžhot
Kontaktovat uživatele:

#8 Příspěvek od Panda38 »

MiloPS3 píše:...ale pokud mas pojistky v hexu nacte si je to z nej,...
Některé programy ukládají pojistky do HEX souboru? Tj. že jakoby virtuálně byly za sebou adresovány ROM, EEPROM a pak pojistky? A nevíš adresy, zda to adresuje jakoby to všechno byl jeden spojitý úsek? gcc adresuje EEPROM v HEX od něco jako 0x08010000 (nebo tak nějak) a o možnosti uložení pojistek nevím.

Uživatelský avatar
Atlan
Příspěvky: 4499
Registrován: 10 kvě 2004, 02:00
Bydliště: Košice

#9 Příspěvek od Atlan »

CO tak skusit sa pozriet do datasheetu ?

pre asembler v Mplabe napriklad takto.

Kód: Vybrat vše

  LIST P=16F628, R=DEC    ; Use the PIC16F628 and decimal system 
 #include "P16F628.INC"  ; Include header file 

 __config  _HS_OSC &_LVP_OFF & _WDT_OFF & _PWRTE_ON & _BODEN_ON 

Kód: Vybrat vše

;................................................................................................
	org	0x2007		; adresa nastaveni pojistek pro PIC16F84
	dw _XT_OSC & _PWRTE_ON & _WDT_OFF & _CP_OFF

; typ oscilatoru
;	_LP_OSC                      EQU     H'3FFC'
;	_XT_OSC                      EQU     H'3FFD'
;	_HS_OSC                      EQU     H'3FFE'
;	_RC_OSC                      EQU     H'3FFF'

; Code Protect (ochrana proti precteni)
;	_CP_ON                       EQU     H'000F'
;	_CP_OFF                      EQU     H'3FFF'

; Power Up Timer (casovac pro nabeh napeti 72ms)
;	_PWRTE_ON                    EQU     H'3FF7'
;	_PWRTE_OFF                   EQU     H'3FFF'

; WatchDog (hlidaci pes)
;	_WDT_ON                      EQU     H'3FFF'
;	_WDT_OFF                     EQU     H'3FFB'
;******************************************************

v cecku od CCS

Kód: Vybrat vše

#include <16F1827.h>
#fuses INTRC_IO,NOWDT,PUT,PLL
#use delay(clock=32000000)
OD hitech C pre 16f628

Kód: Vybrat vše

#include <htc.h>
#define _XTAL_FREQ 4000000	//frekvencia v Hz
__CONFIG(FOSC_INTOSCIO & WDTE_OFF & PWRTE_ON & MCLRE_ON & BOREN_OFF & LVP_OFF & CPD_OFF & CP_OFF);
Naposledy upravil(a) Atlan dne 20 led 2013, 10:23, celkem upraveno 3 x.

Uživatelský avatar
MiloPS3
Příspěvky: 259
Registrován: 07 srp 2010, 02:00

#10 Příspěvek od MiloPS3 »

kdyz mas zapsany pojistky v kodu tak MPLAB ti je pri prekladu zapise do hexu a pokud ti to SW od programatoru podporuje tak ti je rovnou nastavi z toho hexu a nemusis se o ne pri programovani starat,sou na predposlednim radku v hexu ,
bez pojistek

Kód: Vybrat vše

:020000040000FA
:0400000000000028D4
:00000001FF
s pojistkama
:020000040000FA
:0400000000000028D4
:02400E00CC3FA5
:00000001FF
posledni 2 hodnoty je checksum (A5), nektery SW ti ten checksum ignorujou jiny pri nespravnym checksum nenactou hex

Uživatelský avatar
Panda38
Příspěvky: 713
Registrován: 21 lis 2012, 01:00
Bydliště: Most, Praha, Lanžhot
Kontaktovat uživatele:

#11 Příspěvek od Panda38 »

Thanks Atlan i MiloPS3 za dobré info (takže adr. 0x400E). Tak na to se musím ještě důkladněji podívat co který překladač generuje (potřebuju to podporovat ve svém programátoru).

Uživatelský avatar
MiloPS3
Příspěvky: 259
Registrován: 07 srp 2010, 02:00

#12 Příspěvek od MiloPS3 »

ta adresa bude asi pro kazdej typ mcu jinej :roll:

Uživatelský avatar
Aligues
Příspěvky: 143
Registrován: 19 lis 2009, 01:00

#13 Příspěvek od Aligues »

Díky za objasnění všeho :) už jsem to zprovoznil, chyba byla někde v špatně zvolené hodnotě kondíků proti zemi u krystalu. Dočasně jsem je dal pryč úplně a šlape to :)

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“