Pozdrav...evo vako.....budući da sam u povojima šta se tiče BASCOMa, neznam koju naredbu koristit za sljedeću situaciju...
Kada se na pinu P3.4 stisne tipkalo, ukoliko je na pinu P1.0 "0" tada je na P1.1 "1", ukoliko P1.0 nije "0" u trenutku pritiskanja tipkala tada je P1.1 "0"....
Nadan se da ste razumili
BTW...koristim BASCOM 8051
O Hajduče ja te volim i za te' se Bogu molim, da ti zora sretna svane....
Šta da stavin na mjesto upitnika budući da je to namjenjeno tipkalima...neznan kako objasnit...nadan se da ste skužili...
Ne može kako si ti zamislio. Kako si ti napisao, vrata P1 i P3 definirana su kao izlazna. Ne možeš ista vrata istovremeno definirati kao izlazna i ulazna.
Može ovako:
$crystal = 12000000
Do
P1 = &B11111111
P3 = &B11110000
If P3.4 = 1 Then
P1.0 = 0
Else
P1.0 = 1
End If
Loop
Ne vidim na 8051-arhitwkturi zasto jedan pin ne moze istovremeno biti i ulaz i izlaz.
Ako trebas istovremeno postaviti stanje citavoga porta, a to je cini mi se, namjera, a da ne mijenjas stanje na pinovima na kojima su tasteri, koristi log. operaciju OR.
Dakle,
p1=p1 or &b11111111
p3=p3 or &b11110011
.....
end
pozz.
Ne vidim na 8051-arhitwkturi zasto jedan pin ne moze istovremeno biti i ulaz i izlaz.
Ja vidim. Da napišem, onako seljački. Odaberi recimo pin P1.0. Da bi taj pin glumio ulaz spoji ga s tipkalom. Drugi kraj tipkala spoji na masu. Na isti taj pin, dakle P1.0, da bi istovremeno glumio izlazni, spoji u seriju s otpornikom ledicu također na masu.
Kad držiš pritisnuto tipkalo pin P1.0 kao ulazni čita logičku ništicu, jer tipkalo taj ulazni pin spaja na masu. Kako ti vidiš, taj bi isti pin, dakle P1.0, istovremeno mogao biti izlazni, što znači da bi on prema masi mogao imati istovremeno i napon 0 V (ledica ne bi svijetlila) i napon 5 V (ledica bi trebala svijetliti), tj. istovremeno i logičku ništicu i logičku jedinicu, ovisno o tome kako se napiše program????
Mene samo zanima može li jedan PORT (a ne pin) istovremeno bit ulazni i izlazni
Da ne bi bilo nesporazuma. Dio porta možeš definirati kao ulazni, a drugi dio kao izlazni, dakle neke od pinova definiraš kao ulazne, a druge kao izlazne.
Do
Debounce P3.4 , 0 , Promjena_stanja
Loop
'
Promjena_stanja:
If P1.0 = 0 Then
P1.1 = 1
Else
P1.1 = 0
End If
Return
Fala kralju...
Gle sad ovo:
$crystal=12000000
Do
P1 = &B10101010
Wait 10
P1 = &B01010101
Wait 10
Debounce P3.4 , 0 , Tipkalo , Sub
Tipkalo:
P1 = &B00000000
Wait 10
Return
Loop
End
Želim da se LEDice palu po programu, a ako se stisne tipkalo onda upada potprogram i kad završi vraća se normalan program....kako da sredin to..je po ovom upalu se parne (10 sekunda), pa neparne (10 sekunda), pa se sve pogasu (10 sekunda), pa opet parne,....itd
EDIT: Sređeno
O Hajduče ja te volim i za te' se Bogu molim, da ti zora sretna svane....
Hm, malo kasnim ali ipak da ne ostane nedoreceno.
Prvo: P1.0 i p1.1 kod 89c2051, su ulazi komparatora i NEMAJU ugradjene pull-up otpornike stoga ukoliko se isti ne dodaju izvana mogu samo davati log.0 na izlazu.
Drugo: 8051 arhitektura u stanju log.1 daje struju reda uA pa ne moze u tom stanju izravno pogoniti trosila kako ti ocekujes, a probaj na takav nacin kako opisujes spojiti tipkalo prema masi a recimo, NPN tranzistor sa ledicom prema + i dodaj pull-up otpornik od recimo 2.2k pa ces vidjeti da moze istivremeno biti i ulaz i izlaz.
Dakle....debounce pribaci u podprogram tek kad je strelica(ona u simulatoru) na njemu.....dakle...uvjek je onaj zadnji uvjet zadovoljen kad debounce provjerava tipkalo i uvjek se izvrši "ono za zeleno".....hitno bi mi tribala pomoć.... hoće li tako biti i u praksi...
O Hajduče ja te volim i za te' se Bogu molim, da ti zora sretna svane....
haj društvo, dolazim iz Imotskog, i u zadnje vrijeme posato sam fan programiranja mikrokontrolera, i sami znate kako to može biti zarazno, pogodotvo kad se uhvatite ovako u koštac sa problemom vrlo viskog stupnja kako što je moj....
Mogu li na AT 89C2051 pinove za interrupt TIMER0 i TIMER1 koristiti na način kao i INT0 i INT1 budući da su potonji već zauzeti, a trebaju mi 2 interrupta....
O Hajduče ja te volim i za te' se Bogu molim, da ti zora sretna svane....