1
~K.
Data wykonania: 13.04.2010
Data oddania: 27.04.2010
Mikronapędy w systemach komputerowych
Laboratorium
Ćwiczenie 3
Algorytm komutacji silników skokowych ze sprzężeniem zwrotnym.
2 FDI Grupa: L-04
Kod programu
#include
<reg515.sfr>
#include
<lcd.h>
unsigned
char
tablica[4]={9,10,6,5};
// komutacja 1/2
unsigned
char
x;
// znak wpisywany z klawiatury
int
licznik, czekaj;
// licznik "przechodzi" po tablicy
// czekaj jest argumentem funkcji opznienie
void
opoznienie(
int
x){
// funkcja opozniajaca
int
i;
for
(i=0;i<x;i++);
}
_interrupt 0
void
int_0(
void
){
P1=tablica[licznik++];
if
(licznik == 4)
// ustawienie licznika na 0 po przejsciu wszystkich elementow tablicy
licznik=0;
opoznienie(czekaj);
}
int
main(){
init();
EAL=0;
EX0=1;
IT0=1;
while
(1){
x = get_char();
if
(x ==
'e'
){
czekaj=1000;
EAL=1;
// uruchomienie silnika
P1=9;
}
}
return
0;
}
2
Wnioski
Powyższy program uruchamia silnik, niestety nie udało nam się poprawnie napisać kodu dzięki któremu silnik
hamowałby po wykonaniu zadanej liczby obrotów. Pomimo dołożenia wszelkich starań nie potrafiliśmy znaleźć
błędów. Przy implementowaniu należy pamiętać, by wykorzystać komutację ½ bądź ¼.