Technická poznámka: MPLAB ASM umí už hodně dlouho direktivu "BANKSEL". Je to mnohem pohodlnější , než nastavovat přímo bity ve STATUS registru. Navíc je to i nezávislé na MCU, neboť některé nové typy už nemají Register Bank Select bits ve STATUS.
Založen: Oct 02, 2009 Příspěvky: 5286 Bydliště: PO
Zaslal: po listopad 12 2012, 10:03 Předmět:
Samo..., občas je dôležitý aj čas a priestor. Zaberie to dve inštrukcie, kde stačí jedna alebo žiadna. No výhodou je, že sa nestaráš..., ale pri dôslednej aplikácii tohoto pravidla aj na General Purpose Registers sa procesor ubankuje a pamäť za..rie BCF,BSF inštukciami.
Založen: Nov 15, 2005 Příspěvky: 70 Bydliště: Trutnov
Zaslal: po listopad 12 2012, 11:00 Předmět:
Díky za rady, včera se mi podařilo nastavit interní oscilátor, takže mi inicializace displeje z mobilu už běží a vše se korektně zobrazuje. Bylo třeba nastavit
BANKSEL OSCCON
MOVLW b'01100010' ; 4MHz, interní oscilátor jako taktovací kmitočet
MOVWF OSCCON
Ted jde o to, zda se AD převodník spouští od taktovacího kmitočtu, tj. 4MHz a nastavení děličky má být 1/8 pro 2us či 1/16 pro 4us, či interního oscilátoru 8MHz.
Je zajímavé, že pokud jsem v měl nastaven v OSCCON jen interní oscilátor 4MHz, nefungovala inicializace a zobrazení na displeji, s parametrem použití int. osc. jako taktovacího to funguje. Jak se říká, stále se člověk učí a manuály se vyplatí občas studovat .
Vytiskl jsem český manuál pro 16F88 a dnes opět provedu detailní kontrolu nastavení časů, bank a pod.
Pokud opět neuspěju, napíšu.
Zatím díky za rady na co se zaměřit, chyba je ve dvou částech, tj. spuštění AD převodu (na 99%) a stím související konfigurace časů a pod. Bez této procedury vše ostatní funguje.
Založen: Nov 15, 2005 Příspěvky: 70 Bydliště: Trutnov
Zaslal: út listopad 13 2012, 6:59 Předmět:
Pošlu ti Procesore v osobních vzkazech *.asm soubor, kdyby jsi měl chvilku čas. Jak jsem ti psal, tak oscilátor je interní, bez procedury pro spuštění AD převodu vše ostatní funguje. Procedury pro spuštění převodu a zpracování dat z ADRESL a ADRESH jsou použity z fungující aplikace též s 16F88 (téměř stejná aplikace, jen se použije pro jiný účel měření a místo LCD2x20 je použit displej z mobilu N5110), něco málo upraveno vzhledem ke konfiguraci i ostatních částí programu.
Založen: Oct 02, 2009 Příspěvky: 5286 Bydliště: PO
Zaslal: út listopad 13 2012, 12:12 Předmět:
Máš odpoveď v ss
V podstate:
Používať BANKSEL reg. je OK, ale potom dôsledne. Je to však pamäťovo nákladné. npr tento program by sa musel riešiť v dvoch stránkach.
S EERAM sa pracuje s registrami v 2. a 3. bank-u a pri všeobecných najčastejšie v Bank-u 0. Pozor na zhodenie RP1-na ten sa zabudlo.
Testoval som to v MPLAB SIM
Na konci podprogramu WR_LCD (pred return) stačí zapísať BAKNSEL 0, alebo BCF STATUS, RP1 a BCF STATUS,RP0 odhliadnúc od chyby adresovania všeobecných registrov (npr. afisaj).
Doporučenie s používaním registrov: na konci bank-u 0 je 16 registrov ktoré sa zrkadlia aj v ostatných bank-och(väčšina novších PIC). Tie je vyhodné využiť keď sa spolupracuje s registrami v rôznych bank-och. Npr.: EEARD, EEDATA.... a pod, detto pre odloženie charakteristíky programu po isr(prerušení) keď nie je zaistené v krotom stave je bank(RP0,RP1).
Založen: Nov 15, 2005 Příspěvky: 70 Bydliště: Trutnov
Zaslal: út listopad 13 2012, 22:07 Předmět:
Díky za typ, poupravil jsem a ještě budu projíždět.
Zjistil jsem však další nečekanou skutečnost. Jestliže používám interní oscilátor, nastavím si v OSCCON požadovanou frekvenci, např. pro 4MHz b´01100000´, to ale není taktovací frekvence, jako kdybych použil externí krystal 4MHz. Proto mi nefungovala procedura pro zápis dat do displeje z mobilu, musel jsem nastavit OSCCON b´01100010´ pro použití interního oscilátoru i pro taktovací frekvenci. V případě prvního nastavení byla takt. frekvence 8MHz. A ted jak je to tedy s taktovací frekvencí pro AD převodník? Od jaké frekvence se počítá nastavení ADSC0 až ADCS2 v ADCON0 a ADCON1, taktovací nebo INTOSC?
Ověření jsem provedl tak, že jsem zdvojnásobil časové články pro zápis do LCD displeje. Chodí při nastavení OSCCON b´01100000´.
Založen: Oct 02, 2009 Příspěvky: 5286 Bydliště: PO
Zaslal: út listopad 13 2012, 23:08 Předmět:
Ak chceš použiť interný oscilátor musí byť v OSCCON 'xxxx xx10', samozrejme s nastavením požadovanej fr.
Pre kryštálový (systémový)OSC1/OSC2 v OSCCON je 'xxxx xx00' z zároveň musí by zvolený typ oscilátora FOSC <2:0> v CONFIG1.
Ako to fungovalo v tvojom prípade rozhoduje aj ten CONFIG1: v zdrojáku máš nastavené INTRC_IO a v OSCCON ho máš zablokovaný .Odkiaľ sa zobralo 8MHz je mi nejasné. Tento stav akosi v dokumentácii nie je definovaný, takže neviem ako to takto funguje.
Tá sch. oscilátorov v doku PIC16F88 by mala stačiť.
Jedna možnosť je, že si v CONFIG2 povolil FCMEN a potom to ide na na náhradné hodiny
Založen: Nov 15, 2005 Příspěvky: 70 Bydliště: Trutnov
Zaslal: st listopad 14 2012, 21:03 Předmět:
Provedl jsem úpravy v nastavení časování a hodin dle rad zde na foru a dle manuálu. Zrušil jsem čtení znaků z EEPROM a všechna měření fungují jak mají.
Časy uváděny v GMT + 1 hodina Jdi na stránku Předchozí1, 2, 3, 4Další
Strana 3 z 4
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.