han back
/
CLEO_DOTMATRIX
SMART CLEO Dotmartix
Revision 0:4cab8e431853, committed 2017-09-28
- Comitter:
- SMART_CLEO
- Date:
- Thu Sep 28 02:12:40 2017 +0000
- Commit message:
- SMART_CLEO
Changed in this revision
diff -r 000000000000 -r 4cab8e431853 font_5x7.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/font_5x7.h Thu Sep 28 02:12:40 2017 +0000 @@ -0,0 +1,96 @@ +unsigned char font[95][5] = { /* 5x7 ASCII character font */ + {0x00, 0x00, 0x00, 0x00, 0x00}, // 0x20 space + {0x00, 0x00, 0x4f, 0x00, 0x00}, // 0x21 ! + {0x00, 0x07, 0x00, 0x07, 0x00}, // 0x22 " + {0x14, 0x7f, 0x14, 0x7f, 0x14}, // 0x23 # + {0x24, 0x2a, 0x7f, 0x2a, 0x12}, // 0x24 $ + {0x23, 0x13, 0x08, 0x64, 0x62}, // 0x25 % + {0x36, 0x49, 0x55, 0x22, 0x50}, // 0x26 & + {0x00, 0x05, 0x03, 0x00, 0x00}, // 0x27 ' + {0x00, 0x1c, 0x22, 0x41, 0x00}, // 0x28 ( + {0x00, 0x41, 0x22, 0x1c, 0x00}, // 0x29 ) + {0x14, 0x08, 0x3e, 0x08, 0x14}, // 0x2a * + {0x08, 0x08, 0x3e, 0x08, 0x08}, // 0x2b + + {0x00, 0x50, 0x30, 0x00, 0x00}, // 0x2c , + {0x08, 0x08, 0x08, 0x08, 0x08}, // 0x2d - + {0x00, 0x60, 0x60, 0x00, 0x00}, // 0x2e . + {0x20, 0x10, 0x08, 0x04, 0x02}, // 0x2f / + {0x3e, 0x51, 0x49, 0x45, 0x3e}, // 0x30 0 + {0x00, 0x42, 0x7f, 0x40, 0x00}, // 0x31 1 + {0x42, 0x61, 0x51, 0x49, 0x46}, // 0x32 2 + {0x21, 0x41, 0x45, 0x4b, 0x31}, // 0x33 3 + {0x18, 0x14, 0x12, 0x7f, 0x10}, // 0x34 4 + {0x27, 0x45, 0x45, 0x45, 0x39}, // 0x35 5 + {0x3c, 0x4a, 0x49, 0x49, 0x30}, // 0x36 6 + {0x01, 0x71, 0x09, 0x05, 0x03}, // 0x37 7 + {0x36, 0x49, 0x49, 0x49, 0x36}, // 0x38 8 + {0x06, 0x49, 0x49, 0x29, 0x1e}, // 0x39 9 + {0x00, 0x36, 0x36, 0x00, 0x00}, // 0x3a : + {0x00, 0x56, 0x36, 0x00, 0x00}, // 0x3b ; + {0x08, 0x14, 0x22, 0x41, 0x00}, // 0x3c < + {0x14, 0x14, 0x14, 0x14, 0x14}, // 0x3d = + {0x00, 0x41, 0x22, 0x14, 0x08}, // 0x3e > + {0x02, 0x01, 0x51, 0x09, 0x06}, // 0x3f ? + {0x32, 0x49, 0x79, 0x41, 0x3e}, // 0x40 @ + {0x7e, 0x11, 0x11, 0x11, 0x7e}, // 0x41 A + {0x7f, 0x49, 0x49, 0x49, 0x36}, // 0x42 B + {0x3e, 0x41, 0x41, 0x41, 0x22}, // 0x43 C + {0x7f, 0x41, 0x41, 0x22, 0x1c}, // 0x44 D + {0x7f, 0x49, 0x49, 0x49, 0x41}, // 0x45 E + {0x7f, 0x09, 0x09, 0x09, 0x01}, // 0x46 F + {0x3e, 0x41, 0x49, 0x49, 0x7a}, // 0x47 G + {0x7f, 0x08, 0x08, 0x08, 0x7f}, // 0x48 H + {0x00, 0x41, 0x7f, 0x41, 0x00}, // 0x49 I + {0x20, 0x40, 0x41, 0x3f, 0x01}, // 0x4a J + {0x7f, 0x08, 0x14, 0x22, 0x41}, // 0x4b K + {0x7f, 0x40, 0x40, 0x40, 0x40}, // 0x4c L + {0x7f, 0x02, 0x0c, 0x02, 0x7f}, // 0x4d M + {0x7f, 0x04, 0x08, 0x10, 0x7f}, // 0x4e N + {0x3e, 0x41, 0x41, 0x41, 0x3e}, // 0x4f O + {0x7f, 0x09, 0x09, 0x09, 0x06}, // 0x50 P + {0x3e, 0x41, 0x51, 0x21, 0x5e}, // 0x51 Q + {0x7f, 0x09, 0x19, 0x29, 0x46}, // 0x52 R + {0x26, 0x49, 0x49, 0x49, 0x32}, // 0x53 S + {0x01, 0x01, 0x7f, 0x01, 0x01}, // 0x54 T + {0x3f, 0x40, 0x40, 0x40, 0x3f}, // 0x55 U + {0x1f, 0x20, 0x40, 0x20, 0x1f}, // 0x56 V + {0x3f, 0x40, 0x38, 0x40, 0x3f}, // 0x57 W + {0x63, 0x14, 0x08, 0x14, 0x63}, // 0x58 X + {0x07, 0x08, 0x70, 0x08, 0x07}, // 0x59 Y + {0x61, 0x51, 0x49, 0x45, 0x43}, // 0x5a Z + {0x00, 0x7f, 0x41, 0x41, 0x00}, // 0x5b [ + {0x02, 0x04, 0x08, 0x10, 0x20}, // 0x5c (\) + {0x00, 0x41, 0x41, 0x7f, 0x00}, // 0x5d ] + {0x04, 0x02, 0x01, 0x02, 0x04}, // 0x5e ^ + {0x40, 0x40, 0x40, 0x40, 0x40}, // 0x5f _ + {0x00, 0x01, 0x02, 0x04, 0x00}, // 0x60 ` + {0x20, 0x54, 0x54, 0x54, 0x78}, // 0x61 a + {0x7f, 0x48, 0x44, 0x44, 0x38}, // 0x62 b + {0x38, 0x44, 0x44, 0x44, 0x20}, // 0x63 c + {0x38, 0x44, 0x44, 0x48, 0x7f}, // 0x64 d + {0x38, 0x54, 0x54, 0x54, 0x18}, // 0x65 e + {0x08, 0x7e, 0x09, 0x01, 0x02}, // 0x66 f + {0x0c, 0x52, 0x52, 0x52, 0x3e}, // 0x67 g + {0x7f, 0x08, 0x04, 0x04, 0x78}, // 0x68 h + {0x00, 0x04, 0x7d, 0x00, 0x00}, // 0x69 i + {0x20, 0x40, 0x44, 0x3d, 0x00}, // 0x6a j + {0x7f, 0x10, 0x28, 0x44, 0x00}, // 0x6b k + {0x00, 0x41, 0x7f, 0x40, 0x00}, // 0x6c l + {0x7c, 0x04, 0x18, 0x04, 0x7c}, // 0x6d m + {0x7c, 0x08, 0x04, 0x04, 0x78}, // 0x6e n + {0x38, 0x44, 0x44, 0x44, 0x38}, // 0x6f o + {0x7c, 0x14, 0x14, 0x14, 0x08}, // 0x70 p + {0x08, 0x14, 0x14, 0x18, 0x7c}, // 0x71 q + {0x7c, 0x08, 0x04, 0x04, 0x08}, // 0x72 r + {0x48, 0x54, 0x54, 0x54, 0x20}, // 0x73 s + {0x04, 0x3f, 0x44, 0x40, 0x20}, // 0x74 t + {0x3c, 0x40, 0x40, 0x20, 0x7c}, // 0x75 u + {0x1c, 0x20, 0x40, 0x20, 0x1c}, // 0x76 v + {0x3c, 0x40, 0x30, 0x40, 0x3c}, // 0x77 w + {0x44, 0x28, 0x10, 0x28, 0x44}, // 0x78 x + {0x0c, 0x50, 0x50, 0x50, 0x3c}, // 0x79 y + {0x44, 0x64, 0x54, 0x4c, 0x44}, // 0x7a z + {0x00, 0x08, 0x36, 0x41, 0x00}, // 0x7b { + {0x00, 0x00, 0x77, 0x00, 0x00}, // 0x7c | + {0x00, 0x41, 0x36, 0x08, 0x00}, // 0x7d } + {0x08, 0x04, 0x08, 0x10, 0x08}}; // 0x7e ~
diff -r 000000000000 -r 4cab8e431853 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Sep 28 02:12:40 2017 +0000 @@ -0,0 +1,75 @@ +#include "mbed.h" +#include "font_5x7.h" + +// I2C address +int DoT_ADDR = 0x71<<1; + +I2C Dotmatrix(I2C_SDA, I2C_SCL); + +char Data_BUF[17] = {0, 0 ,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + +void data_write(char *data, int len); +void Command_Write(uint8_t com); +void Dotmatrix_init(void); +void char_data_write(char data); + +int main() +{ + uint8_t C_Data = 0x21; + Dotmatrix_init(); + //data_write(Data_BUF, 17); + + while(1){ + char_data_write(C_Data++); + if(C_Data == 0x80) + C_Data = 0x21; + wait(0.8); + } +} + +void data_write(char *data, int len) +{ + data[0] = 0; + Dotmatrix.write(DoT_ADDR, data, len); +} + +void Command_Write(char com) +{ + Dotmatrix.write(DoT_ADDR, &com, 1); +} + +void Dotmatrix_init(void) +{ + // Internal System Clock enable + Command_Write((char)0x21); + // INT/ROW output pin Set -> ROW Driver output + Command_Write((char)0xA0); + // Dimming Set -> 15 + Command_Write((char)0xEF); + // Blinking Set -> off + // Display Set -> on + Command_Write((char)0x81); +} + +void char_data_write(char data) +{ + uint8_t read_c, i, j, c_buff[8] = {0, 0, 0, 0, 0, 0, 0, 0}; + for(i=0; i<5; i++) + { + read_c = font[data-0x20][i]; + if(read_c) + { + for(j=0; j<8; j++) + { + if(read_c & (0x80 >> j)) + { + c_buff[j] |= (0x01 << (i+1)); + } + } + } + } + for(i=0; i<8; i++) + Data_BUF[i*2+1] = c_buff[i]; + + data_write(Data_BUF, 17); +} \ No newline at end of file
diff -r 000000000000 -r 4cab8e431853 mbed-os.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-os.lib Thu Sep 28 02:12:40 2017 +0000 @@ -0,0 +1,1 @@ +https://github.com/ARMmbed/mbed-os/#ca661f9d28526ca8f874b05432493a489c9671ea