Laboratorio 1
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.
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); } }