-
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
- Pęczniejące LiPo
- wyłącznik ścienny
- "Wybitna" inteligencja AI
- test stereo
- Bluetooth stereo
- W USA budują pierwszą komercyjną elektrownię fuzji jądrowej
- Weryfikacja myjki ultradźwiękowej
- zasieg radaru
- Zmywarka Bosch SRV55T43EU - awaria
- Kod zniżkowy w TME do 26.09.2025
- SFP, 10G, simplex sc/apc
- [słabe wiatry powodują - przyp. JMJ] Energetyczny paraliż w Niemczech
- NxtPaper
- Programiści nie przestają zadziwiać świat
- Długi kabel zasilający a na końcu procek
Najnowsze wątki
- 2025-09-25 Ekstradycja Ukraińca za wysadzenie Nord Stream
- 2025-09-25 Mentzen: Nie macie pojęcia o kryptowalutach, a chcecie decydować o ich przyszłości!
- 2025-09-25 Wycofują 3G. Nie będzie nawet internetu.
- 2025-09-25 Pęczniejące LiPo
- 2025-09-25 wyłącznik ścienny
- 2025-09-25 Cenckiewicz ma czy nie ma poświadczenia bezpieczeństwa? [SKW cofnęła, WSA uchylił cofnięcie, NSA się ma wypowiedzieć]
- 2025-09-25 iKO
- 2025-09-25 jęczy wspomaganie
- 2025-09-24 "Wybitna" inteligencja AI
- 2025-09-24 test stereo
- 2025-09-24 Bluetooth stereo
- 2025-09-24 Rzeszów => International Freight Forwarder <=
- 2025-09-24 Gdańsk => Delphi Programmer <=
- 2025-09-24 Warszawa => BI Developer / Analityk BI <=
- 2025-09-24 Alior zmiana logowania