8051 i przetwornik analogowo cyfrowy

To forum jest dla wszystkich pasjonatów wiecznie młodych mikrokontrolerów '51. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
bajbus
-
Posty: 3
Rejestracja: 26 lis 2006, 19:45

8051 i przetwornik analogowo cyfrowy

Post autor: bajbus » 26 lis 2006, 20:04

witam wszystkich to mój pierwszy post tutaj :)
i od razu zapytanie
otóż mam zbudować układ który będzie pobierał dane z dwóch źródeł:
- pierwsze wysyła tylko 0 lub 1 (czujnik otwartego/zamkniętego okna)
- drugie to temperatura w pomieszczeniu

mniejsza o pierwsze bo wiem jak to podłączyć do mikrokontrolera (mam przynajmniej nadzieję że wiem)
chodzi mi o to drugie. czujnik temperatury z tego co wiem wysyła dane analogowo (czy to zmiana napięcia czy natężenia) i tu mój ból. Otóż czy muszę przed kontrolerem zastosować oddzielny przetwornik AC ? bo słyszałem że mikrokotrolery mają je w sobie ale w opisie 8051 nic nie znalazłem o tym.
Jakby ktoś mnie poinstruował czy mam zastosować ten oddzielny przetwornik AC czy może inny kontroler już posiadający przetwornik ?
aha wyjście z mikrokontrolera to jeden bit - mam dostawać info czy warunki są spełnione czy nie

Awatar użytkownika
marcing
Użytkownik
Posty: 868
Rejestracja: 14 lut 2006, 14:13
Lokalizacja: z pociągu...
Kontakt:

Post autor: marcing » 26 lis 2006, 20:18

Witam na Forum.
Jednakże - post "był" w niewłaściwym dziale. Przeniosłem...

A co do tematu temperatury:
"zwykły" 8051 rzeczywiście nie ma wbudowanego przetwornika A/C. Można zastosować zewnętrzny taki przetwornik, lub czujnik temperatury z wbudowanym przetwornikiem.

To drugie rozwiązanie jest o tyle lepsze, że takich układów jest sporo...
Przykłady? DS1820 (wraz z odmianami) - na szynie 1-Wire... DS1621 - na I2C...

Nie ma problemów z napisaniem programu - oba standardy są dość dobrze opisane, jest również wiele przykładów...

Można też zastosować "ulepszoną" wersję '51... Może ADuC841?

Poszukaj - a znajdziesz...

bajbus
-
Posty: 3
Rejestracja: 26 lis 2006, 19:45

Post autor: bajbus » 26 lis 2006, 20:53

dzięki za szybką odpowiedź :)
rozumiem że taki czujnik DS18B20 posiadający 3 "druciki" , uziemienie zasilanie i jedno data, przesyła bity szeregowo ? czyli wtedy kontroler muszę ustawić na transmisję szeregową ?
i mógłbyś podać jeszcze jakieś odmiany 8051 ? bo znam tylko 80c51 a nazw jest tyle że nie mam pojęcia które to są z rodzaju 8051 a które z innego

Awatar użytkownika
marcing
Użytkownik
Posty: 868
Rejestracja: 14 lut 2006, 14:13
Lokalizacja: z pociągu...
Kontakt:

Post autor: marcing » 27 lis 2006, 19:09

Najpierw mała prośba - proszę stosować zasady polskiej pisowni... Czyli zaczynać zdanie dużą literą, oraz odpowiednio stawiać znaki interpunkcyjne.
No ale dosyć tego "trucia".
bajbus pisze:i mógłbyś podać jeszcze jakieś odmiany 8051 ?
Dziś w zasadzie rodzina '51 to odmiany "młodszego" 8052.
Wielu producentów układów uP ma swoje odmiany '51 - w większości przypadków zgodne wyprowadzeniami z "podstawowym" układem 8051. Kilkanaście "różnic" to układy w obudowach do montażu powierzchniowego (TQFP, PLCC).
Na stronach producentów Philipsa (a właściwie teraz NXP), Analog Devices (czyli Analoga), Atmela - znajdziesz odpowiednie informacje.

Dziś rodzina '51 jest mniej popularna, jednakże najbardziej rozbudowana - i stosowana bardzo często... Nowsze rodziny - jak AVR, ARM - zdobywają coraz więcej rynku, ale nie oznacza to "śmierci" naszego bohatera :)

Co do nazw... W zasadzie wszystko, co ma 80 lub 89 na początku nazwy - to procesory z rodziny '51 (jest wiele wyjątków, ale to nie zmienia stanu rzeczy).
bajbus pisze:rozumiem że taki czujnik DS18B20 posiadający 3 "druciki" , uziemienie zasilanie i jedno data, przesyła bity szeregowo ? czyli wtedy kontroler muszę ustawić na transmisję szeregową ?
Tak, ale jest to specyficzna transmisja szeregowa - poszukaj informacji o 1-Wire.
Ja ze swej strony mogę wskazać źródło u producenta tych układów - czyli firmy Maxim (dawniej układy produkował Dallas - wchłonięty przez Maxim'a).

Pozdrawiam!

tasza
Użytkownik
Posty: 1391
Rejestracja: 21 lut 2005, 15:02

Post autor: tasza » 30 lis 2006, 12:22

może tylko taki mały hint...
jeżeli wykorzystanie kostek z 1-Wire typu DS1820 okaże się problemem (np. ze względu
na trudność z oprogramowaniem) to proponuję rozważyć użycie układów
AD7414 ( http://www.analog.com/en/prod/0,,764_814_AD7414,00.html )
AD7415 ( http://www.analog.com/en/prod/0,,764_814_AD7415,00.html )
to są zintegrowane czujniki temperatury (ten pierwszy z dodatkowym wyjściem typu alarm),
dostępne w Analog Devices jako sample a komunikują się z kontrolerem via I2C,
do transmisji danych potrzeba dwóch bitów I/O...

Przykładowy projekt, z którego można 'wydłubać' wymagane procedurki obsługi jest tu:
https://elportal.pl/index.php?module=Co ... y&ceid=234 (driver I2C w assemblerze, reszta w C)

pozdrawiam,
tasza

ODPOWIEDZ