Forum www.nestor-electronic.pl Strona Główna www.nestor-electronic.pl
Forum sterowników procesorowych- programy BASCOM
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Kto mnie oświeci. Podstawy obsługi portów

 
Napisz nowy temat   Odpowiedz do tematu    Forum www.nestor-electronic.pl Strona Główna -> Pomoc w programowaniu BASCOM
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
dexter1515
Nowy


Dołączył: 01 Sty 2009
Posty: 10

PostWysłany: Nie Sty 04, 2009 2:10 pm    Temat postu: Kto mnie oświeci. Podstawy obsługi portów Odpowiedz z cytatem

Witam

Niewiem czy każdy początkujący miał takie problemy z opanowaniem
budowy mikoprocesora bo ja niestety tak.

I w żaden sposób nie moge zrozumieć jednoko

Jest taki przykład :



Wcisnięcie S1 Zapala lampkę a S2 ją gasi

Konfiguruje porty:
Config PortB=&B11111111 - wszystkie jako wyjścia
PortB=&B11111111 - stan spoczynkowy
Config PortD=&B1111100 - Dwa najmłodsze to wejścia ( Guziki S1 i S2)
PortD=&B1111011 - Włączony T2 Wejścia podciągnięte


To jest przykład z edw

I nie mogę pojąć tych stanów spoczynkowych

Rozumiem że najpierw ustalam czy port to wejście czy wyjście. I to jest jane

Ale wszędzie czytam że stan niski to logiczne zero. Czyli brak przepływu prądu
Więc dlaczego tu:
PortD=&B1111011 - Włączony T2 Wejścia podciągnięte
Jest wpisane zero przy stanie początkowym. Rozumiem że to zero to ustawienie staniu niskiego na nużce pd.3 gdzie jest podpięty tranzystor.

Wiec jak on ma zostać pobudzony ?? Skoro 0 to brak napięcia.

i tu to samo:

if pind.0 = 0 then then portb.7 = 0

ja to rozumiem że jeżeli na pinie 0 niema napięcia to ustaw brak napięcia na pinie 7 w porcie b.
Ale to bez sensu. Bo na porcie b.7 jest dioda i tam ma się właśnie pojawiać napięcie.

W opisie pisze że umozliwiamy pracę tranzystora wpisując logiczne zero do wyjścia pd.3 I znowu przecież 0 to bak napięcia. Czyli wyjście pływajace .
A wg mnie powinno być podciągnięte ?!


Krótko mówiąc We i Wy rozumiem.

Ale stanów początkowych juz nie Sad(
I nie bardzo trybię co to jest to wyjście pływające i podciągnięcie wejścia.

Z góry dzięki za pomoc
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Mirek
Lekko zaangażowany


Dołączył: 01 Gru 2007
Posty: 62

PostWysłany: Pon Sty 05, 2009 1:52 pm    Temat postu: Re: Kto mnie oświeci. Podstawy obsługi portów Odpowiedz z cytatem

dexter1515 napisał:

Jest wpisane zero przy stanie początkowym. Rozumiem że to zero to ustawienie staniu niskiego na nużce pd.3 gdzie jest podpięty tranzystor.

Wiec jak on ma zostać pobudzony ?? Skoro 0 to brak napięcia.

Na chłopski rozum:
Na schemacie jest tranzystor p-n-p --> podając masę (czyli logiczne zero z procka) wysterowujesz tranzystor i zaczyna on przewodzić.
dexter1515 napisał:

i tu to samo:

if pind.0 = 0 then then portb.7 = 0

ja to rozumiem że jeżeli na pinie 0 niema napięcia to ustaw brak napięcia na pinie 7 w porcie b.
Ale to bez sensu. Bo na porcie b.7 jest dioda i tam ma się właśnie pojawiać napięcie.

Błąd w rozumowaniu:
Ustawienie "0", to nie brak napięcia, a podanie MASY na wyjście
lub Na WEJŚCIU przy zwieraniu do masy odczytujesz to jako "0"

Czyli:
If pind.0=0 (jeżeli na wejściu pojawi się masa) Then portb.7=0 (czyli wystawiasz na wyjściu także masę)

logiczne "0", to nie całkiem 0V, a około 0.7V
Napisałem, że masa, bo może łatwiej zrozumieć Wink

dexter1515 napisał:

Krótko mówiąc We i Wy rozumiem.

Ale stanów początkowych juz nie Sad(
I nie bardzo trybię co to jest to wyjście pływające i podciągnięcie wejścia.

Z góry dzięki za pomoc


Jeżeli wejście podciągniesz --> to ustawiasz na nim logiczną "1"
Jeżeli tego nie zrobisz, to masz wejście pływające

Mam nadzieję, że pomogłem Wink
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
dexter1515
Nowy


Dołączył: 01 Sty 2009
Posty: 10

PostWysłany: Pon Sty 05, 2009 7:01 pm    Temat postu: Odpowiedz z cytatem

Cytat:
Mam nadzieję, że pomogłem


I to bardzo .

Teraz to zrozumiałem

Masz u mnie wiekie piwo tylko niebardzo jest jak je postawić

jeszcze raz dzięki

ja jeszcze mam jedno zapytanko:

Cytat:
lub Na WEJŚCIU przy zwieraniu do masy odczytujesz to jako "0"


a przy zwieraniu do + odcztuje jako 1 ??
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Mirek
Lekko zaangażowany


Dołączył: 01 Gru 2007
Posty: 62

PostWysłany: Pon Sty 05, 2009 10:05 pm    Temat postu: Odpowiedz z cytatem

dexter1515 napisał:


a przy zwieraniu do + odcztuje jako 1 ??


Prawidłowo robi się tak np.:
PortB.0 jako wejście

Kod:
Config portB.0= input


Procek posiada WEWNĘTRZNE rezystory(teraz nie pamiętam dokładnie, ale chyba 10k) podciągające do PLUSA (nie do MASY)
I tą komendą podciągasz wejście portu

Kod:
Set PortB.0


I jeżeli na to wejście podasz "0" (masę) przez opornik np. 4.7k
to zmieni się stan wejścia z "1" na "0"

Przykład odczytu przycisku:


Kod:

         IF PinB.0 = 0 Then             'czekasz, aż na wejściu pojawi się "0"
             Waitms 25                     'czas potrzebny do eliminacji drgania styku ;)
         IF PinB.0 = 0 Then             'jeżeli nadal "0" to znaczy, że naciśnięto przycisk
             Gosub jakiś podprogram    'po naciśnięciu przycisku jakieś instrukcje
         End If                               'a tu wiadomo ;)
         End If

         


Tak najprościej z wejściami Wink


Ostatnio zmieniony przez Mirek dnia Sob Maj 14, 2011 8:41 pm, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
dexter1515
Nowy


Dołączył: 01 Sty 2009
Posty: 10

PostWysłany: Wto Sty 06, 2009 2:01 pm    Temat postu: Odpowiedz z cytatem

kurcze

niewiem jak Ci dziękować

teraz to nawet ja to zrozumiałem Smile))
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Mirek
Lekko zaangażowany


Dołączył: 01 Gru 2007
Posty: 62

PostWysłany: Wto Sty 06, 2009 5:01 pm    Temat postu: Odpowiedz z cytatem

Spoko Wink
Powodzenia w "pisaniu" programów
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum www.nestor-electronic.pl Strona Główna -> Pomoc w programowaniu BASCOM Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


Powered by phpBB © 2001, 2005 phpBB Group