#include "mbed.h"
DigitalOut Strobe(p8);
DigitalOut EN(p9);
DigitalOut A(p10);
DigitalOut B(p11);
DigitalOut C(p12);
DigitalOut EN1(p13);
DigitalOut EN2(p14);
Serial pc(USBTX, USBRX);
SPI spi(p5, p6, p7);
void SetCol(int ColData)
{
A = ColData & 1;
B = ColData & 2;
C = ColData & 4;
}
void WriteData(int Data)
{
EN = 1;
spi.write(Data);
wait_us(0.1);
Strobe = 1;
Strobe = 0;
EN = 0;
}
int main()
{
EN = 0;
A = 0;
B = 0;
C = 0;
EN1 = 0;
EN2 = 0;
int i;
int Databyte[48][8] = {{000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000},
{000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000},
{000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000},
{ 60, 66, 129, 129, 129, 66, 000, 000}, { 60, 66, 129, 129, 129, 66, 60, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}, {000, 000, 000, 000, 000, 000, 000, 000}};
spi.format(8,0);
spi.frequency(8000000);
while(1)
{
EN1 = 0;
EN2 = 1;
for(i=0;i<=7;i++)
{
SetCol(i);
for(int l=1;l<=48;l=l+2)
{
WriteData(Databyte[l-1][i]);
}
wait_ms(1);
}
EN1 = 1;
EN2 = 0;
for(i=0;i<=7;i++)
{
SetCol(i);
for(int l=2;l<=48;l=l+2)
{
WriteData(Databyte[l-1][i]);
}
wait_ms(1);
}
}
}