Tim Johnson
/
Controlling_GPIO_pinouts
How to control an output pin...and how to find out what the compiler name for the pin is.
main.cpp@1:0e26c8d5e834, 2016-08-16 (annotated)
- Committer:
- captaintim
- Date:
- Tue Aug 16 20:25:31 2016 +0000
- Revision:
- 1:0e26c8d5e834
- Parent:
- 0:e3b48fea2164
- Child:
- 2:afd0cb53867f
- Child:
- 3:9affc00dfa25
Modified Controlling_GPIO_pinouts to demo sample program using DigitalOut command to test LED segments on 4-digits 7-segment LED display, using mbed LPC1768 and Lumex LDQ-N514R1 LED display
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
captaintim | 0:e3b48fea2164 | 1 | #include "mbed.h" |
captaintim | 0:e3b48fea2164 | 2 | |
captaintim | 1:0e26c8d5e834 | 3 | /*comments: testing turning on and off of Pins for 7-segment diode |
captaintim | 0:e3b48fea2164 | 4 | using https://developer.mbed.org/users/synvox/notebook/lpc1768-pinout-with-labelled-mbed-pins/ |
captaintim | 1:0e26c8d5e834 | 5 | by Nenad Milosevic |
captaintim | 0:e3b48fea2164 | 6 | verification: put the black lead of a multimeter on pin 1 (gnd) |
captaintim | 0:e3b48fea2164 | 7 | and put the red lead on pin 26, voltage varies between +3.28VDC and 0VDC */ |
captaintim | 0:e3b48fea2164 | 8 | |
captaintim | 1:0e26c8d5e834 | 9 | /*test program to learn how to write code for a 4 digit, 7-segment LED display LDQ-N524R1 |
captaintim | 1:0e26c8d5e834 | 10 | The schematic for this (COMMON CATHODE) display shows the following connections |
captaintim | 1:0e26c8d5e834 | 11 | schematic located at http://www.lumex.com/ldq-n514ri (open Specs PDF for drawing) |
captaintim | 1:0e26c8d5e834 | 12 | |
captaintim | 1:0e26c8d5e834 | 13 | Pin Out wiring guide:(connect these mbed pins to display) |
captaintim | 1:0e26c8d5e834 | 14 | |
captaintim | 1:0e26c8d5e834 | 15 | CONTROL DISPLAY Pin# MBED Pin# |
captaintim | 1:0e26c8d5e834 | 16 | ---------------------------------- |
captaintim | 1:0e26c8d5e834 | 17 | Digit1 12 14 |
captaintim | 1:0e26c8d5e834 | 18 | Digit2 9 13 |
captaintim | 1:0e26c8d5e834 | 19 | Digit3 8 12 |
captaintim | 1:0e26c8d5e834 | 20 | Digit4 6 11 |
captaintim | 1:0e26c8d5e834 | 21 | DP 3 10 |
captaintim | 1:0e26c8d5e834 | 22 | A 11 21 |
captaintim | 1:0e26c8d5e834 | 23 | B 7 22 |
captaintim | 1:0e26c8d5e834 | 24 | C 4 23 |
captaintim | 1:0e26c8d5e834 | 25 | D 2 24 |
captaintim | 1:0e26c8d5e834 | 26 | E 1 25 |
captaintim | 1:0e26c8d5e834 | 27 | F 5 26 |
captaintim | 1:0e26c8d5e834 | 28 | G 5 27 |
captaintim | 1:0e26c8d5e834 | 29 | |
captaintim | 1:0e26c8d5e834 | 30 | There is no blanking on this display, |
captaintim | 1:0e26c8d5e834 | 31 | you have to write a ONE to Gnd pin for specific digit to turn it off |
captaintim | 1:0e26c8d5e834 | 32 | Program demonstrates use of DigitalOut to control segments of 7 segment display for 4 digit display LDQ-N514R1 |
captaintim | 1:0e26c8d5e834 | 33 | Author: Cap'n Tim Johnson PE |
captaintim | 1:0e26c8d5e834 | 34 | Retired Professor |
captaintim | 1:0e26c8d5e834 | 35 | Wentworth Institude of Technology |
captaintim | 1:0e26c8d5e834 | 36 | Dept. Electrical Engineering and Technology |
captaintim | 1:0e26c8d5e834 | 37 | Boston, MA |
captaintim | 1:0e26c8d5e834 | 38 | */ |
captaintim | 1:0e26c8d5e834 | 39 | |
captaintim | 1:0e26c8d5e834 | 40 | |
captaintim | 1:0e26c8d5e834 | 41 | DigitalOut myled(LED1); //used to signal where in the program "thou art". |
captaintim | 0:e3b48fea2164 | 42 | |
captaintim | 0:e3b48fea2164 | 43 | int main() { |
captaintim | 1:0e26c8d5e834 | 44 | //int on = 1; |
captaintim | 1:0e26c8d5e834 | 45 | //int off = 0; |
captaintim | 1:0e26c8d5e834 | 46 | int i = 2; //wait time interval |
captaintim | 1:0e26c8d5e834 | 47 | |
captaintim | 1:0e26c8d5e834 | 48 | //test of LED 7-segment diodes on 4 digit display |
captaintim | 1:0e26c8d5e834 | 49 | //while(1){ |
captaintim | 1:0e26c8d5e834 | 50 | DigitalOut (p14, 0); //Turn on digit1, Most Significant Digit |
captaintim | 1:0e26c8d5e834 | 51 | DigitalOut (p21, 1); |
captaintim | 1:0e26c8d5e834 | 52 | DigitalOut (p22, 1); |
captaintim | 1:0e26c8d5e834 | 53 | DigitalOut (p23, 1); |
captaintim | 1:0e26c8d5e834 | 54 | DigitalOut (p24, 1); |
captaintim | 1:0e26c8d5e834 | 55 | DigitalOut (p25, 1); |
captaintim | 1:0e26c8d5e834 | 56 | DigitalOut (p26, 1); |
captaintim | 1:0e26c8d5e834 | 57 | DigitalOut (p27, 1); |
captaintim | 1:0e26c8d5e834 | 58 | DigitalOut (p10, 1); //decimal point |
captaintim | 1:0e26c8d5e834 | 59 | wait (i); |
captaintim | 1:0e26c8d5e834 | 60 | |
captaintim | 1:0e26c8d5e834 | 61 | DigitalOut (p14, 1); //turn off digit1 |
captaintim | 1:0e26c8d5e834 | 62 | DigitalOut (p13, 0); //turn on digit2 |
captaintim | 1:0e26c8d5e834 | 63 | DigitalOut (p21, 1); |
captaintim | 1:0e26c8d5e834 | 64 | DigitalOut (p22, 1); |
captaintim | 1:0e26c8d5e834 | 65 | DigitalOut (p23, 1); |
captaintim | 1:0e26c8d5e834 | 66 | DigitalOut (p24, 1); |
captaintim | 1:0e26c8d5e834 | 67 | DigitalOut (p25, 1); |
captaintim | 1:0e26c8d5e834 | 68 | DigitalOut (p26, 1); |
captaintim | 1:0e26c8d5e834 | 69 | DigitalOut (p27, 1); |
captaintim | 1:0e26c8d5e834 | 70 | DigitalOut (p10, 1); //decimal point |
captaintim | 1:0e26c8d5e834 | 71 | wait (i); |
captaintim | 1:0e26c8d5e834 | 72 | |
captaintim | 1:0e26c8d5e834 | 73 | DigitalOut (p13, 1); //turn off digit2 |
captaintim | 1:0e26c8d5e834 | 74 | DigitalOut (p12, 0); //turn on digit3 |
captaintim | 1:0e26c8d5e834 | 75 | DigitalOut (p21, 1); |
captaintim | 1:0e26c8d5e834 | 76 | DigitalOut (p22, 1); |
captaintim | 1:0e26c8d5e834 | 77 | DigitalOut (p23, 1); |
captaintim | 1:0e26c8d5e834 | 78 | DigitalOut (p24, 1); |
captaintim | 1:0e26c8d5e834 | 79 | DigitalOut (p25, 1); |
captaintim | 1:0e26c8d5e834 | 80 | DigitalOut (p26, 1); |
captaintim | 1:0e26c8d5e834 | 81 | DigitalOut (p27, 1); |
captaintim | 1:0e26c8d5e834 | 82 | DigitalOut (p10, 1); //decimal point |
captaintim | 1:0e26c8d5e834 | 83 | wait (i); |
captaintim | 1:0e26c8d5e834 | 84 | |
captaintim | 1:0e26c8d5e834 | 85 | DigitalOut (p12, 1); //turn off digit3 |
captaintim | 1:0e26c8d5e834 | 86 | DigitalOut (p11, 0); //turn on digit4, Least Significant Digit |
captaintim | 1:0e26c8d5e834 | 87 | DigitalOut (p21, 1); |
captaintim | 1:0e26c8d5e834 | 88 | DigitalOut (p22, 1); |
captaintim | 1:0e26c8d5e834 | 89 | DigitalOut (p23, 1); |
captaintim | 1:0e26c8d5e834 | 90 | DigitalOut (p24, 1); |
captaintim | 1:0e26c8d5e834 | 91 | DigitalOut (p25, 1); |
captaintim | 1:0e26c8d5e834 | 92 | DigitalOut (p26, 1); |
captaintim | 1:0e26c8d5e834 | 93 | DigitalOut (p27, 1); |
captaintim | 1:0e26c8d5e834 | 94 | DigitalOut (p10, 1); //decimal point |
captaintim | 1:0e26c8d5e834 | 95 | wait (i); |
captaintim | 1:0e26c8d5e834 | 96 | DigitalOut (p11, 1); //Turn off digit4 |
captaintim | 1:0e26c8d5e834 | 97 | //they are all off |
captaintim | 1:0e26c8d5e834 | 98 | wait (1); |
captaintim | 0:e3b48fea2164 | 99 | |
captaintim | 1:0e26c8d5e834 | 100 | myled=1; //Signals all are about to turn on |
captaintim | 1:0e26c8d5e834 | 101 | wait (1); |
captaintim | 1:0e26c8d5e834 | 102 | |
captaintim | 1:0e26c8d5e834 | 103 | DigitalOut (p14, 0); //Turn them all on |
captaintim | 1:0e26c8d5e834 | 104 | DigitalOut (p13, 0); |
captaintim | 1:0e26c8d5e834 | 105 | DigitalOut (p12, 0); |
captaintim | 1:0e26c8d5e834 | 106 | DigitalOut (p11, 0); |
captaintim | 1:0e26c8d5e834 | 107 | wait (i); |
captaintim | 1:0e26c8d5e834 | 108 | |
captaintim | 1:0e26c8d5e834 | 109 | DigitalOut (p14, 1); //Turn them all off |
captaintim | 1:0e26c8d5e834 | 110 | DigitalOut (p13, 1); |
captaintim | 1:0e26c8d5e834 | 111 | DigitalOut (p12, 1); |
captaintim | 1:0e26c8d5e834 | 112 | DigitalOut (p11, 1); |
captaintim | 1:0e26c8d5e834 | 113 | wait (1); |
captaintim | 1:0e26c8d5e834 | 114 | |
captaintim | 1:0e26c8d5e834 | 115 | DigitalOut (p14, 0); //Turn them all on as zeros |
captaintim | 1:0e26c8d5e834 | 116 | DigitalOut (p13, 0); |
captaintim | 1:0e26c8d5e834 | 117 | DigitalOut (p12, 0); |
captaintim | 1:0e26c8d5e834 | 118 | DigitalOut (p11, 0); |
captaintim | 1:0e26c8d5e834 | 119 | DigitalOut (p27, 0); |
captaintim | 0:e3b48fea2164 | 120 | wait (i); |
captaintim | 1:0e26c8d5e834 | 121 | |
captaintim | 1:0e26c8d5e834 | 122 | DigitalOut (p14, 1); //Turn them all off |
captaintim | 1:0e26c8d5e834 | 123 | DigitalOut (p13, 1); |
captaintim | 1:0e26c8d5e834 | 124 | DigitalOut (p12, 1); |
captaintim | 1:0e26c8d5e834 | 125 | DigitalOut (p11, 1); |
captaintim | 1:0e26c8d5e834 | 126 | wait (1); |
captaintim | 1:0e26c8d5e834 | 127 | |
captaintim | 1:0e26c8d5e834 | 128 | DigitalOut (p14, 0); //Turn them all on as sevens |
captaintim | 1:0e26c8d5e834 | 129 | DigitalOut (p13, 0); |
captaintim | 1:0e26c8d5e834 | 130 | DigitalOut (p12, 0); |
captaintim | 1:0e26c8d5e834 | 131 | DigitalOut (p11, 0); |
captaintim | 1:0e26c8d5e834 | 132 | DigitalOut (p24, 0); |
captaintim | 1:0e26c8d5e834 | 133 | DigitalOut (p25, 0); |
captaintim | 1:0e26c8d5e834 | 134 | DigitalOut (p26, 0); |
captaintim | 1:0e26c8d5e834 | 135 | DigitalOut (p27, 0); |
captaintim | 0:e3b48fea2164 | 136 | wait (i); |
captaintim | 1:0e26c8d5e834 | 137 | |
captaintim | 1:0e26c8d5e834 | 138 | DigitalOut (p14, 1); //Turn them all off |
captaintim | 1:0e26c8d5e834 | 139 | DigitalOut (p13, 1); |
captaintim | 1:0e26c8d5e834 | 140 | DigitalOut (p12, 1); |
captaintim | 1:0e26c8d5e834 | 141 | DigitalOut (p11, 1); |
captaintim | 1:0e26c8d5e834 | 142 | wait (1); |
captaintim | 1:0e26c8d5e834 | 143 | |
captaintim | 1:0e26c8d5e834 | 144 | myled=0; //end of program signal |
captaintim | 1:0e26c8d5e834 | 145 | |
captaintim | 0:e3b48fea2164 | 146 | } |