Stare, spr 4, Politechnika Rzeszowska im


#include <reg515.sfr>

#include <lcd.h>

unsigned char x;

unsigned int liczba, licznik = 0, impulsy, n, i, kierunek = 1, hall;

void czekaj(unsigned int n);

unsigned char tablicaP1[6] = {222,219,249,237,231,246}; //wartosci dla zmiennej P1

unsigned char tablicaH[6] = {3,1,5,4,6,2}; //hallotrony, sprawdzanie

aktualnego polozenia wirnika

_interrupt 5 void int_T2(void) //funkcja cykliczna, obsługuje przerwanie nr 5

{

TF2 = 0;

hall = P4 & 7; // odczytanie `pozycji hallotronu'

for (i = 0; i < 6; i++)// petla lokalizujaca jego indeks

w tablicy hallotronow

{

if (tablicaH[i] == hall)

n = i; // n -> index w tablicy

}

if(kierunek == 1)

{

if(n == 5) //jesli koniec tablicy, wracamy do

pierwszego ustawienia z tabeli

{

P1 = tablicaP1[0];

n = 0;

}

Else // w przeciwnym wypadku bierzemy nastepne

{

P1 = tablicaP1[n+1];

}

}

if(kierunek == 0) // analogicznie w drugim kierunku

{

if(n == 0)

{

P1 = tablicaP1[5];

n = 5;

}

else

{

P1 = tablicaP1[n-1];

}

}

}

int main()

{

init();

liczba = 0;

T2R1 = 1;

T2I0 = 1;

EAL = 1;

ET2 = 1;

CRCH = 0;

CRCL = 0;

while(1)

{

x = get_char();

if((x >= 48) && (x <= 57))

{

liczba = 10 * liczba + (x - 48);

put_char(x);

}

if(x == 'e')

{

put_instr(0x01);

czekaj(20000);

if(liczba < 100) liczba = 100; //blokada minimalnej

predkosci

if(liczba > 600) liczba = 600; //-`'- maksymalnej

impulsy = 1000000/liczba;

CRCL = -impulsy;

CRCH = -(impulsy >> 8);

liczba = 0;

}

if(x == 'p') // strzalka w prawo, zmiana kierunku poruszania sie wirnika, globalna zmienna z kierunkiem {

kierunek = 1;

}

if(x == 'l') // strzalka w lewo, analogicznie

{

kierunek = 0;

}

czekaj(20000);

}

return 0;

}

void czekaj(unsigned int n) //funkcja opozniajaca

{

int i;

for(i = 0; i < n; i++){ }

}



Wyszukiwarka

Podobne podstrony:
Stare, spr 3, Politechnika Rzeszowska im
Stare, spr 1, Politechnika Rzeszowska im
spr 5, Politechnika Rzeszowska Budownictwo, IBD, Fizyka
Spr. 2 ZEN, POLITECHNIKA Rzeszowska
Katedra Geodezji im, Politechnika Rzeszowska Budownictwo, IBD, Geodezja
8 krokiew ugiecie mn, Budownictwo Politechnika Rzeszowska, Rok IV, Konstrukcje Drewniane, drewno mat
konsystencje, Budownictwo Politechnika Rzeszowska, Rok II, Mechanika Gruntów, Mechanika Gruntów
praca-magisterska-7092, 1a, prace magisterskie Politechnika Krakowska im. Tadeusza Kościuszki
praca-magisterska-7091, 1a, prace magisterskie Politechnika Krakowska im. Tadeusza Kościuszki
POLITECHNIKA RZESZOWSKA 01
Politechnika Rzeszowska Rok aka Nieznany
praca-magisterska-6927, 1a, prace magisterskie Politechnika Krakowska im. Tadeusza Kościuszki
praca-magisterska-6888, 1a, prace magisterskie Politechnika Krakowska im. Tadeusza Kościuszki
sciaga ekonomia i problemy, Politechnika Rzeszowska, Rok I, Semestr 1, Ekonomia

więcej podobnych podstron