Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "lcd.h"
- #include "reg515.sfr"
- int stany[8]={8,2,4,1,8,2,4,1};
- int stany2[8]={9,10,6,5,9,10,6,5};//1/2
- int flaga=0; //kierunek obrotu
- int flaga2=0;// typ komutacji
- int i=0;
- int licznikSkokow = 0;
- int ster = 1;
- int j;
- void oczekuj(unsigned int x);
- void main(){
- unsigned char znak ='\0';
- unsigned int liczba=0;//,limp;
- //unsigned char stany[]={8,2,4,1,8,2,4,1};
- //EAL = 1;
- //ET2=1;
- //T2I0 =1;
- //T2R1=1;
- EAL=0;
- EX0=0;
- IT0=0;
- lcd_init();
- while(1){
- znak = get_kb();
- if (znak >= '0' && znak <='9'){
- out_char(znak);
- liczba = 10*liczba+znak - '0';
- }else
- if(znak == 'e'){
- out_instr(1);
- out_char(liczba);
- licznikSkokow = liczba;
- j=licznikSkokow;
- EAL=1;
- EX0=1;
- IT0=1;
- P1 = stany[0];
- /*if(liczba<17)
- {
- liczba=17;
- }
- else
- if(liczba>600)
- {
- liczba=600;
- }
- limp = 1000000/liczba;
- CRCL = 65536 - limp;
- CRCH=(65536-limp)>>8;*/
- liczba=0;
- out_instr(1);
- }
- if(znak == 'b'){
- out_instr(1);
- }
- else
- if(znak=='p')
- {
- flaga=1;
- }
- else
- if(znak=='l')
- {
- flaga=0;
- }
- else
- if(znak=='g')
- {
- flaga2=flaga2+1;
- if(flaga2==3)
- {
- flaga2=0;
- }
- }
- else
- if(znak=='d')
- {
- flaga2=flaga2-1;
- if(flaga2<0)
- {
- flaga2=2;
- }
- }
- oczekuj(19600);
- //znak = '\0';
- }
- } void oczekuj(unsigned int x)
- {
- unsigned int i;
- for (i=0;i<x;i++);
- }
- _interrupt 0 void int_0(void)
- {int l=0;
- //int j=licznikSkokow;
- while(j>0)
- {
- if(j<100)
- {
- for(l=ster;l<8;l++)
- {
- oczekuj(500+(500-5*j));
- P1=stany[l];
- //ster++;
- if(j<3)
- {
- EAL=0;
- }
- }
- }
- else
- {
- for(l=ster;l<8;l++)
- {
- oczekuj(500);
- P1=stany[l];
- //ster++;
- }
- }
- j--;
- ster=0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement