working hello message on seven seg

Dependencies:   mbed

main.cpp

Committer:
andrewbw01
Date:
2021-02-17
Revision:
0:84215c8c21e8

File content as of revision 0:84215c8c21e8:

#include "mbed.h"

BusOut LED_Disp(p7,p11,p9,p8,p5,p6,p10,p12);

void DisplayNumber(int);

DigitalOut col1 (p26);       // pin 4 on keypad
DigitalOut col2 (p28);       // pin 2
DigitalOut col3 (p24);       // pin 6 
 
DigitalIn row1 (p27);        // pin 3
DigitalIn row2 (p22);        // pin 8
DigitalIn row3 (p23);        // pin 7
DigitalIn row4 (p25);        // pin 5

int main()
{
    while(1)
    {
        LED_Disp = ~0x76;   //bit pattern for 0
        wait(0.8); 
        LED_Disp = ~0x79;   //bit pattern for 1
        wait(0.8);
        LED_Disp = ~0x30;   //2
        wait(0.8);
        LED_Disp = 0xFF;
        wait(0.3);
        LED_Disp = ~0x30;   //3
        wait(0.8);
        LED_Disp = ~0x3F;   //4
        wait(0.8);
        
    }   
}

char keypad(void) 
{
    col1 = 1;             //colunm 1 high
    col2 = 0; 
    col3 = 0; 
    
    if (row1==1)
    {
        while(row1==1){}
        
        col1 = 0;             
        col2 = 0;
        col3 = 0;
        DisplayNumber(1);
        
                    
    }
    else if (row2==1)           
    {
        while (row2==1){}
        
        col1 = 0;
        col2 = 0;
        col3 = 0;
        DisplayNumber(4);           
    } 
    else  if (row3==1)         
    {
        while (row3==1){}
        
        col1 = 0;
        col2 = 0;
        col3 = 0;
        DisplayNumber(7);
    }
    else if (row4==1)
    {
        while (row4==1){}
        
        col1 = 0;
        col2 = 0;
        col3 = 0;
        DisplayNumber(11);
    }
        
    return(0);
}







void DisplayNumber(int num)
{
     switch(num)
     {
        case 0:
            LED_Disp = ~0x3F;
            break;
        case 1:
            LED_Disp = ~0x06;
            break;
        case 2:
            LED_Disp = ~0x5B;
            break;
        case 3:
            LED_Disp = ~0x4F;
            break;
        case 4:
            LED_Disp = ~0x66;
            break;
        case 5:
            LED_Disp = ~0x6D;
            break;
        case 6:
            LED_Disp = ~0x7D;
            break; 
        case 7:
            LED_Disp = ~0x07;
            break;
        case 8:
            LED_Disp = ~0x7F;
            break;
        case 9:
            LED_Disp = ~0x67;
            break; 
        case 10: //#
            LED_Disp = ~0x5c;
            break;
        case 11:   //*
            LED_Disp = ~0x63;
            break;
    }
}