Scrolling message on 7x5 LED dot matrix

Dependencies:   mbed

Committer:
markbanfield
Date:
Tue Aug 10 16:23:16 2010 +0000
Revision:
0:efe3e11ca185

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
markbanfield 0:efe3e11ca185 1 #include "mbed.h"
markbanfield 0:efe3e11ca185 2
markbanfield 0:efe3e11ca185 3 /*
markbanfield 0:efe3e11ca185 4 MJB
markbanfield 0:efe3e11ca185 5 10th August 2010
markbanfield 0:efe3e11ca185 6
markbanfield 0:efe3e11ca185 7
markbanfield 0:efe3e11ca185 8 To power a LED 7x5 dot matrix.
markbanfield 0:efe3e11ca185 9
markbanfield 0:efe3e11ca185 10 This project uses the display from RS Components: 247-3141.
markbanfield 0:efe3e11ca185 11
markbanfield 0:efe3e11ca185 12 The connections are as follows:
markbanfield 0:efe3e11ca185 13 Pin 16 = column 1 Display pin 1 (left-most column)
markbanfield 0:efe3e11ca185 14 Pin 17 = column 2 Display pin 3
markbanfield 0:efe3e11ca185 15 Pin 18 = column 3 Display pin 10
markbanfield 0:efe3e11ca185 16 Pin 19 = column 4 Display pin 7
markbanfield 0:efe3e11ca185 17 Pin 20 = column 5 Display pin 8 (right-most column)
markbanfield 0:efe3e11ca185 18
markbanfield 0:efe3e11ca185 19 Pin 21 = row 1 Display pin 12 (top-most row)
markbanfield 0:efe3e11ca185 20 Pin 22 = row 2 Display pin 11
markbanfield 0:efe3e11ca185 21 Pin 23 = row 3 Display pin 2
markbanfield 0:efe3e11ca185 22 Pin 24 = row 4 Display pin 9
markbanfield 0:efe3e11ca185 23 Pin 25 = row 5 Display pin 4
markbanfield 0:efe3e11ca185 24 Pin 26 = row 6 Display pin 5
markbanfield 0:efe3e11ca185 25 Pin 27 = row 7 Display pin 6
markbanfield 0:efe3e11ca185 26
markbanfield 0:efe3e11ca185 27 The code causes the message to scroll across the display.
markbanfield 0:efe3e11ca185 28 */
markbanfield 0:efe3e11ca185 29
markbanfield 0:efe3e11ca185 30 BusOut Rows (p21, p22, p23, p24, p25, p26, p27);
markbanfield 0:efe3e11ca185 31 BusOut Cols (p16, p17, p18, p19, p20);
markbanfield 0:efe3e11ca185 32 BusOut IntLEDs(LED1, LED2, LED3, LED4);
markbanfield 0:efe3e11ca185 33
markbanfield 0:efe3e11ca185 34
markbanfield 0:efe3e11ca185 35 int DotPattern1[] = {0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
markbanfield 0:efe3e11ca185 36 0x7F, 0x00, 0x7F, 0x7E, 0x7E,
markbanfield 0:efe3e11ca185 37 0x00, 0x7E, 0x7E, 0x7F, 0x78,
markbanfield 0:efe3e11ca185 38 0x47, 0x3F, 0x47, 0x3F, 0x47,
markbanfield 0:efe3e11ca185 39 0x78, 0x7F, 0x7F, 0x7F, 0x7F,
markbanfield 0:efe3e11ca185 40 0x5D, 0x3A, 0x36, 0x4D, 0x7F,
markbanfield 0:efe3e11ca185 41 0x43, 0x3F, 0x5F, 0x3F, 0x43,
markbanfield 0:efe3e11ca185 42 0x7F, 0x02, 0x7F, 0x7D, 0x40,
markbanfield 0:efe3e11ca185 43 0x3D, 0x5D, 0x7F, 0x47, 0x3B,
markbanfield 0:efe3e11ca185 44 0x3B, 0x57, 0x7F, 0x00, 0x7B,
markbanfield 0:efe3e11ca185 45 0x03, 0x7F, 0x47, 0x2B, 0x2B,
markbanfield 0:efe3e11ca185 46 0x37, 0x7F, 0x37, 0x2B, 0x5B,
markbanfield 0:efe3e11ca185 47 0x7F, 0x7F, 0x7F, 0x7F, 0x7F,
markbanfield 0:efe3e11ca185 48 0x7f, 0x7f, 0x7f, 0x7f, 0x7f
markbanfield 0:efe3e11ca185 49 }; //Message = "ITW Switches".
markbanfield 0:efe3e11ca185 50
markbanfield 0:efe3e11ca185 51 float count;
markbanfield 0:efe3e11ca185 52 int ColCount;
markbanfield 0:efe3e11ca185 53 int pattern;
markbanfield 0:efe3e11ca185 54 int loop;
markbanfield 0:efe3e11ca185 55 int index;
markbanfield 0:efe3e11ca185 56
markbanfield 0:efe3e11ca185 57 int main() {
markbanfield 0:efe3e11ca185 58
markbanfield 0:efe3e11ca185 59 while (1) {
markbanfield 0:efe3e11ca185 60
markbanfield 0:efe3e11ca185 61 index=0;
markbanfield 0:efe3e11ca185 62 while (index<65) {
markbanfield 0:efe3e11ca185 63 loop=0;
markbanfield 0:efe3e11ca185 64 while (loop<4) {
markbanfield 0:efe3e11ca185 65 IntLEDs = index;
markbanfield 0:efe3e11ca185 66 count = 1;
markbanfield 0:efe3e11ca185 67 pattern = 0+index;
markbanfield 0:efe3e11ca185 68 while (count<0x20) {
markbanfield 0:efe3e11ca185 69 Cols = count;
markbanfield 0:efe3e11ca185 70 Rows = DotPattern1[pattern];
markbanfield 0:efe3e11ca185 71 wait_ms(5);
markbanfield 0:efe3e11ca185 72 count = count*2;
markbanfield 0:efe3e11ca185 73 pattern++;
markbanfield 0:efe3e11ca185 74 }
markbanfield 0:efe3e11ca185 75 loop++;
markbanfield 0:efe3e11ca185 76 }
markbanfield 0:efe3e11ca185 77
markbanfield 0:efe3e11ca185 78 index++;
markbanfield 0:efe3e11ca185 79 }
markbanfield 0:efe3e11ca185 80 }
markbanfield 0:efe3e11ca185 81 }
markbanfield 0:efe3e11ca185 82
markbanfield 0:efe3e11ca185 83
markbanfield 0:efe3e11ca185 84
markbanfield 0:efe3e11ca185 85
markbanfield 0:efe3e11ca185 86