dotmatrixLED animation with ht1632 LED driver.

Dependencies:   SDFileSystem mbed

Committer:
kohacraft
Date:
Sun Aug 23 22:55:49 2015 +0000
Revision:
2:f28ec2298aa6
Parent:
0:62dc51c731b4
ver1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kohacraft 0:62dc51c731b4 1 #include "mbed.h"
kohacraft 0:62dc51c731b4 2 #include "ht1632.h"
kohacraft 0:62dc51c731b4 3
kohacraft 0:62dc51c731b4 4 DigitalOut ht1632_cs(dp9);
kohacraft 0:62dc51c731b4 5 DigitalOut ht1632_wr(dp10);
kohacraft 0:62dc51c731b4 6 DigitalOut ht1632_data(dp11);
kohacraft 0:62dc51c731b4 7
kohacraft 0:62dc51c731b4 8 void initHt1632()
kohacraft 0:62dc51c731b4 9 {
kohacraft 0:62dc51c731b4 10 ht1632_cs = 1;
kohacraft 0:62dc51c731b4 11 ht1632_wr = 1;
kohacraft 0:62dc51c731b4 12 ht1632_data = 0;
kohacraft 0:62dc51c731b4 13
kohacraft 0:62dc51c731b4 14 sendCommand(SYS_EN);
kohacraft 0:62dc51c731b4 15 sendCommand(LED_ON);
kohacraft 0:62dc51c731b4 16 sendCommand(BLINK_OFF);
kohacraft 0:62dc51c731b4 17 sendCommand(RC_MASTER_MODE);
kohacraft 0:62dc51c731b4 18 sendCommand(Pmos8Common);
kohacraft 0:62dc51c731b4 19 sendCommand(PWM16DUTY);
kohacraft 0:62dc51c731b4 20 }
kohacraft 0:62dc51c731b4 21
kohacraft 0:62dc51c731b4 22
kohacraft 0:62dc51c731b4 23 void sendCommand( unsigned char orderNum )
kohacraft 0:62dc51c731b4 24 {
kohacraft 0:62dc51c731b4 25 unsigned short command = 0x8000; //0b1000 0000 0000 0000
kohacraft 0:62dc51c731b4 26 command = command | ( ( (unsigned short)orderNum) <<5 ); //0b100x xxxx xxx0 0000
kohacraft 0:62dc51c731b4 27 unsigned short mask = 0x8000;
kohacraft 0:62dc51c731b4 28
kohacraft 0:62dc51c731b4 29 ht1632_wr = 1;
kohacraft 0:62dc51c731b4 30 ht1632_cs = 0;
kohacraft 0:62dc51c731b4 31
kohacraft 0:62dc51c731b4 32 for(int i=0 ; i<12 ; i++ )
kohacraft 0:62dc51c731b4 33 {
kohacraft 0:62dc51c731b4 34 ht1632_wr = 0;
kohacraft 0:62dc51c731b4 35 ht1632_data = (bool)(command & mask);
kohacraft 0:62dc51c731b4 36 mask = mask >> 1;
kohacraft 0:62dc51c731b4 37 ht1632_wr = 1;
kohacraft 0:62dc51c731b4 38 }
kohacraft 0:62dc51c731b4 39 ht1632_cs = 1;
kohacraft 0:62dc51c731b4 40 ht1632_data = 0;
kohacraft 0:62dc51c731b4 41 }
kohacraft 0:62dc51c731b4 42
kohacraft 0:62dc51c731b4 43 void sendData( unsigned char address , unsigned char *data , int length)
kohacraft 0:62dc51c731b4 44 {
kohacraft 0:62dc51c731b4 45 unsigned short command = 0xa000; //0b1010 0000 0000 0000
kohacraft 0:62dc51c731b4 46 address = address & 0x3F; //avilable 7bit
kohacraft 0:62dc51c731b4 47 command = command | (((unsigned short)address)<<6); //0b101x xxxx xx00 0000
kohacraft 0:62dc51c731b4 48 unsigned short commandMmask = 0x8000;
kohacraft 0:62dc51c731b4 49 unsigned char dataMmask = 0x80;
kohacraft 0:62dc51c731b4 50
kohacraft 0:62dc51c731b4 51 ht1632_wr = 1;
kohacraft 0:62dc51c731b4 52 ht1632_cs = 0;
kohacraft 0:62dc51c731b4 53
kohacraft 0:62dc51c731b4 54 for(int i=0 ; i<10 ; i++ )
kohacraft 0:62dc51c731b4 55 {
kohacraft 0:62dc51c731b4 56 ht1632_wr = 0;
kohacraft 0:62dc51c731b4 57 ht1632_data = (bool)(command & commandMmask);
kohacraft 0:62dc51c731b4 58 commandMmask = commandMmask >> 1;
kohacraft 0:62dc51c731b4 59 ht1632_wr = 1;
kohacraft 0:62dc51c731b4 60 }
kohacraft 0:62dc51c731b4 61
kohacraft 0:62dc51c731b4 62 for(int j=0 ; j<length ; j++ )
kohacraft 0:62dc51c731b4 63 {
kohacraft 0:62dc51c731b4 64 dataMmask = 0x01;
kohacraft 0:62dc51c731b4 65 for(int i=0 ; i<4 ; i++ )
kohacraft 0:62dc51c731b4 66 {
kohacraft 0:62dc51c731b4 67 ht1632_wr = 0;
kohacraft 0:62dc51c731b4 68 ht1632_data = (bool)(~data[j] & dataMmask);
kohacraft 0:62dc51c731b4 69 dataMmask = dataMmask << 1;
kohacraft 0:62dc51c731b4 70 ht1632_wr = 1;
kohacraft 0:62dc51c731b4 71 }
kohacraft 0:62dc51c731b4 72
kohacraft 0:62dc51c731b4 73 dataMmask = 0x10;
kohacraft 0:62dc51c731b4 74 for(int i=0 ; i<4 ; i++ )
kohacraft 0:62dc51c731b4 75 {
kohacraft 0:62dc51c731b4 76 ht1632_wr = 0;
kohacraft 0:62dc51c731b4 77 ht1632_data = (bool)(~data[j] & dataMmask);
kohacraft 0:62dc51c731b4 78 dataMmask = dataMmask << 1;
kohacraft 0:62dc51c731b4 79 ht1632_wr = 1;
kohacraft 0:62dc51c731b4 80 }
kohacraft 0:62dc51c731b4 81 }
kohacraft 0:62dc51c731b4 82
kohacraft 0:62dc51c731b4 83 ht1632_wr = 1;
kohacraft 0:62dc51c731b4 84 ht1632_cs = 1;
kohacraft 0:62dc51c731b4 85 ht1632_data = 0;
kohacraft 0:62dc51c731b4 86 }
kohacraft 0:62dc51c731b4 87
kohacraft 0:62dc51c731b4 88 void convColor( unsigned char *data , int length )
kohacraft 0:62dc51c731b4 89 {
kohacraft 0:62dc51c731b4 90 ;
kohacraft 0:62dc51c731b4 91 }