Laboratorio 1

Dependencies:   mbed

Programación

  1. include "mbed.h" /*Definimos dos puertos, un puerto para la conexion de columnas (cols) y uno para la conexion de filas (rows), en cada uno de los puertos colocamos los 8 pines correspondientes a la conexion ordenadas respectivamente*/ BusOut rows (PC_0, PB_6, PB_5, PC_11, PB_3, PC_12, PC_2, PC_3); BusOut cols(PC_10,PB_7,PB_1,PC_13,PB_8,PB_2,PB_9,PB_4); /*Se crea una variable entera para realizar el incremento.*/ int i=0; /*Se crea una funcion que permite asignar en los puertos rows y cols, el valor dado en unas variables vr y vc respectivamente.*/ void print_rows (unsigned char vr, unsigned char vc) { rows=vr; cols=vc; } /*Se crea una función que permite el barrido de columnas de forma secuencial con un retardo entre cada paso, que no es detectado por el ojo humano*/ void matrix (unsigned char r1, unsigned char r2, unsigned char r3, unsigned char r4, unsigned char r5, unsigned char r6, unsigned char r7, unsigned char r8) { print_rows(r1, 0b11111110); wait_ms(10); print_rows(r2, 0b11111101); wait_ms(10); print_rows(r3, 0b11111011); wait_ms(10); print_rows(r4, 0b11110111); wait_ms(10); print_rows(r5, 0b11101111); wait_ms(10); print_rows(r6, 0b11011111); wait_ms(10); print_rows(r7, 0b10111111); wait_ms(10); print_rows(r8, 0b01111111); wait_ms(10); } /*En el programa principal llamamos la funcion matrix y le damos valores a las filas para la visualización */ int main() { while(1){ i++; if(i<500){ matrix(0x01, 0x02, 0x04, 0x08, 0x10, 0x20,0x40,0x80); } if(i>500 & i<2000){ matrix(0x80, 0x40, 0x20, 0x10, 0x08, 0x04,0x02,0x01);} else {matrix(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);}

} }


All wikipages