07.03.2016
Mikronapędy w systemach komputerowych
Laboratorium 1:
Komunikacja użytkownika z systemem mikroprocesorowym
Ławniczek Piotr
Malec Łukasz
Marcola Łukasz
L05
1. Wstęp
Celem laboratorium było napisanie programu w języku C. Miał on za zadanie wyświetlać na wyświetlaczu LCD cyfry naciskane z klawiatury aż do momentu naciśnięcia klawisza enter. Następnie miał za zadanie zapamiętać wpisaną liczbę przypisując ją do zmiennej.
2. Program napisany na zajęciach:
3. Wniosek:
Program sporządzony podczas zajęć laboratoryjnych został napisany prawidłowo. Potwierdza to fakt, iż po wysłaniu go do sterownika spełniał swoje zadanie. Zamieszczony wyżej kod nie zawiera żadnych zmian co do napisanego na zajęciach.
Jedyny problem w realizacji ćwiczenia stanowiła funkcja opóźniająca, ponieważ ciężko było dobrać odpowiednią wartość wykonywania pętli.
#include<reg515.sfr>
#include<lcd.h>
void czekaj(); //deklaracja funkcji opóźniającej
unsigned int l;
unsigned char x;
void main()
{
int i=1, li=0;
l=0;
lcd_init(); //funkcja inicjalizacji wyświetlacza
out_instr(0x01); //rozkaz do sterownika kasujący dane
//i ustawiający kursor pod adres 0
while(1)
{
x=get_kb(); //?sczytywanie znaku do zmiennej
czekaj();
if(x!='\0') //warunek wciśnięcia dowolnego klawisza
{
if(x>='0' && x<='9') //warunek wciśnięcia cyfry
{
out_char(x); // ?wyświetlenie znaku na ekranie
li=(li*i)+(x-48);
i=10;
}
}
if(x=='e') //warunek wciśnięcia klawisza enter
{
out_instr(0xC0); //?
out_char(li); //?
czekaj();
x=get_kb(); //?
while(x=='\0')
{
x=get_kb();
}
out_instr(0x01);
li=0;
i=1;
}
}
}
void czekaj() //definicja funkcji opóźniającej
{
int i;
for(i=0;i<15000;i++){}
}