Laboratorium Układów Mikroprocesorowych |
||||||
Rok akademicki |
Termin |
Rodzaj studiów |
Kierunek |
Prowadzący |
Grupa |
Sekcja |
2008/2009 |
Środa |
Wieczorowe |
INF |
KT |
2 |
1 |
|
19:45 - 21:15 |
|
|
|
|
|
Sprawozdanie z ćwiczenia numer 15
Data wykonania ćwiczenia: 2008-11-27
Temat ćwiczenia:
Szeregowe Magistrale Synchroniczne
Skład sekcji:
|
Szymoszek Wojciech |
Kwiatkowski Grzegorz |
Sadowski Paweł |
Uszok Robert |
Zydroń Ireneusz |
TREŚĆ ZADANIA
Zmodyfikować podany przez prowadzącego program, a w zasadzie procedury zapisu i odczytu, tak aby poprawnie działał na interfejsie I2C i
KOD PROGRAMU
ODCZYT
i2c_rd: push RR7
acall i2c_start ;start transmisji
;mov A,#i2c_8570 ;WRITE - aby zapamietac adres
mov A,#i2c_8591
mov i2c_dane,A
acall i2c_out ;wyslij bajt
;mov A,i2c_adres ;adres komorki w EEPROM
mov A,#01000001b ;adres ukł
mov i2c_dane,A
acall i2c_out ;wyslij adres
acall i2c_start ;przerwanie instrukcji WRITE
;mov A,#i2c_8570
mov A,#i2c_8591
orl A,#00000001b ;instrukcja READ
mov i2c_dane,A
acall i2c_out ;wyslij instrukcje READ
acall i2c_in ;odczytaj bajt
acall i2c_in_no_ack ;odczytaj bajt danych
acall i2c_stop
pop RR7
ret
ZAPIS
i2c_wr: push RR6
push RR7
mov R6,i2c_dane ;zapamietaj bajt do wyslania
acall i2c_start ;start transmisji
;mov A,#i2c_8570 ;WRITE
mov A,#i2c_8591 ;WRITE
mov i2c_dane,A
acall i2c_out ;wyslij WRITE
mov A,i2c_adres ;adres komorki w EEPROM
mov i2c_dane,A
acall i2c_out ;wyslij adres
mov i2c_dane,R6 ;odtworz dana do zapisania
acall i2c_out ;wyslij dana
acall i2c_stop
pop RR7
pop RR6
ret
WNIOSKI
Wyżej przedstawione procedury w pełni zadowoliły prowadzącego podczas laboratorium. Program działał poprawnie - zgodnie z założeniami (Sprawdziliśmy to dzięki możliwości podglądu zawartości rejestrów.), a wykonanie zadania nie sprawiło nam większych problemów, jednocześnie pozwoliło lepiej poznać specyfikę działania interfejsu I2C.
I2C jest jednym z najpopularniejszych interfejsów synchronicznych. Mimo, iż został
zaprojektowany w celu użycia w sprzęcie audio-wizualnym, ma również spore zastosowanie
w kartach elektronicznych oraz komputerach PC.
Oprogramowanie tego interfejsu nie jest rzeczą bardzo skomplikowaną, dlatego też projektanci często wykorzystują go do podłączenia różnego rodzaju pamięci, termometrów czy też przetworników.