wz
  Janulo's  homepage
| +--> Blue
| +--> Blue2
| +--> Koleso
| +--> SIR3
| | |--> Popis
| |--> Trimot
+--> Práce
+--> Autor
Počítadlo:
(freezed)
1.gif0.gif6.gif6.gif1.gif7.gif
1led.gif0led.gif6led.gif6led.gif1led.gif7led.gif
od 9.4.2003
AmatFest 2008 - Festival amatérskych filmov
Robotik
Program:

Celý program je napísaný v jazyku C, obashuje rutiny na inicializáciu procesora, funkcie na pohyb a otácanie robota, nastavenie rýchlostí pre motory, získanie informácií zo senzorov a jeden krátky pokus v hlavnom programe. Celé riadenie riadenie sa odohráva v obslude prerušenia od casovaca T0. Získajú sa dáta zo snímacov ciary, a snímaca prekážky a uložia sa. Ak sa májú kolesá otácat, tak sa generuje oneskorenie podla nastavenej rýchlosti delením frekvencie od casovaca. Ked nastala zhoda, pocítadlo as vynuluje a podla požadovaného smeru sa inkrementuje alebo dekrementuje ukazovátko do tabulky krokov. Následne sa z tabulky vyberie príslušná hodnota a tá sa zapíše na port.

if(ir) infra=1;
if(s0) line=line&0xfe;
else line=line&0xfe+1;
if(s1) line=line&0xfd;
else line=line&0xfd+2;
if(s2) line=line&0xfb;
else line=line&0xfb+4;
if(s3) line=line&0xf7;
else line=line&0xf7+8;

if(trend_1!=0){
if(++rychlost_1==velosity_1){
rychlost_1=0;
if(trend_1==1) if(++ptr_1==8) ptr_1=0;
if(trend_1==2) if(--ptr_1==0xff) ptr_1=7;
port=(port&0xf0)+step[ptr_1];
if(steps!=0) steps--;
if(steps==0){
trend_1=0;
trend_2=0;
}
}
}
if(trend_2!=0){
if(++rychlost_2==velosity_2){
rychlost_2=0;
if(trend_2==1) if(++ptr_2==8) ptr_2=0;
if(trend_2==2) if(--ptr_2==0xff) ptr_2=7;
port=(port&0x0f)+(step[ptr_2]<<4);
if(steps!=0) steps--;
if(steps==0){
trend_1=0;
trend_2=0;
}
}
}

PORTB=port;

Download::robotik.zip



Janulo © 2003 janulo@pobox.sk   Aktuálny čas:   Ľuboš, Ľubor 24-09-2020 meniny má 1    Pridať do obľúbených   Čas načítania: 0.008 sekúnd   06:51 18:56    Table 'janulo.counter' doesn't exist