Solutions for the 7-Segment Display experiments for LPC812 MAX
Dependencies: lpc812_exp_lib_PCF8591 mbed
main.cpp
- Committer:
- embeddedartists
- Date:
- 2013-11-22
- Revision:
- 0:e64372861297
File content as of revision 0:e64372861297:
#include "mbed.h" DigitalIn button(D0); DigitalOut segA(D4); DigitalOut segB(D7); DigitalOut segC(D8); DigitalOut segD(D10); DigitalOut segE(D11); DigitalOut segF(D12); DigitalOut segG(D13); DigitalOut segDP(D9); static void show(int val) { // turn off all segments segA = segB = segC = segD = segE = segF = segG = 1; // turn on segments depending on what to show switch (val) { case 0: segA = segB = segC = segD = segE = segF = 0; break; case 1: segB = segC = 0; break; case 2: segA = segB = segD = segE = segG = 0; break; case 3: segA = segB = segC = segD = segG = 0; break; case 4: segB = segC = segF = segG = 0; break; case 5: segA = segC = segD = segF = segG = 0; break; case 6: segA = segC = segD = segE = segF = segG = 0; break; case 7: segA = segB = segC = 0; break; case 8: segA = segB = segC = segD = segE = segF = segG = 0; break; case 9: segA = segB = segC = segD = segF = segG = 0; break; case 'A': segA = 0; break; case 'B': segB = 0; break; case 'C': segC = 0; break; case 'D': segD = 0; break; case 'E': segE = 0; break; case 'F': segF = 0; break; case 'G': segG = 0; break; } } static void experiment2_alt1() { // Enter forever loop while(1) { for (int i = 0; i < 10; i++) { // Delay a specified period of time or wait for push-button to be pressed wait(0.3); show(i); } } } static void experiment2_alt2() { // Enable button button.mode(PullUp); // Enter forever loop while(1) { for (int i = 0; i < 10; i++) { // Delay a specified period of time or wait for push-button to be pressed while(button); while(!button); show(i); } } } static void experiment2_alt3() { // Enter forever loop while(1) { for (int i = 'A'; i < 'G'; i++) { // Delay a specified period of time or wait for push-button to be pressed wait(0.3); show(i); } } } int main() { // turn off all segments segA = segB = segC = segD = segE = segF = segG = segDP = 1; //experiment2_alt1(); // Automatic counting //experiment2_alt2(); // Push button advances counting experiment2_alt3(); // Automatic running one }