#include <8052.h>
#include <string.h>
//#include <math.h>

#define     CLK     P3_2

unsigned char code Tabel_Data[] = {0x07,0x0b,0x0d,0x0e};

void PutarMotor(unsigned char arah,unsigned char step,unsigned int kecepatan);
unsigned int KonversiKecepatan(unsigned int);
void Delay(unsigned char x);
void Delay_1mS(void);

void PutarMotor(unsigned char arah,unsigned char step,unsigned int Kecepatan){
    unsigned char i,j;
    unsigned int x;
    x = KonversiKecepatan(Kecepatan); 
    switch (arah){
    case '*':
            for (i=0;i<step;i++){
                for (j=0;j<4;j++){
                    P1 = Tabel_Data[j];
                    CLK = 0;
                    CLK = 1;
                    Delay_1mS();
                }
                Delay(x);
            }
            break;
    case '#':
            for (i=0;i<step;i++){
                for (j=0;j<4;j++){
                    P1 = Tabel_Data[3-j];
                    CLK = 0;
                    CLK = 1;
                    Delay_1mS();
                }
                Delay(x);
            }
            break; 
    }
}

void main(void){
    CLK = 1;
    PutarMotor('*',200,45);
    while(1);
}

unsigned int KonversiKecepatan(unsigned int Kecepatan){
        return (1800/Kecepatan - 4);
} 


void Delay(unsigned char x){
    unsigned char i;
    for(i=0;i<x;i++) Delay_1mS();
}

void Delay_1mS(void){
    unsigned int i;
    for (i=0;i<500;i++);
}



