sprawozdanie swb DK

Wojskowa Akademia Techniczna w Warszawie

Systemy wbudowane

Sprawozdanie z laboratorium 4-5:

Prowadzący:
mgr inż. J. Turczyn

Wykonał:
Damian Kacperczyk

Grupa:
I0X3S1
Data wykonania ćwiczenia:
18.04.2012r.

  1. Cel zadania:

Program powinien wyświetlać na terminalu wpisywane przez nas znaki oraz przekazywać ich odpowiedniki ( kody ASCII) do licznika.

  1. Kod programu:

#include <REGX52.H>

data unsigned char LiczB1 = 0, Odb=0, LiczS=0;

void IntSrv_Int0(void) interrupt 0

{

LiczB1++;

if (LiczB1 == 32) //pisz od nowej linii po CR LF

{

TI = 0;

SBUF = 0x0d; //SBUF = '\r' - wyslij CR

while (TI == 0) {;}; //czekaj az bajt zostanie wyslany - TxBufEmpty Interrupt TI=1

TI = 0;

SBUF = 0x0a; //SBUF = '\n' - wyslij LF

while (TI == 0) {;}; //jw

LiczB1 = 0;

}

SBUF = 0x30 + LiczB1; //dziala bez czekania jak w 20 i 23 bo klikanie B1 jest wolne

EA = 1;

}

void InitInt0(void) //inicjalizacja przerwan WYSYLANIA DO TERMINALA

{

TH1 = TL1 = 0xFD; //ustaw timer T1 dla 9600b/s

SCON = 0x40; //tryb1 portu S: tr. asynchr., 8b danych, mozna zmieniac predkosc transmisji

TMOD = 0x20; //tryb 2 timera T1: T1 8bitowy z autoreload po przepelnieniu

TCON = 0x41; //TR1=1 - Enable T1; IT0=1 - INT0 aktywne zboczem

EX0 = 1; //Enable INT0

EA = 1; //Enable All Interrupts

}

void IntSrv_Serial(void) interrupt 4 //obsluga przerwan WCZYTYWANIA Z TERMINALA

{

EA = 0;

TI=0;

Odb=SBUF; //wczytanie znaku

RI=0; //po odebraniu bajtu RI ustawiane jest na 1

EA=1;

}

void InitInt0_4(void)

{

TH1 = TL1 = 0xFD; //ustaw timer T1 dla 9600b/s

SCON = 0x50; //tryb1 portu S: tr. asynchr., 8b danych, mozna zmieniac predkosc transmisji

TMOD = 0x20; //tryb 2 timera T1: T1 8bitowy z autoreload po przepelnieniu

TCON = 0x41; //TR1=1 - Enable T1; IT0=1 - INT0 aktywne zboczem

EX0 = 1; //Enable INT0

ES=1;

EA = 1; //Enable All Interrupts

}

void main(void)

{

P2=0x00;

InitInt0_4();

for (;;)

{

P1 = Odb; //wyswietl na wyswietlaczu wartosc licznika

}

}

  1. Działanie programu:

Realizacje tego zadania przedstawia poniższy zrzut ekranu wykonany na laboratorium.

Możemy zaobserwować, że w momencie kiedy na terminalu wpiszemy literę, jej znak ascii jest przekazywany do wyświetlacza.

  1. Wnioski:

Zadanie na laboratoriach polegało na zaprojektowaniu układu, który pozwalałby na pokazanie na wyświetlaczach kodu ASCII znaku wpisanego przez użytkownika na terminalu. Sprawdzenia, czy program działa poprawnie można było dokonać wciskając kilka klawiszy i zapamiętując kody jakie pojawiały się kolejno na wyświetlaczach. Po ponownym wciśnięciu tych klawiszy, na wyświetlaczu powinny pojawić się te same, co poprzednio kody ACII. Zadanie udało mi się zrealizować na laboratoriach.


Wyszukiwarka

Podobne podstrony:
sprawozdanie swb DK
sprawozdanie swb ŁK
Sprawozdanie elektortechnika 2 DK
2 definicje i sprawozdawczośćid 19489 ppt
PROCES PLANOWANIA BADANIA SPRAWOZDAN FINANSOWYC H
W 11 Sprawozdania
Wymogi, cechy i zadania sprawozdawczośći finansowej
Analiza sprawozdan finansowych w BGZ SA
W3 Sprawozdawczosc
1 Sprawozdanie techniczne
Karta sprawozdania cw 10
eksploracja lab03, Lista sprawozdaniowych bazy danych
2 sprawozdanie szczawianyid 208 Nieznany (2)
Fragmenty przykładowych sprawozdań
Lab 6 PMI Hartownosc Sprawozdan Nieznany
Mikrokontrolery Grodzki Sprawoz Nieznany
biochemia sprawozdanie O (1)

więcej podobnych podstron