Matrix driver for HDSP-200x four character 5x7 alphanumeric displays. These are 12 pin DIL package ICs full of LEDs arranged in 4 characters of 5 columns & 7 rows each. The ones I have are the yellow HDSP-2001, but they are also available in red (HDSP-2000), high efficiency red (HDSP-2002) or green (HDSP 2003). I don't know if they are easily available anymore, but I thought, since I've got 30 or so, I'd have a go at programming them. See my notepad (http://mbed.org/users/tonymudd/notebook/led-matrix-display/) for videos of this working.
Dependents: alpha_message TP1_matriz
matrix.h
00001 /***** ASCII character data ***** 00002 00003 We define bit patterns for these characters 00004 (ascii 0x20 to 0x7E = 95 characters). 00005 00006 ASCII CHAR ASCII CHAR ASCII CHAR ASCII CHAR ASCII CHAR ASCII CHAR 00007 0x20 0x30 0 0x40 @ 0x50 P 0x60 ` 0x70 p 00008 0x21 ! 0x31 1 0x41 A 0x51 Q 0x61 a 0x71 q 00009 0x22 " 0x32 2 0x42 B 0x52 R 0x62 b 0x72 r 00010 0x23 # 0x33 3 0x43 C 0x53 S 0x63 c 0x73 s 00011 0x24 $ 0x34 4 0x44 D 0x54 T 0x64 d 0x74 t 00012 0x25 % 0x35 5 0x45 E 0x55 U 0x65 e 0x75 u 00013 0x26 & 0x36 6 0x46 F 0x56 V 0x66 f 0x76 v 00014 0x27 ' 0x37 7 0x47 G 0x57 W 0x67 g 0x77 w 00015 0x28 ( 0x38 8 0x48 H 0x58 X 0x68 h 0x78 x 00016 0x29 ) 0x39 9 0x49 I 0x59 Y 0x69 i 0x79 y 00017 0x2A * 0x3A : 0x4A J 0x5A Z 0x6A j 0x7A z 00018 0x2B + 0x3B ; 0x4B K 0x5B [ 0x6B k 0x7B { 00019 0x2C , 0x3C < 0x4C L 0x5C \ 0x6C l 0x7C | 00020 0x2D - 0x3D = 0x4D M 0x5D ] 0x6D m 0x7D } 00021 0x2E . 0x3E > 0x4E N 0x5E ^ 0x6E n 0x7E ~ 00022 0x2F / 0x3F ? 0x4F O 0x5F _ 0x6F o 00023 00024 00025 An "A" is defined like this (for a 5x7 array) 00026 00027 x = 00100 = 0x04 00028 x x = 01010 = 0x0A 00029 x x = 10001 = 0x11 00030 x x = 10001 = 0x11 00031 x x x x x = 11111 = 0x1F 00032 x x = 10001 = 0x11 00033 x x = 10001 = 0x11 00034 00035 so we could define A like this 00036 00037 unsigned char A_DATA[7] = { 0x04, 0x0A, 0x11, 0x11, 0x1F, 0x11, 0x11 } ; 00038 00039 or we could draw a picture and let the preprocessor do the work for us 00040 00041 #define __x__ 0x04 // __x__ = 00100, so there will only be 32 patterns 00042 #define _x_x_ 0x0A // to define 00043 #define x___x 0x11 00044 #define xxxxx 0x1F 00045 00046 unsigned char A_DATA[7] = { __x__, 00047 _x_x_, 00048 x___x, 00049 x___x, 00050 xxxxx, 00051 x___x, 00052 x___x } 00053 00054 now this is much easier to fiddle with if we want to 00055 define a slightly different look (no need to sketch it 00056 out, find the binary, then the hex. 00057 00058 */ 00059 00060 00061 #define _____ 0x00 00062 #define ____x 0x01 00063 #define ___x_ 0x02 00064 #define ___xx 0x03 00065 #define __x__ 0x04 00066 #define __x_x 0x05 00067 #define __xx_ 0x06 00068 #define __xxx 0x07 00069 #define _x___ 0x08 00070 #define _x__x 0x09 00071 #define _x_x_ 0x0A 00072 #define _x_xx 0x0B 00073 #define _xx__ 0x0C 00074 #define _xx_x 0x0D 00075 #define _xxx_ 0x0E 00076 #define _xxxx 0x0F 00077 #define x____ 0x10 00078 #define x___x 0x11 00079 #define x__x_ 0x12 00080 #define x__xx 0x13 00081 #define x_x__ 0x14 00082 #define x_x_x 0x15 00083 #define x_xx_ 0x16 00084 #define x_xxx 0x17 00085 #define xx___ 0x18 00086 #define xx__x 0x19 00087 #define xx_x_ 0x1A 00088 #define xx_xx 0x1B 00089 #define xxx__ 0x1C 00090 #define xxx_x 0x1D 00091 #define xxxx_ 0x1E 00092 #define xxxxx 0x1F 00093 00094 unsigned char char_data[95][7] = 00095 { 00096 00097 { _____, 00098 _____, 00099 _____, 00100 _____, 00101 _____, 00102 _____, 00103 _____ }, // space 00104 00105 { __x__, 00106 __x__, 00107 __x__, 00108 __x__, 00109 __x__, 00110 _____, 00111 __x__ }, // ! 00112 00113 { _x_x_, 00114 _x_x_, 00115 _____, 00116 _____, 00117 _____, 00118 _____, 00119 _____ }, // " 00120 00121 { _____, 00122 _x_x_, 00123 xxxxx, 00124 _x_x_, 00125 xxxxx, 00126 _x_x_, 00127 _____ }, // # 00128 00129 { __x__, 00130 _xxxx, 00131 x_x__, 00132 _xxx_, 00133 __x_x, 00134 xxxx_, 00135 __x__ }, // $ 00136 00137 { xx___, 00138 xx__x, 00139 ___x_, 00140 __x__, 00141 _x___, 00142 x__xx, 00143 ___xx }, // % 00144 00145 { _xxx_, 00146 _x_x_, 00147 _xx__, 00148 _x___, 00149 x_x_x, 00150 x__xx, 00151 _xxx_ }, // & 00152 00153 { __x__, 00154 __x__, 00155 _____, 00156 _____, 00157 _____, 00158 _____, 00159 _____ }, // ' 00160 00161 { ____x, 00162 ___x_, 00163 __x__, 00164 __x__, 00165 __x__, 00166 ___x_, 00167 ____x }, // ( 00168 00169 { x____, 00170 _x___, 00171 __x__, 00172 __x__, 00173 __x__, 00174 _x___, 00175 x____ }, // ) 00176 00177 { _____, 00178 __x__, 00179 x_x_x, 00180 xxxxx, 00181 x_x_x, 00182 __x__, 00183 _____ }, // * 00184 00185 { _____, 00186 __x__, 00187 __x__, 00188 xxxxx, 00189 __x__, 00190 __x__, 00191 _____ }, // + 00192 00193 { _____, 00194 _____, 00195 _____, 00196 _____, 00197 _____, 00198 ___x_, 00199 __x__ }, // , 00200 00201 { _____, 00202 _____, 00203 _____, 00204 _xxx_, 00205 _____, 00206 _____, 00207 _____ }, // - 00208 00209 { _____, 00210 _____, 00211 _____, 00212 _____, 00213 _____, 00214 __xx_, 00215 __xx_ }, // . 00216 00217 { _____, 00218 ____x, 00219 ___x_, 00220 __x__, 00221 _x___, 00222 x____, 00223 _____ }, // / 00224 00225 { _xxx_, 00226 x___x, 00227 x__xx, 00228 x_x_x, 00229 xx__x, 00230 x___x, 00231 _xxx_ }, // 0 00232 00233 { __x__, 00234 _xx__, 00235 __x__, 00236 __x__, 00237 __x__, 00238 __x__, 00239 xxxxx }, // 1 00240 00241 { _xxx_, 00242 x___x, 00243 ____x, 00244 __xx_, 00245 _x___, 00246 x____, 00247 xxxxx }, // 2 00248 00249 { _xxx_, 00250 x___x, 00251 ____x, 00252 __xx_, 00253 ____x, 00254 x___x, 00255 _xxx_ }, // 3 00256 00257 { x____, 00258 x___x, 00259 x___x, 00260 xxxxx, 00261 ____x, 00262 ____x, 00263 ____x }, // 4 00264 00265 { xxxxx, 00266 x____, 00267 x____, 00268 xxxx_, 00269 ____x, 00270 x___x, 00271 _xxx_ }, // 5 00272 00273 { _xxx_, 00274 x___x, 00275 x____, 00276 xxxx_, 00277 x___x, 00278 x___x, 00279 _xxx_ }, // 6 00280 00281 { xxxxx, 00282 ____x, 00283 ____x, 00284 ___x_, 00285 __x__, 00286 __x__, 00287 __x__ }, //7 00288 00289 { _xxx_, 00290 x___x, 00291 x___x, 00292 _xxx_, 00293 x___x, 00294 x___x, 00295 _xxx_ }, //8 00296 00297 { _xxx_, 00298 x___x, 00299 x___x, 00300 _xxxx, 00301 ____x, 00302 ____x, 00303 ____x }, //9 00304 00305 { _____, 00306 __x__, 00307 __x__, 00308 _____, 00309 __x__, 00310 __x__, 00311 _____ }, // : 00312 00313 { _____, 00314 _____, 00315 __x__, 00316 __x__, 00317 _____, 00318 __x__, 00319 _x___ }, // ; 00320 00321 { ____x, 00322 ___x_, 00323 __x__, 00324 _x___, 00325 __x__, 00326 ___x_, 00327 ____x }, // < 00328 00329 { _____, 00330 _____, 00331 xxxxx, 00332 _____, 00333 xxxxx, 00334 _____, 00335 _____ }, // = 00336 00337 { x____, 00338 _x___, 00339 __x__, 00340 ___x_, 00341 __x__, 00342 _x___, 00343 x____ }, // > 00344 00345 { _xxx_, 00346 x___x, 00347 ___x_, 00348 __x__, 00349 __x__, 00350 _____, 00351 __x__ }, // ? 00352 00353 { _xxx_, 00354 x___x, 00355 x_x_x, 00356 x_x_x, 00357 x_xxx, 00358 x____, 00359 _xxxx }, // @ 00360 00361 { __x__, 00362 _x_x_, 00363 x___x, 00364 x___x, 00365 xxxxx, 00366 x___x, 00367 x___x }, // A 00368 00369 { xxxx_, 00370 x___x, 00371 x___x, 00372 xxxx_, 00373 x___x, 00374 x___x, 00375 xxxxx }, // B 00376 00377 { _xxx_, 00378 x___x, 00379 x____, 00380 x____, 00381 x____, 00382 x___x, 00383 _xxx_ }, // C 00384 00385 { xxxx_, 00386 x___x, 00387 x___x, 00388 x___x, 00389 x___x, 00390 x___x, 00391 xxxxx }, // D 00392 00393 { xxxxx, 00394 x____, 00395 x____, 00396 xxx__, 00397 x____, 00398 x____, 00399 xxxxx }, // E 00400 00401 { xxxxx, 00402 x____, 00403 x____, 00404 xxx__, 00405 x____, 00406 x____, 00407 x____ }, // F 00408 00409 { _xxx_, 00410 x___x, 00411 x____, 00412 x_xxx, 00413 x___x, 00414 x___x, 00415 _xxx_ }, // G 00416 00417 { x___x, 00418 x___x, 00419 x___x, 00420 xxxxx, 00421 x___x, 00422 x___x, 00423 x___x }, // H 00424 00425 { xxxxx, 00426 __x__, 00427 __x__, 00428 __x__, 00429 __x__, 00430 __x__, 00431 xxxxx }, // I 00432 00433 { xxxxx, 00434 ___x_, 00435 ___x_, 00436 ___x_, 00437 ___x_, 00438 x__x_, 00439 _xx__ }, // J 00440 00441 { x___x, 00442 x__x_, 00443 x_x__, 00444 xx___, 00445 x_x__, 00446 x__x_, 00447 x___x }, // K 00448 00449 { x____, 00450 x____, 00451 x____, 00452 x____, 00453 x____, 00454 x____, 00455 xxxxx }, // L 00456 00457 { x___x, 00458 xx_xx, 00459 x_x_x, 00460 x___x, 00461 x___x, 00462 x___x, 00463 x___x }, // M 00464 00465 { x___x, 00466 x___x, 00467 xx__x, 00468 x_x_x, 00469 x__xx, 00470 x___x, 00471 x___x }, // N 00472 00473 { _xxx_, 00474 x___x, 00475 x___x, 00476 x___x, 00477 x___x, 00478 x___x, 00479 _xxx_ }, // O 00480 00481 { xxxx_, 00482 x___x, 00483 x___x, 00484 xxxx_, 00485 x____, 00486 x____, 00487 x____ }, // P 00488 00489 { _xxx_, 00490 x___x, 00491 x___x, 00492 x___x, 00493 x_x_x, 00494 x__x_, 00495 _xx_x }, // Q 00496 00497 { xxxx_, 00498 x___x, 00499 x___x, 00500 xxxx_, 00501 x_x__, 00502 x__x_, 00503 x___x }, // R 00504 00505 { _xxx_, 00506 x___x, 00507 x____, 00508 _xxx_, 00509 ____x, 00510 x___x, 00511 _xxx_ }, // S 00512 00513 { xxxxx, 00514 __x__, 00515 __x__, 00516 __x__, 00517 __x__, 00518 __x__, 00519 __x__ }, // T 00520 00521 { x___x, 00522 x___x, 00523 x___x, 00524 x___x, 00525 x___x, 00526 x___x, 00527 _xxx_ }, // U 00528 00529 { x___x, 00530 x___x, 00531 x___x, 00532 x___x, 00533 x___x, 00534 _x_x_, 00535 __x__ }, // V 00536 00537 { x___x, 00538 x___x, 00539 x___x, 00540 x___x, 00541 x_x_x, 00542 xx_xx, 00543 x___x }, // W 00544 00545 { x___x, 00546 x___x, 00547 _x_x_, 00548 __x__, 00549 _x_x_, 00550 x___x, 00551 x___x }, // X 00552 00553 00554 { x___x, 00555 x___x, 00556 _x_x_, 00557 __x__, 00558 __x__, 00559 __x__, 00560 __x__ }, // Y 00561 00562 { xxxxx, 00563 x___x, 00564 ___x_, 00565 __x__, 00566 _x___, 00567 x___x, 00568 xxxxx }, // Z 00569 00570 { _xxx_, 00571 _x___, 00572 _x___, 00573 _x___, 00574 _x___, 00575 _x___, 00576 _xxx_ }, // [ 00577 00578 { _____, 00579 x____, 00580 _x___, 00581 __x__, 00582 ___x_, 00583 ____x, 00584 _____ }, // \ 00585 00586 { _xxx_, 00587 ___x_, 00588 ___x_, 00589 ___x_, 00590 ___x_, 00591 ___x_, 00592 _xxx_ }, // ] 00593 00594 { __x__, 00595 _x_x_, 00596 x___x, 00597 _____, 00598 _____, 00599 _____, 00600 _____ }, // ^ 00601 00602 { _____, 00603 _____, 00604 _____, 00605 _____, 00606 _____, 00607 _____, 00608 xxxxx }, // _ 00609 00610 // d e f g h i j k l m n o p q r s t u v w x y z 00611 00612 { _x___, 00613 __x__, 00614 _____, 00615 _____, 00616 _____, 00617 _____, 00618 _____ }, // ` 00619 00620 { _____, 00621 _____, 00622 _____, 00623 _xx__, 00624 x__x_, 00625 x__x_, 00626 _xx_x, }, // a 00627 00628 { _____, 00629 x____, 00630 x____, 00631 xxxx_, 00632 x___x, 00633 x___x, 00634 xxxx_ }, // b 00635 00636 { _____, 00637 _____, 00638 _____, 00639 _xxxx, 00640 x____, 00641 x____, 00642 _xxxx, }, // c 00643 00644 { _____, 00645 ____x, 00646 ____x, 00647 _xxxx, 00648 x___x, 00649 x___x, 00650 _xxxx }, // d 00651 00652 { _____, 00653 _____, 00654 _xxx_, 00655 x___x, 00656 xxxx_, 00657 x____, 00658 _xxxx, }, // e 00659 00660 { __xx_, 00661 _x__x, 00662 _x___, 00663 xxxx_, 00664 _x___, 00665 _x___, 00666 _x___, }, // f 00667 00668 { _____, 00669 _xxx_, 00670 x___x, 00671 x___x, 00672 _xxxx, 00673 ____x, 00674 _xxx_, }, // c 00675 00676 { _____, 00677 x____, 00678 x____, 00679 xxxx_, 00680 x___x, 00681 x___x, 00682 x___x, }, // h 00683 00684 { _____, 00685 _____, 00686 __x__, 00687 _____, 00688 __x__, 00689 __x__, 00690 __x__, }, // i 00691 00692 { _____, 00693 ___x_, 00694 ___x_, 00695 ___x_, 00696 ___x_, 00697 x__x_, 00698 _xx__, }, // j 00699 00700 { _____, 00701 _____, 00702 x__x_, 00703 x_x__, 00704 xxx__, 00705 x__x_, 00706 x___x, }, // k 00707 00708 { _____, 00709 _x___, 00710 _x___, 00711 _x___, 00712 _x___, 00713 _x___, 00714 _x___ }, // l 00715 00716 { _____, 00717 _____, 00718 _____, 00719 x___x, 00720 xx_xx, 00721 x_x_x, 00722 x___x }, // m 00723 00724 { _____, 00725 _____, 00726 _____, 00727 x_xx_, 00728 xx__x, 00729 x___x, 00730 x___x }, // n 00731 00732 { _____, 00733 _____, 00734 _____, 00735 _xxx_, 00736 x___x, 00737 x___x, 00738 _xxx_ }, // o 00739 00740 00741 { _____, 00742 _xxx_, 00743 _x__x, 00744 _x__x, 00745 _xxx_, 00746 _x___, 00747 _x___, }, // p 00748 00749 { _____, 00750 _xxx_, 00751 x___x, 00752 _xxx_, 00753 ___x_, 00754 ___x_, 00755 ____x, }, // q 00756 00757 { _____, 00758 _____, 00759 _x___, 00760 _xxx_, 00761 _x___, 00762 _x___, 00763 _x___ }, // r 00764 00765 { _____, 00766 _____, 00767 __xxx, 00768 _x___, 00769 __xx_, 00770 ____x, 00771 _xxx_ }, // s 00772 00773 { _____, 00774 _____, 00775 __x__, 00776 _xxx_, 00777 __x__, 00778 __x__, 00779 __x__ }, // t 00780 00781 { _____, 00782 _____, 00783 _____, 00784 x___x, 00785 x___x, 00786 x___x, 00787 _xxx_ }, // u 00788 00789 { _____, 00790 _____, 00791 _____, 00792 x___x, 00793 x___x, 00794 _x_x_, 00795 __x__ }, // v 00796 00797 { _____, 00798 _____, 00799 _____, 00800 x___x, 00801 x_x_x, 00802 xx_xx, 00803 x___x }, // w 00804 00805 { _____, 00806 _____, 00807 x___x, 00808 _x_x_, 00809 __x__, 00810 _x_x_, 00811 x___x, }, // x 00812 00813 { _____, 00814 _____, 00815 x___x, 00816 _x_x_, 00817 __x__, 00818 __x__, 00819 __x__ }, // y 00820 00821 { _____, 00822 _____, 00823 xxxxx, 00824 ___x_, 00825 __x__, 00826 _x___, 00827 xxxxx }, // z 00828 00829 { __xx_, 00830 _x___, 00831 _x___, 00832 x____, 00833 _x___, 00834 _x___, 00835 __xx_, }, // { 00836 00837 { __x__, 00838 __x__, 00839 __x__, 00840 __x__, 00841 __x__, 00842 __x__, 00843 __x__, }, // | 00844 00845 { _xx__, 00846 ___x_, 00847 ___x_, 00848 ____x, 00849 ___x_, 00850 ___x_, 00851 _xx__, }, // } 00852 00853 { _____, 00854 _x_x_, 00855 x_x_x, 00856 _____, 00857 _____, 00858 _____, 00859 _____, }, // ~ 00860 00861 }; 00862
Generated on Wed Jul 13 2022 16:35:11 by
