lab.2, spr 2 Michał Kata Tomasz Kordas L05


Politechnika Rzeszowska im. Ignacego Łukaszewicza

Mikronapędy w systemach komputerowych

Rok studiów: II FD

Grupa laboratoryjna: L05

Numer ćwiczenia: 2

Temat ćwiczenia:

Algorytmy komutacji silników skokowych w układzie otwartym

Wykonali:

Michał Kata

Tomasz Kordas

Data wykonania ćwiczenia:

21/03/2011

1. Cel ćwiczenia.

Celem ćwiczenia było napisanie programu, który będzie wyznaczał sekwencje liczb dla trzech rodzajów komutacji.

2. Program

#include <reg515.sfr>

#include <lcd.h>

char tab[8];

int j=0;

unsigned char klawisz, klawisz2;

unsigned int cyfra=0, cyfra2, f=1, predkosc;

int i, count;

_interrupt 5 void przerwanie(void)

{

if (j>=8)

j=0;

P1=tab[j];

j++;

}

void main()

{

int zn1;

int komutacja=1;

init();

while(1)

{

klawisz=get_char();

if ((klawisz!='\0') && (klawisz2!= klawisz));

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

{

if (count==0)

{

put_instr(0x80);

put_char(' ');

put_char(' ');

put_char(' ');

put_char(' ');

put_char(' ');

put_instr(0x80);

}

cyfra=10* cyfra +( klawisz -48);

put_char(klawisz);

count++;

for(i=0;i<20000;i++);

klawisz2= klawisz;

}

if((klawisz =='e') && ( count>0))

{

f=cyfra;

predkosc=0xFFFF-1000000/f;

CRCH=(predkosc>>8);

CRCL= predkosc;

for(i=0;i<20000;i++);

cyfra=0;

count=0;

}

if (klawisz =='g')

if (komutacja<=3)

{

komutacja++;

count++;

zn1++;

put_instr(0x88);

}

if (klawisz =='d')

if (komutacja>=1)

{

komutacja--;

count++;

zn1++;

put_instr(0x88);

}

if ((komutacja==1) && ( count>0) && (zn1>0))

{

put_char(49);

put_char('/');

put_char(52);

for(i=0;i<20000;i++);

count=0;

zn1=0;

}

if ((komutacja==2) && ( count>0) && (zn1>0))

{

put_char(49);

put_char('/');

put_char(50);

for(i=0;i<20000;i++);

count=0;

zn1=0;

}

if ((komutacja==3) && ( count>0) && (zn1>0))

{

put_char(51);

put_char('/');

put_char(56);

for(i=0;i<20000;i++);

count=0;

zn1=0;

}

EAL=1;

ET2=1;

T2R1=1;

T2I0=1;

if (komutacja==1)// komutacja 1/2

{

tab[0] = 8;

tab[1] = 2;

tab[2] = 4;

tab[3] = 1;

tab[4] = 8;

tab[5] = 2;

tab[6] = 4;

tab[7] = 1;

}

if (komutacja==2)// komutacja 1/4

{

tab[0] = 9;

tab[1] = 10;

tab[2] = 6;

tab[3] = 5;

tab[4] = 9;

tab[5] = 10;

tab[6] = 6;

tab[7] = 5;

}

if (komutacja==3)// komutacja 3/8

{

tab[0] = 8;

tab[1] = 10;

tab[2] = 2;

tab[3] = 6;

tab[4] = 4;

tab[5] = 5;

tab[6] = 1;

tab[7] = 9;

}

}
}

3. Wnioski.

Do wykonania ćwiczenia wykorzystaliśmy program z poprzednich zajęć. Jednakże nie udało nam się napisać instrukcji obsługującej kierunku obracania się silnika oraz wartości max i min prędkości.



Wyszukiwarka

Podobne podstrony:
lab.3, spr 3 Michał Kata Tomasz Kordas L05
lab.4, spr 4 Michał Kata Tomasz Kordas L05
Lab 6, Spr. 6, Akademia Górniczo - Hutnicza
Lab 8, Spr 8, Akademia Górniczo - Hutnicza
hydrologia lab 1 spr, Laborki
lab spr 25, Lab 25, Sprawozdanie
sem IV MG lab knsp ozn kąta tarcia wewn spójności gruntów w próbie?zpośredniego ścinania
Fiza lab spr.1, Fizyka

więcej podobnych podstron