Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Potrebna pomoc u vezi konfigurisanja porta AT89S8253 u KEIL-u

[es] :: Elektronika :: Mikrokontroleri :: Potrebna pomoc u vezi konfigurisanja porta AT89S8253 u KEIL-u

[ Pregleda: 1695 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

endre85

Član broj: 207893
Poruke: 325



+116 Profil

icon Potrebna pomoc u vezi konfigurisanja porta AT89S8253 u KEIL-u10.05.2011. u 03:30 - pre 110 meseci
Moj problem je sledeci:

Na port1 mikrokontrolera AT89S8253 imam povezan citac smart kartica. Pinovi P1^0 i P1^1 sluze za detektovanje da li je kartica ubacena ili nije, medjutim ne mogu naterati ovu funkciju da proradi. P1^0 treba da je na visokom logickom nivou i da bude output a P1^1 input. U zavisnosti od njegovog stanja zna se da li ima ubacene smart kartice ili ne (0 kada je kartica ubacena, 1 kada nije). Ja sam to probao resiti tako sto u donjem kodu imam sledece kljucne linije koda:

Code:
Code:
 sbit HK_PrekidacPrisutnostiDavac    =    P1^0;//uvek 1
 sbit HK_PrekidacPrisutnostiPrimac    =    P1^1;//proverava da li je HaloKartica prisutna. 0-prisutna, 1-nije prisutna(u slotu, nije ubacina,...)
 .
 .
 .
 HK_PrekidacPrisutnostiDavac=1;
 .
 .
 .
 if(HK_PrekidacPrisutnostiPrimac==0)   
 {
 }
 else if(HK_PrekidacPrisutnostiPrimac==1)   
 {
 }



Medjutim meni ovo ne funkcionise, kao da pinovi ne uzimaju dodeljen vrednosti. A sad sam negde procitao da kad se pinu dodeli vrednost 1 onda se on ponasa kao input?! (http://www.keil.com/download/docs/84.asp) Da li trebam koristiti neku naredbu tipa tris? Svaka pomoc je dobrodosla.

citac_main3_09_05_2011.c
http://www.filefactory.com/fil...6fe/n/citac_main3_09_05_2011.c
 
Odgovor na temu

micromatic
Hrvatska

Član broj: 37825
Poruke: 85
217.68.80.*

Sajt: www.micromatic.hr


Profil

icon Re: Potrebna pomoc u vezi konfigurisanja porta AT89S8253 u KEIL-u10.05.2011. u 10:38 - pre 110 meseci
Nije mi jasno što će ti

HK_PrekidacPrisutnostiDavac=1

koristim Keil ali u asembleru pa za ispravnost naredbi iz c-a nisam baš siguran ali stvar se svodi na slijedeće:

Pinovi AT89S8253 nemaju posebnih komandi za definiranje smjera (kao TRIS kod Pic-a) već se po resetu svi postave u 1. Ukoliko ne diraš sadržaj porta ili pina ne treba ga postavljati u 1 ali ne škodi. Da bi pin koristili kao ulaz trebamo na njega dovesti logičku nulu izvana (spojiti ga na masu). Kako nisi prikačio shemu ne znam kako si to spojio ali trebaš pin P1.1 spojiti na masu kad je kartica ubačena.

Malo mi je čudna i ova If ; Else If sintaksa s obzirom da pin može biti samo 1 ili 0.


 
Odgovor na temu

endre85

Član broj: 207893
Poruke: 325



+116 Profil

icon Re: Potrebna pomoc u vezi konfigurisanja porta AT89S8253 u KEIL-u10.05.2011. u 11:24 - pre 110 meseci
Hvala na odgovoru.

Da objasnim sada kako je ovo izvedeno i sta je HK_PrekidacPrisutnostiDavac. Naime, u citacu kartice postoje dva metalna kontakta koji se dodiruju kad kartica nije ubacena i ne dodiruju se kada kartica jeste. Jedan kontakt je povezan na P1^0 (HK_PrekidacPrisutnostiDavac) a drugi na P1^1 (HK_PrekidacPrisutnostiPrimac).



Jedinicom je obelezen P1^0:


Ako sam te dobro shvatio, gornji nacin povezivanja je los. Jedan od kontakta treba da ostane HK_PrekidacPrisutnostiPrimac a drugi kontakt da se poveze na masu? Onda ce P1^1 biti jedinica kad je kartica ubacena i nula kad nije?!

Sto se if-else naredbe tice. Prvo je bilo

Code:

if(HK_PrekidacPrisutnostiPrimac)
{
}
else
{
}


ali nije hteo funkcionisati kako sam ja zamislio pa sam malo eksperimentisao sa naredbama.



[Ovu poruku je menjao endre85 dana 10.05.2011. u 12:36 GMT+1]
 
Odgovor na temu

micromatic
Hrvatska

Član broj: 37825
Poruke: 85
217.68.80.*

Sajt: www.micromatic.hr


Profil

icon Re: Potrebna pomoc u vezi konfigurisanja porta AT89S8253 u KEIL-u10.05.2011. u 12:11 - pre 110 meseci
Biti će obrnuto. Dakle jedan kontakt (bivši P1.0) spojiš na stalnu masu a drugi prema P1.1. kad ubaciš karticu P1.1 će se spojiti na masu odnosno biti nula. Kad je izvadiš P1.1 će biti na jedinici (interni PullUp na portu).

Ili možda ipak obrnuto, ne mogu to dokućiti s tvojih slika ali u svakom slučaju to lako utvrdiš i podesiš kako valja.
 
Odgovor na temu

endre85

Član broj: 207893
Poruke: 325



+116 Profil

icon Re: Potrebna pomoc u vezi konfigurisanja porta AT89S8253 u KEIL-u10.05.2011. u 12:30 - pre 110 meseci
Citat:
micromatic: jedan kontakt (bivši P1.0) spojiš na stalnu masu a drugi prema P1.1. kad ubaciš karticu P1.1 će se spojiti na masu odnosno biti nula. Kad je izvadiš P1.1 će biti na jedinici (interni PullUp na portu).


^Ovako sam mislio u drugoj poruci. Hvala na pomoci. Probacu veceras da li funkcionise.



[Ovu poruku je menjao endre85 dana 10.05.2011. u 14:58 GMT+1]
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: Potrebna pomoc u vezi konfigurisanja porta AT89S8253 u KEIL-u

[ Pregleda: 1695 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.