Prosím o radu, podle seriálu v Praktické elektronice zkouším měření analogových hodnot, konkrétně podle dílu 44, tab. 56. Tam je konfigurace pro 16F88, upravil jsem nastavení portů na PORTA a PORTC a nastavení ADCON0 a ADCON1 pro 16F676. Přesto mi nejde A/D převodník, nevíte, co je třeba ještě upravit? Když pošlu hodnotu z registru W, místo vyčtení z ADRESL či ADRESH, tak mi ostatní procedutry běžej v pořádku. Jak je možno nahradit příkaz SLEEP, jak případně nastavit SAMPLE_DELAY, viz např. v tab 53, 54, 55. Děkuji za radu.
Založen: Nov 15, 2005 Příspěvky: 70 Bydliště: Trutnov
Zaslal: po březen 26 2012, 22:06 Předmět:
Takto je to přepsáno z časopisu Praktická elektronika, to co je tučně je pozměněno dle rady v předchozích článcích a už to funguje. Na PORTC jsou zapojeny LEDky a posílám na ně hodnotu pouze z ADRESL. Jde pouze o zkušební zapojení a prográmek. Ted když už to převádí, začnu implementovat do jiného programu, s implementací nastavení Uref a měření dvou analogových hodnot napětí a proudu + teplota z čidla DS18B20 (to už funguje). Snad už se bude dařit.
list p=16f676 ; list directive to define processor
#include <p16F676.inc> ; processor specific variable definitions
Založen: Oct 02, 2009 Příspěvky: 5286 Bydliště: PO
Zaslal: po březen 26 2012, 22:48 Předmět:
pred MOVF ADRESL,W ti chýba BSF STATUS,RP0
Ešte pred MAIN by som dal CALL DELAY (stačí 20us)
"Podle seriálu v Praktické elektronice" nepoznám. Ak sa jedná o kontrolery fy Microchip, tak info čerpám z ich stránok a najmä z dokumentácie ku konkrétnemu typu a info k prekladaču. V tomto prípade MPASM.
Spravidla je to postačujúce.
Poznámka:
použi "code" a "code*" ...potom je zdrojový text čitateľný ako v bežnom editore
Založen: Nov 15, 2005 Příspěvky: 70 Bydliště: Trutnov
Zaslal: st březen 28 2012, 20:11 Předmět:
Děkuji za radu, už měřím dvě hodnoty napětí se stejným potenciálem. Chodí to pěkně. Ted ještě řeším jednu věc a to, že bych vypočítával ze dvou naměřených hodnot třetí a otázka je, zda se instrukcí MOVF f,d smaže hodnota z registru f, nebo pouze přenese do jiného registru f či W a v tom původním zůstane zachována? Např. pro výpočet další procedurou?
Založen: Nov 15, 2005 Příspěvky: 70 Bydliště: Trutnov
Zaslal: ne duben 01 2012, 21:10 Předmět:
Předělal jsem program pro 16F88 z důvodu potřeby více vstupů. MPLAB SIM hlásí tyto hlášky:
ADC-W0001: Tad time is less than 1.60us
ADC-W0008: No stimulus file attached to ADRESL for A/D.
Nevíte co je příčinou hlášky ADC-W0008? Jak by měla vypadat časová procedura pro zpoždění, když používám krystal 4MHz a případně i nastavení ADCON1 a ADCON1?
Mám to takto:
MOVLW b'10100000'
MOVWF ADCON1
MOVLW b'01000001'
MOVWF ADCON0
Založen: Feb 14, 2005 Příspěvky: 9038 Bydliště: Brno (JN89GF)
Zaslal: ne duben 01 2012, 21:33 Předmět:
Hodnoty Tad pro různý taktovací frekvence jsou v datasheetu. Nastav to podle něj.
A pokud používáš ten simulátor, tak asi musíš nějak simulovat vstupní hodnoty pro ten AD převodník. Tohle jsem ještě nepotřeboval, tak nevím jak přesně to nastavit.
Založen: Oct 02, 2009 Příspěvky: 5286 Bydliště: PO
Zaslal: po duben 02 2012, 19:18 Předmět:
K "Tad"...
Ak sú dobre nastavené ADCON0 a 1 treba v SIMe nastaviť frekvenciu. Asi bude nastavená oveľa vyššia (môže byť aj 20 000kHz).
Niektoré periférie sa zložitejšie simulujú. Niektoré cykly sú otravne dlhé.
V takýchto prípadoch v programe použijem "podmienený preklad" pri ladení.
kód:
if LADENIE == 1
; časť programu pre ladenie
...
...
endif
Založen: Nov 15, 2005 Příspěvky: 70 Bydliště: Trutnov
Zaslal: čt duben 05 2012, 19:51 Předmět:
Tak jsem provedl doprogramování celého programu, tak jak si myslím, že by to mělo fungovat. Mám to v *.asm pro 16F88. Měřím čtyři analogové hodnoty a jeden vstup pro čidlo DS18B20. Analogové hodnoty mě to ve zkušebním provedení měřilo, vyčítání z čidla fungovalo s 16F676, s 16F88 to nejde. Zhlédl by mi někdo výpis programu? Smyčka v MPLAB běhá. Bohužel asi umřel PIC tak nemohu otestovat, nevím kdy a proč, najednou ho programátor odmítá, identifikuje ho, ale při čtení, mazání a zápisu nahlásí chybu Vdd.
Daj sem schému ako to máš zapojené pri programovaní a tiež aj program čo tam láduješ. Ak programátor správne detekuje ten PIC, tak mu pravdepodobne nič nieje.
Založen: Nov 15, 2005 Příspěvky: 70 Bydliště: Trutnov
Zaslal: so duben 07 2012, 11:26 Předmět:
PIC16F88 programuji mimo zapojení přímo v programátoru PICkit2, ostaní PICy jdou číst a zapisovat v pohodě. Co se týká zapojení obvodu s PICem, tam mám popsány piny přímo v asm souboru. Asi jsem udělal někde chybu, v jednom kroku jsem si všiml, že stále dokola spouštím čtení AD převodníku, tak jestli se to nějak nepřetížilo a neodešel tím. nevím. PIC koupím novej, spíše bych potřeboval zhlédnout vypis programu a najít chybku pro vyčítání z čidlla DS18B20, s 16F676 a 16F628 to šlo a s 16F88 to nejde, procedury jsou stejné, snad, spíše to bude v přiřazení registrů či co. Možná jiné časové prodlevy (délky pulzů apod.), nevím.
Časy uváděny v GMT + 1 hodina Jdi na stránku 1, 2, 3, 4Další
Strana 1 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.