-
Notifications
You must be signed in to change notification settings - Fork 1
/
motorDePasso.c
74 lines (68 loc) · 1.37 KB
/
motorDePasso.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <pic18f2550.h>
#include <pic18.h>
#include "motorDePasso.h"
/*
* File:
* Author:
* Comments:
* Revision history:
*/
void initMotor()
{
TRISB = 0x00; //DEFINE PORT A COMO SAIDA
LATB = 0x00; //INICIA PORT A EM 1
}
void increaseStep()
{
if(step == 0){
// passo1
PORTB &= 0b11110000;
PORTB |= 0b00000001;
__delay_us(1);
}
if(step == 1){
// passo2
PORTB &= 0b11110000;
PORTB |= 0b00000011;
__delay_us(1);
}
if(step == 2){
// passo3
PORTB &= 0b11110000;
PORTB |= 0b00000010;
__delay_us(1);
}
if(step == 3){
// passo4
PORTB &= 0b11110000;
PORTB |= 0b00000110;
__delay_us(1);
}
if(step == 4){
// passo5
PORTB &= 0b11110000;
PORTB |= 0b00000100;
__delay_us(1);
}
if(step == 5){
// passo6
PORTB &= 0b11110000;
PORTB |= 0b00001100;
__delay_us(1);
}
if(step == 6){
// passo7
PORTB &= 0b11110000;
PORTB |= 0b00001000;
__delay_us(1);
}
if(step == 7){
// passo8
PORTB &= 0b11110000;
PORTB |= 0b00001001;
__delay_us(1);
}
++step;
if(step > 8)
step = 0;
}