Forums : Elektronika

 Comment
Pic16f628a interrupt
Axe
(zjakoprodavac)
2010-11-27 01:33 PM
Jedno kratko pitanje...
Može li se izvesti eksterni interapt na portu A(pin RA3) mikrokontrolera PIC16F628A???
Hvala unapred.
SinisaJ
(Електр�)
2010-11-28 01:57 PM
Можеш да користиш компаратор на том пину, а компаратор има интерапт.
Axe
(zjakoprodavac)
2010-11-28 02:57 PM
Hvala Sinisa...problem sam u međuvremenu resio na drugi način,ali ovo sto predlazes zvuci zanimljivo.Nekom prilikom ću se poigrati i sa time.
Međutim,imam sad drugi problem.
Port A je znaci konfigurisan kao ulaz.Pinovi su (od RA0 do RA3) sa otpornicima od 10k povuceni prema masi i mikrokontroler treba da reaguje na logicko „1”.Impuls se dovodi preko optokeplera...e sad,kad mikrokontroler nije u podnozju merim napon koji optokepler propusti i on je lepih 5V.,kad stavim mikrokontroler na mesto dovedeni napon padne na 1,45V!? Probe radi,ucitao sam u kontroler program koji ne koristi port A nego samo izleze na portu B i sad je sve u redu...imam 5V...čim setujem port A da bude ulazni javlja mi se taj pad napona...probao sam da prespojim pinove optokeplera i dovedem direktno napon na pin mikrokontrolera ali se ništa ne desava?!
SinisaJ
(Електр�)
2010-11-28 04:14 PM
Изгледа као да ниси конфигурисао неки регистар како треба и да ти је пин остао дефинисан као излаз или нека друга функција, рецимо референтни излаз. Прочитај пажљиво део „5.1 PORTA and TRISA Registers” у упутству за контролер. Такође и секцију о аналогним функцијама на тим пиновима.
Ниједном нисам наишао да је грешка у контролеру или упутству, увек је била нека моја глупост...
Axe
(zjakoprodavac)
2010-11-28 05:20 PM
Da...,i kod mene je do sada uvek bilo „human error” :)
Port A sam konfigurisao sa naredbom TRISA = 1;
Dodao sam u međuvremenu i dve linije koda u asembleru
tako da deo koda za setovanje kontrolera izgleda ovako:

asm MOVLW 0x07 ; //ugasi komparatore
asm MOVWF CMCON; //IO je digitalan

TRISA = 1; //port a je ulazni
TRISB = 0; //port b je izlazni
PORTB = 0; //svi izlazi na portu b su „0”

Kao sto rekoh asemblerski deo ja dodat naknadno i kompajler je odradio bez gresaka.Na zalost sad ne mogu da isprobam...sutra ću u radionicu pa javim šta je bilo.
Axe
(zjakoprodavac)
2010-11-29 07:57 AM
Ubacivanjem one dve linije program je proradio kako treba!!!
Istina,još uvek imam pad napona i ne mogu da ga okinem preko optokeplera,ali prespajanjem pinova i dovodjenjem 5V direktno na pin mikrokontrolera sve radi.
Danas-sutra ću da sednem i da sredim i tu ostalu „kozmetiku” i da sve finisiram.
Sinisa hvala!
SinisaJ
(Електр�)
2010-11-29 01:02 PM
„TRISA = 1; //port a je ulazni”

Ја бих рекао да ова команда намести само RA0 као улазни.
Ако цео порт А хоћеш као улазни мислим да треба да буде:

TRISA = 0xFF

или:

TRISA = 255
Pjer
(svratio samo na 5 minuta)
2010-11-29 09:11 PM
Sinisa „misli” mi se čini jače nego kad neko „tvdi”.

PS Hvala za onu informaciju o antenama. I meni je valjala :)
SinisaJ
(Електр�)
2010-11-30 11:43 AM
„Мислим” је због тога што не знам који компајлер је у питању и какве су правилне синтаксе у њему. Што се тиче хвале, треба да пошаљеш хвалу људима који су написали те странице(kq6qv(ет)aol.com). Тај о антенама је потпуно бесплатан и без реклама, а стварно је фантастичан.
Axe
(zjakoprodavac)
2010-11-30 05:19 PM
Sve komplet radi!
Da me neko sad pita zašto sam stavljao optokeplere između mikrokontrolera i TTL kola...nebih znao da mu odgovorim.
Što se kompajlera tiče,koristim MikroC.
Lep pozdrav svima!
 Comment Remember this topic!

Looking for Oil Diffuser Necklaces Sterling Silver?
.