Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <reg515.sfr> //zdefiniowane rejestry mikrokontrolera
- #include <lcd.h> //funkcje obslugi wyswietlacza i klawiatury
- unsigned char znak;
- unsigned int liczba = 0;
- unsigned char kom[] = {8, 2, 4, 1}; // tablica komutacji
- unsigned int opoznienie = 1000;
- unsigned int kroki = 0;
- int skoki = 0;
- void delay(int time) // funkcja sluzy do generowania opóźnienia
- {
- int i=0;
- int wait=0;
- for (i=0;i<time;i++)wait++;
- }
- void main()
- {
- //unsigned int liczba = 0;
- //unsigned char znak;
- //unsigned int backspace = 0;
- EAL=1; //ustalanie wartosci flag
- EX0=1;
- IT0=1;
- lcd_init(); //inicjalizacja wyświetlacza
- while(1)
- {
- znak=get_kb();
- delay(12000);
- /*
- if(znak=='l') // zmianna wartosci zmiennej odpowiedzialnej za kierunek l/p
- {
- kierunek=-1;
- }
- if(znak=='p')
- {
- kierunek=1;
- }
- */
- if(znak >= '0' && znak <= '9') // wczytywanie nacisnietych liczb
- {
- liczba = liczba * 10 + (znak - 48);
- //backspace = 0;
- out_char(znak);
- }
- if(znak=='e') // po naciśnięciu klawisza enter wpisujemy do rejestrów nowe wartosci częstotliwosci wirowania
- {
- out_instr(1);
- out_char(liczba);
- skoki=liczba;
- opoznienie=1000;
- EAL = 1;
- P1 = kom[0];
- delay(opoznienie);
- P2 = kom[1];
- liczba = 0;
- kroki = 1;
- }
- //if(znak=='g') // po naciśnięciu strzalki w górę wyswietlamy informacje o aktualnej komutacji, oraz kierunku
- //{
- //komutacja++;
- //if (komutacja>2)
- //komutacja = 0;
- //faza = 0;
- //}
- //if(znak == 'd')
- //{
- //komutacja--;
- //if (komutacja < 0)
- //komutacja = 2;
- //faza = 0;
- //}
- if(znak=='b') //po nacisnieciu klawisza backspace czyscimy wyswietlacz
- {
- liczba=0;
- out_instr(1);
- }
- }
- }
- _interrupt 0 void int_0(void) // obsluga przerwania mikrokontrolera
- {
- delay(opoznienie);
- skoki--;
- kroki = (kroki + 1) %4;
- P1 = kom[kroki];
- if (skoki <= 100)
- {
- opoznienie=opoznienie+20;
- }
- if (skoki <= 0)
- {
- EAL = 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement