Professional Documents
Culture Documents
Awiczenie 06
Awiczenie 06
BASCOM College
Ćwiczenie 6
Zegar z magistralą I2C
Rys. 1
Dzisiaj rozpoczniemy ćwiczenia w nieco nie− Popatrzcie na rysunek 2, na którym został po− +5VDC i będzie funkcjonował zupełnie po−
typowy sposób: musimy trochę przerobić na− kazany schemat przerobionego fragmentu prawnie. Jednak po wyłączeniu zasilania
sze podstawowe narzędzie pracy, jakim jest płytki. Przed przeróbką dwa układy współpra− układ ten “straci pamięć” i po powtórnym uru−
płytka testowa AVT−2500. Nie, nie obawiajcie cujące z magistralą I2C zegar czasu rzeczywi− chomieniu rozpocznie zliczanie czasu od po−
się, nie ma na niej żadnych fatalnych błędów stego IC5 i pamięć szeregowa EEPROM IC2 czątku, czyli od ustawień zerowych. Czytelni−
(no może poza jednym malutkim, który zaraz mogły być dołączane za pomocą jumperów do cy, którzy mają zamiar wykonywać długo−
przy okazji naprawimy). Płytkę musimy nieco różnych wyprowadzeń procesora. Takie roz− trwałe eksperymenty z RTC lub nawet chwilo−
zmodyfikować z innego powodu: podczas jej wiązanie, aczkolwiek możliwe do zrealizowa− wo wykorzystywać płytkę testową w roli do−
projektowania nie wszystko zostało do końca nia na drodze programowej, nie miało naj− mowego zegara, mogą dokonać jeszcze jednej
przemyślane i zoptymalizowane. To dość nor− mniejszego sensu, a nawet zaprzeczało idei zmiany. Układ PCF8574 do poprawnej pracy
malne: dopiero czas pokazuje, jakie rozwiąza− magistrali I2C. Po przeróbce do transmisji da− wymaga podania napięcia zasilania nie mniej−
nia sprawdziły się w praktyce, a jakie musimy nych I2C potrzebne będą tylko dwa wyprowa− szego niż +5VDC. Jednak nawet po obniżeniu
zmienić. Zmiany na płytce będą drobne i pro− dzenia procesora: P3.5 i P3.7. Bardzo Was tego napięcia do 1V układ nie przestaje zliczać
ste do przeprowadzenia i polegać będą na przepraszam, że musieliście wykonać dodat− upływającego czasu, traci jedynie możliwość
przecięciu trzech ścieżek i dolutowaniu od kową pracę, ale nie wszystko przemyślałem do kontaktu z procesorem, pobierając za to prąd
spodu płytki dwóch dodatkowych zworek. końca podczas projektowania płytki. rzędu kilku mikroamperów. Wynika z tego, że
Popatrzcie na rysunek 1, na którym zosta− Istnieje jeszcze jedna możliwość modyfi− warto dodać na naszej płytce dodatkowe
ła pokazana od strony lutowania mozaika kacji naszej płytki, o której można powiedzieć źródło zasilania awaryjnego dla układu
ścieżek naszej płytki testowej. Kolorem niebie− że jest “nadobowiązkowa” i dotyczy sposobu PCF8683, którym może być dowolnie mała
skim zaznaczone są zworki już istniejące na zasilania “bohatera” naszego dzisiejszego bateryjka 1,5V. Na rysunku 2b został pokaza−
płytce, a kolorem zielonym dwa dodatkowe ćwiczenia: zegara czasu rzeczywistego ny schemat zmian, jakie musimy wykonać na
połączenia, które za chwilę wykonamy. Nato− PCF8583. Układ ten zasilany jest na płytce
miast czerwone strzałki wskazują miejsca, zupełnie prawidłowo: z szyny zasilającej Rys. 2
w których musimy przeciąć ścieżki. Przecięcia
w punktach oznaczonych jako 1 i 2 umożliwią
wykonanie nowych połączeń, a przecięcie
ścieżki w punkcie 3 pozwoli przy okazji napra−
wić drobny błąd, który powstał w procesie pro−
dukcyjnym pierwszej serii płytek AVT−2500.
Zwarty na stałe został na niej jumper JP4, unie−
możliwiając w ten sposób odłączenie wypro−
wadzenia SCL układu IC5 od magistrali I2C.
Po przecięciu ścieżek musimy jeszcze
wykonać dodatkowe połączenia, zaznaczone
na rysunku kolorem zielonym. Połączenia
wykonujemy odcinkami kynaru lub zwykłe−
go przewodu w izolacji, lutując je do punk−
tów zaznaczonych na rysunku zielonymi
kropkami. Po sprawdzeniu poprawności wy−
konania przeróbek, wkładamy płytkę z po−
wrotem do obudowy.
O co właściwie chodziło i co osiągnęliśmy
w wyniku dokonania tych prostych przeróbek?
doformatu BCD
do formatu BCD
S = 0 'wyzerowanie sekund
Rys. 8
I2cstart 'inicjalizacja magistrali I2C
Ciąg dalszy ze strony 22 Jednak składnia polecenia I2CRECEIVE Na tym możemy zakończyć teoretyczne
Warto zauważyć, że polecenie I2CSEND może być znacznie bardziej rozbudowana, rozważania na temat magistrali I2C i spo−
nie wymaga wstępnego inicjalizowania ma− a to samo polecenie może służyć zarówno do sobu jej obsługiwania z poziomu języka
gistrali, które wykonywane jest samoczyn− odbierania danych z magistrali I2C, jak i do MCS BASIC. Zapraszam Was teraz do
nie. Niestety, większa uniwersalność tego ich wysyłania: wykonania kilku ćwiczeń, które dadzą
polecenia okupiona jest pewnym zwiększe− I2CRECEIVE [adres, wartość, liczbę baj− nam rzecz najważniejszą: praktyczną wie−
niem długości kodu wynikowego. tów do wysłania, liczbę bajtów do odebrania] dzę o sposobach wykorzystywania magi−
Poleceniem komplementarnym do Na przykład: strali I2C.
I2CSEND jest I2CRECEIVE. Składnia tego Dim Wartosc(10) As Byte
polecenia i jego możliwości są bardzo podob− Wartosc(1) = 1
ne do I2CSEND. W najprostszej postaci uży− Wartosc(2) = 3 Zbigniew Raabe
I2creceive adres urządzenia, Wartosc(), 2, 1
wamy tego polecenia do odczytywania jednej 'wysłanie na magistralę e−mail: zbigniew.raabe@edw.com.pl
wartości z urządzenia podporządkowanego: I2C dwóch bajtów i odebranie 'jednego bajtu Konsultacje: Sławomir Surowiński
I2CRECEIVE [adres, wartość] Print Wartosc(1) 'wydruk odebranej wartości e−mail: slawomir.surowinski@ep.com.pl