-
Data: 2017-02-14 10:55:09
Temat: Re: Programowanie AT89Cxx51
Od: "J.F." <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Użytkownik "MKi" napisał w wiadomości grup
dyskusyjnych:58a2c045$0$15193$6...@n...neostrad
a.pl...
> Mam jednak kilka pytań:
> 1) Widzę, że możliwy jest dostęp do pinów GPIO za pomocą konstrukcji
> w
> rodzaju Px_y, gdzie x oznacza numer portu, a y numer pinu w porcie.
> Można dzięki temu przypisywać wartość bezpośrednio do pinu, (np.
> P0_1=1). Czym jest taka konstrukcja? Można zdefiniować jakąś zmienną
Maja taki specjalny tryb adresacji - dla wybranych rejestrow i kawalka
pamieci dostepny jest tryb bitowy.
Zapisujesz odpowiedna instrukcja i bit sie zmienia.
Ale ... kompilator musi wiedziec, ze tu jest potrzebna specjalna
instrukcja.
>> wskaźnikową, która umożliwi mi dostęp do tak zdefiniowanego pinu?
>> Chciałbym przeportować pewną prostą bibliotekę do obsługi
>> przycisków.
>> Dobrze by było, gdybym mógł przekazać informację o pinie właśnie w
>> ten
>> sposób, jako argument funkcji, a potem trzymać ją w strukturze
>> opisującej przycisk.
>Zerknij do plików nagłówkowych SDCC, np:
>__sbit __at (0x87) P0_7
>Jak widać, to jest po prostu liczba, tylko z atrybutami __sbit __at
Przy czym jak tych przyciskow wiecej, to moze byc jednak lepiej
oblsugiwac to calymi bajtami.
>> 2) Czy możliwe jest korzystanie z portów w sposób taki, jak w
>> AVR-ach?
>> To znaczy coś w rodzaju P0 |= (1<<2).
>Oczywiście, dokładnie tak samo.
Ostroznie, tam sa rozne tryby adresacji, i znow trzeba uwazac co
kompilator z tym zrobi.
Raczej zrobi dobrze, ale instrukcja
ORL P0, #01h
odczytuje rejestr portu wyjsciowego, ustawia najmlodszy bit i zapisuje
ponownie.
Instrukcja
MOV A, P0
odczytuje stanu pinow portu.
Jak potem zrobisz
ORL A,#01h
MOV P0,A
To to nie bedzie to samo (patrz nizej).
>> 3) Dobrze rozumiem, że te mikrokontrolery nie posiadają żadnych
>> rejestrów konfiguracyjnych, jeśli chodzi o kierunek pinu i działają
>> podobnie do prostych ekspanderów I2C?
>Tu już nie jestem taki pewny, daawno nie programowałem AT89.
>Ale chyba faktycznie nie ma żadnej konfiguracji, stan niski
>to twarde 0, stan wysoki to wysoka impedancja.
Dokladnie - rejestry sa jednoczesnie wejsciowe i wyjsciowe.
tranzystor wyjsciowy "dolny" jest silny, "gorny" slabiutki, a w
zasadzie to stale pull-up (+ te 2 cykle).
Jesli ustawisz bit na "0", to wyjscie bedzie na 0, i nie nalezy
podawac z zewnatrz stanu wysokiego.
Jesli ustawisz bit na "1", to wyjscie bedzie w stanie wysokim, ale
slabym (~1mA), mozna z zewnatrz wymusic zero.
Bity, ktore maja byc wejsciowe, musisz najpierw ustawic na 1.
J.
Następne wpisy z tego wątku
- 14.02.17 11:24 w systemie siła 'PO/EU
- 15.02.17 06:16 Atlantis
- 15.02.17 09:56 MKi
- 15.02.17 13:27 Marek
- 16.02.17 08:33 Atlantis
- 16.02.17 08:40 Zbych
- 16.02.17 09:18 Atlantis
- 20.02.17 18:36 Atlantis
- 20.02.17 19:04 J.F.
- 23.02.17 08:38 MKi
- 23.02.17 10:20 Piotr Gałka
- 23.02.17 21:07 Zbych
- 24.02.17 11:01 Piotr Gałka
- 24.02.17 11:28 Zbych
- 24.02.17 11:38 Piotr Gałka
Najnowsze wątki z tej grupy
- Disk on Module, czym to odczytać?
- Pasta ochronna? Lutownicza?
- zagadka pneumatyczna
- Klip testowy, jak sie to używa
- Jak sie smazy elektronike z odleglosci kilkuset metrów?
- William Shockley, co-inventor of the transistor
- Gazowy kocioł CO regulacja cyklingu i regulacja pogodowa
- Zamek elektroniczny
- szablon do pasty DIY
- Głośnik potrzebny
- Silikonowy przewód ekranowany
- Wtyk bananowy ekranowany
- Co może być gorsze od pożaru elektryka?
- daltonizm
- Mały Linux
Najnowsze wątki
- 2025-11-18 Warszawa => Konsultant ERP Microsoft Dynamics 365 Commerce <=
- 2025-11-18 Wrocław => Programista React ze znajomością C++ <=
- 2025-11-18 Wrocław => React Developer with knowledge of C++ <=
- 2025-11-18 Warszawa => Senior Algorithm Developer (Java/Kotlin) <=
- 2025-11-18 Warszawa => Cloud Engineer <=
- 2025-11-18 Nowe przepisy dotyczące pieszych
- 2025-11-18 Chiny => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu <
- 2025-11-18 Warszawa => Project Manager (AI and innovation) <=
- 2025-11-18 Warszawa => Project Manager (AI and innovation) <=
- 2025-11-18 Warszawa => Java Developer <=
- 2025-11-18 Warszawa => System Administrator <=
- 2025-11-18 piękne wzruszyłem się
- 2025-11-17 SAFIJAN twierdzi że przyrzeczenie sędziego można składać przed KOMINIARZEM ;-)
- 2025-11-17 Warszawa => International Freight Forwarder <=
- 2025-11-17 Białystok => Programista React ze znajomością C++ <=




Prezenty pod choinkę z drugiej ręki? Polacy wciąż tradycjonalistami