Laboratorio 1

Dependencies:   mbed

MATRIZ 8X8 (BLACKBOX)

La tarjeta STMF446 es una tarjeta electrónica muy completa que funciona como sistema de control para diversos proyectos. Su capacidad de memoria, su cantidad de periféricos y módulos la hacen una tarjeta bastante flexible para trabajar.

Una de las aplicaciones mas sencillas que podemos realizar, y que sin duda nos ayudaran a comprender bastante bien el funcionamiento de esta tarjeta, es el encendido de una matriz de leds de 8x8.

Así que en esta practica cumpliremos el siguiente objetivo: Desarrollar un programa que permita visualizar en una pantalla de leds 8x8 lo que sea necesario, entrando únicamente unos parámetros iniciales de configuración.

/media/uploads/nsnicolassr/050050cb-909e-491c-af4e-24243e030d2b.jpg

main.cpp

Committer:
nsnicolassr
Date:
2017-03-16
Revision:
2:d8fed7e8f276
Parent:
1:7f355a14979e

File content as of revision 2:d8fed7e8f276:

#include "mbed.h"
/*DigitalOut c8(PC_10); //C8
DigitalOut f5(PC_11); //F5
DigitalOut f3(PC_12); //F3
DigitalOut c5(PC_13); //C5
DigitalOut f8(PC_14); //F8
DigitalOut c7(PB_7); //C7
DigitalOut f2(PC_2); //F2
DigitalOut f1(PC_3); //F1
DigitalOut c6(PB_1); //C6
DigitalOut c3(PB_2); //C3
DigitalOut f4(PB_3); //F4
DigitalOut c1(PB_4); //C1
DigitalOut f6(PB_5); //F6
DigitalOut f7(PB_6); //F7
DigitalOut c2(PB_9); //C2
DigitalOut c4(PB_8); //C4*/
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);
int i=0;
void print_rows (unsigned char vr, unsigned char vc)
{
    rows=vr;
    cols=vc;
    
    }
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(100);
      print_rows(r2, 0b11111101);
      wait_ms(100);
      print_rows(r3, 0b11111011);
      wait_ms(100);
      print_rows(r4, 0b11110111);
      wait_ms(100);
      print_rows(r5, 0b11101111);
      wait_ms(100);
      print_rows(r6, 0b11011111);
      wait_ms(100);
      print_rows(r7, 0b10111111);
      wait_ms(100);
      print_rows(r8, 0b01111111);
      wait_ms(100);
}
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);}*/
    matrix(0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55);
    
   }
   }