Está en la página 1de 6

int motor[4], i=0, k=0;

int f=0, c=0, boton=0;

char* Display[4][4];

/*char* t[4][4]={{"Aumentar_Vel","Disminuir_Vel","Horario","Antihorario"},
{"4","5","6","*"},{"1","2","3","-"},{"On","0","=","+"}}; /*Matriz-char solo de lectura=definir
constantes

que no se pueden cambiar*/

int cvector[4];

int fvector[4];

int main(void)

HAL_Init();

SystemClock_Config();

MX_GPIO_Init();

Display[0][0]="Aumentar_Vel";

Display[1][0]="Disminuir_Vel";

Display[2][0]="Horario";

Display[3][0]="Antihorario";

Display[0][1]="4";

Display[1][1]="5";

Display[2][1]="6";

Display[3][1]="X";

Display[0][2]="1";

Display[1][2]="2";

Display[2][2]="3";

Display[3][2]="-";

Display[0][3]="On";
Display[1][3]="0";

Display[2][3]="=";

Display[3][3]="+";

/*COLUMNAS*/

cvector[0]=GPIO_PIN_0;

cvector[1]=GPIO_PIN_1;

cvector[2]=GPIO_PIN_2;

cvector[3]=GPIO_PIN_3;

/*FILAS*/

fvector[0]=GPIO_PIN_4;

fvector[1]=GPIO_PIN_5;

fvector[2]=GPIO_PIN_6;

fvector[3]=GPIO_PIN_7;

/*inicio; final; paso*/

for (i=0; i<=3; i++){

HAL_GPIO_WritePin(GPIOB,fvector[i],GPIO_PIN_SET);

HAL_GPIO_WritePin(GPIOB,cvector[i],GPIO_PIN_RESET);

LCD1602_Begin4BIT(GPIOA,GPIO_PIN_0,GPIO_PIN_1,GPIOA,GPIO_PIN_2,GPIO_PIN_3,GPIO_PI
N_4,GPIO_PIN_5);

LCD1602_setCursor(1, 3);

LCD1602_print("Laboratorio");

HAL_Delay(200);

LCD1602_clear();

motor[0]=0x2; /*PA1 01*/

motor[1]=0x4; /*PA2 001*/

motor[2]=0x8; /*PA3 */
motor[3]=0x10; /*PA4*/

while (1)

for(f=0;f<=3;f++){

HAL_GPIO_WritePin(GPIOB,fvector[f],GPIO_PIN_RESET);

for(c=0;c<=3;c++){

if (HAL_GPIO_ReadPin(GPIOB,cvector[c])==1){ /*Verifica que pulsador


se oprime*/

LCD1602_setCursor(1, 1);

LCD1602_print(Display[f][c]);

if (f==3 && c==0){

/*Sentido antihorario*/

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_SET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);

HAL_Delay(500);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_SET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);
HAL_Delay(500);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_SET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);

HAL_Delay(500);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);

HAL_Delay(500);

if (f==2 && c==0){

/*Sentido horario*/

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);

HAL_Delay(500);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_SET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);

HAL_Delay(500);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_SET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);

HAL_Delay(500);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_SET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);

HAL_Delay(500);

HAL_GPIO_WritePin(GPIOB,fvector[f],GPIO_PIN_SET); /*Encender F1 a
F4*/

HAL_Delay(10);
}

}}

También podría gustarte