OPROGRAMOWANIE MIKROKOMPUTERÓW
Projekt
Jakub Tutlewski
Tomasz Pawłowski
Projekt nr 5
Pewien system mikroprocesorowy dokonuje pomiarów i przetwarzania wilgotności pomieszczenia. Do systemu dołączony jest czujnik wilgotności oraz dwucyfrowy wyświetlacz siedmiosegmentowy. Napisać system obsługi pomiarów, który powinien podawać na wyświetlaczu średnią wilgotność z 20 ostatnich pomiarów wyrażoną w procentach. Zakłada się, że pomiary są odczytywane z pliku. Sterowanie wyświetlaczem realizowane jest według schematu:
gdzie bity oznaczone jako a-g oznaczają odpowiednie segmenty wyświetlacza a bit w wskazuje numer wyświetlacza (0 lub 1). Wilgotność mierzona jest w procentach określona jest wzorem W=99/255*B; gdzie B oznacza bajt odczytany z pliku.
Projekt składa się z 4 plików:
main.c
lib.asm
lib2.asm
dane.dat
Opis poszczególnych funkcji:
extern unsigned int humid (unsigned int data,unsigned short ile_buf,unsigned int buf[20] )
Funkcja napisana w assemblerze obliczająca wilgotność ( średnia z 20 ostatnich pomiarów) według zadanego wzoru.
extern unsigned int LCD ( unsigned int nseg, unsigned int liczba)
void rysLCD (int );
void rysBelke (int , int , int , int )
Funkcja rysuje pojedynczą belkę wyświetlacza siedmiosegmentowego.
void line(int , int , int , int , short )
void PutPixel (int , int , short )
void CloseGDI (void)
Zkończenie trzybu graficznego
void InitGDI (void)
Inicjalizacja trybu graficznego w assemblerze int 10h tryb 13h 320x200x256.
int readData (void)
Funkcja odpowiedzialna za wczytanie danych (wilgotność) z pliku dane.dat