Zaslal: so březen 03 2007, 0:47 Předmět: Konfigurace výstupu RA4 na PIC16F676
Tak zase žádám o radu Z důvodu nedostatku vstupů PIC16F676 jsem připojil na RA5 externí hodiny a pokouším se přemluvit RA4
na funkci output. Po nakonfugurování se sice tváří jako výstup, ale rozhodí to funkci celého zařízení. Pro představu uvádím LCD na RC<0:5>, teploměr DS18B20 na RA1, A/D převodník na RA0 a vstup na RA2. Při funkci RA4 jako vstup, nebo výstup přestává komunikovat teploměr a LCD problikává. Toto se děje i při nakonfigurování interního oscilátoru. Ještě uvádím inicializaci procesoru. Simulace v MPLABu OK.
movlw 0x01
movwf PORTA ; přednastavení PORTu A
movlw 0x07 ; nastaveni PA 0-2 jako I/O
movwf CMCON
clrf PORTC ; přednastavení PORTu B
; ------------------------
bsf STATUS,RP0 ; nastavení BANKY 1
movlw b'000001' ; PA0 jako analog
movwf ANSEL
movlw b'000101' ; portA 2-0, 2vstupy, 4vystupy
movwf TRISA
movlw b'000000' ; portB 7-0, 0vstupy, 8vystupy
movwf TRISC
CONFIGURATION WORD je nastaven správně. V zapojení jsem připojil na RA4 LED diodu a to tak, že anoda je na napájení a katoda je připojená přes odpor na RA4, který je nastaven jako výstup. Dioda se má rosvítit při určité hodnotě registru "X" a pokud hodnota klesne po stanovenou mez, tak zhasne. Diodu ovládá podprogram:
#define LED PORTA,4
.
.
.
movf STA,W ; je cislo větší než 5?
sublw 0x34
btfsc STATUS,C
goto OFF_LED ; není
;--------------------------
movf DES,W ; je cislo větší než 3?
sublw 0x32
btfsc STATUS,C
goto OFF_LED ; není
bcf LED ; ano, rozsviť LED
return
;--------------------------
OFF_LED
bsf LED ; není, zhasni LED
return
Po různých experimentech jsem zapojení rozchodil díky malé úpravě
tohoto podprogramu:
movf STA,W ; je cislo větší než 5?
sublw 0x34
btfsc STATUS,C
goto OFF_LED ; není
;--------------------------
movf DES,W ; je cislo větší než 3?
sublw 0x32
btfsc STATUS,C
goto OFF_LED ; není
bsf STATUS,RP0
bcf LED ; ano, rozsviť LED
bcf STATUS,RP0
return
;--------------------------
OFF_LED
bsf STATUS,RP0
bsf LED ; není, zhasni LED
bcf STATUS,RP0
return
Z jedné stránky jsem rád, že to funguje, z druhé nejsem moc moudrej z toho, proč to nefungovalo, když jsem zapisoval přímo do PORTA... A včíl mudruj
Hlavně mě nekamenujte, PICuji teprve chvilku, tak můžu mít jisté mezery ve vzdělání
Založen: Nov 21, 2005 Příspěvky: 524 Bydliště: Bratislava
Zaslal: po březen 05 2007, 9:58 Předmět:
No je jasné, že ovládaš port cez TRIS a nie OUT. Pozri v datasheete v blokovej schéme, všetky podmienky riadenia, či si na niečo nezabudol. Iná možnosť je, že je nejaký vnútorný skrat a pri nastavení bitu, dôjde k ovplyvneniu iných funkcií. _________________ Ako elektrikár sa cítim slobodne.
Môžem hovoriť do vedenia!
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.