working hello message on seven seg

Dependencies:   mbed

Committer:
andrewbw01
Date:
Wed Feb 17 17:26:31 2021 +0000
Revision:
0:84215c8c21e8
working hello message on seven seg

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andrewbw01 0:84215c8c21e8 1 #include "mbed.h"
andrewbw01 0:84215c8c21e8 2
andrewbw01 0:84215c8c21e8 3 BusOut LED_Disp(p7,p11,p9,p8,p5,p6,p10,p12);
andrewbw01 0:84215c8c21e8 4
andrewbw01 0:84215c8c21e8 5 void DisplayNumber(int);
andrewbw01 0:84215c8c21e8 6
andrewbw01 0:84215c8c21e8 7 DigitalOut col1 (p26); // pin 4 on keypad
andrewbw01 0:84215c8c21e8 8 DigitalOut col2 (p28); // pin 2
andrewbw01 0:84215c8c21e8 9 DigitalOut col3 (p24); // pin 6
andrewbw01 0:84215c8c21e8 10
andrewbw01 0:84215c8c21e8 11 DigitalIn row1 (p27); // pin 3
andrewbw01 0:84215c8c21e8 12 DigitalIn row2 (p22); // pin 8
andrewbw01 0:84215c8c21e8 13 DigitalIn row3 (p23); // pin 7
andrewbw01 0:84215c8c21e8 14 DigitalIn row4 (p25); // pin 5
andrewbw01 0:84215c8c21e8 15
andrewbw01 0:84215c8c21e8 16 int main()
andrewbw01 0:84215c8c21e8 17 {
andrewbw01 0:84215c8c21e8 18 while(1)
andrewbw01 0:84215c8c21e8 19 {
andrewbw01 0:84215c8c21e8 20 LED_Disp = ~0x76; //bit pattern for 0
andrewbw01 0:84215c8c21e8 21 wait(0.8);
andrewbw01 0:84215c8c21e8 22 LED_Disp = ~0x79; //bit pattern for 1
andrewbw01 0:84215c8c21e8 23 wait(0.8);
andrewbw01 0:84215c8c21e8 24 LED_Disp = ~0x30; //2
andrewbw01 0:84215c8c21e8 25 wait(0.8);
andrewbw01 0:84215c8c21e8 26 LED_Disp = 0xFF;
andrewbw01 0:84215c8c21e8 27 wait(0.3);
andrewbw01 0:84215c8c21e8 28 LED_Disp = ~0x30; //3
andrewbw01 0:84215c8c21e8 29 wait(0.8);
andrewbw01 0:84215c8c21e8 30 LED_Disp = ~0x3F; //4
andrewbw01 0:84215c8c21e8 31 wait(0.8);
andrewbw01 0:84215c8c21e8 32
andrewbw01 0:84215c8c21e8 33 }
andrewbw01 0:84215c8c21e8 34 }
andrewbw01 0:84215c8c21e8 35
andrewbw01 0:84215c8c21e8 36 char keypad(void)
andrewbw01 0:84215c8c21e8 37 {
andrewbw01 0:84215c8c21e8 38 col1 = 1; //colunm 1 high
andrewbw01 0:84215c8c21e8 39 col2 = 0;
andrewbw01 0:84215c8c21e8 40 col3 = 0;
andrewbw01 0:84215c8c21e8 41
andrewbw01 0:84215c8c21e8 42 if (row1==1)
andrewbw01 0:84215c8c21e8 43 {
andrewbw01 0:84215c8c21e8 44 while(row1==1){}
andrewbw01 0:84215c8c21e8 45
andrewbw01 0:84215c8c21e8 46 col1 = 0;
andrewbw01 0:84215c8c21e8 47 col2 = 0;
andrewbw01 0:84215c8c21e8 48 col3 = 0;
andrewbw01 0:84215c8c21e8 49 DisplayNumber(1);
andrewbw01 0:84215c8c21e8 50
andrewbw01 0:84215c8c21e8 51
andrewbw01 0:84215c8c21e8 52 }
andrewbw01 0:84215c8c21e8 53 else if (row2==1)
andrewbw01 0:84215c8c21e8 54 {
andrewbw01 0:84215c8c21e8 55 while (row2==1){}
andrewbw01 0:84215c8c21e8 56
andrewbw01 0:84215c8c21e8 57 col1 = 0;
andrewbw01 0:84215c8c21e8 58 col2 = 0;
andrewbw01 0:84215c8c21e8 59 col3 = 0;
andrewbw01 0:84215c8c21e8 60 DisplayNumber(4);
andrewbw01 0:84215c8c21e8 61 }
andrewbw01 0:84215c8c21e8 62 else if (row3==1)
andrewbw01 0:84215c8c21e8 63 {
andrewbw01 0:84215c8c21e8 64 while (row3==1){}
andrewbw01 0:84215c8c21e8 65
andrewbw01 0:84215c8c21e8 66 col1 = 0;
andrewbw01 0:84215c8c21e8 67 col2 = 0;
andrewbw01 0:84215c8c21e8 68 col3 = 0;
andrewbw01 0:84215c8c21e8 69 DisplayNumber(7);
andrewbw01 0:84215c8c21e8 70 }
andrewbw01 0:84215c8c21e8 71 else if (row4==1)
andrewbw01 0:84215c8c21e8 72 {
andrewbw01 0:84215c8c21e8 73 while (row4==1){}
andrewbw01 0:84215c8c21e8 74
andrewbw01 0:84215c8c21e8 75 col1 = 0;
andrewbw01 0:84215c8c21e8 76 col2 = 0;
andrewbw01 0:84215c8c21e8 77 col3 = 0;
andrewbw01 0:84215c8c21e8 78 DisplayNumber(11);
andrewbw01 0:84215c8c21e8 79 }
andrewbw01 0:84215c8c21e8 80
andrewbw01 0:84215c8c21e8 81 return(0);
andrewbw01 0:84215c8c21e8 82 }
andrewbw01 0:84215c8c21e8 83
andrewbw01 0:84215c8c21e8 84
andrewbw01 0:84215c8c21e8 85
andrewbw01 0:84215c8c21e8 86
andrewbw01 0:84215c8c21e8 87
andrewbw01 0:84215c8c21e8 88
andrewbw01 0:84215c8c21e8 89
andrewbw01 0:84215c8c21e8 90 void DisplayNumber(int num)
andrewbw01 0:84215c8c21e8 91 {
andrewbw01 0:84215c8c21e8 92 switch(num)
andrewbw01 0:84215c8c21e8 93 {
andrewbw01 0:84215c8c21e8 94 case 0:
andrewbw01 0:84215c8c21e8 95 LED_Disp = ~0x3F;
andrewbw01 0:84215c8c21e8 96 break;
andrewbw01 0:84215c8c21e8 97 case 1:
andrewbw01 0:84215c8c21e8 98 LED_Disp = ~0x06;
andrewbw01 0:84215c8c21e8 99 break;
andrewbw01 0:84215c8c21e8 100 case 2:
andrewbw01 0:84215c8c21e8 101 LED_Disp = ~0x5B;
andrewbw01 0:84215c8c21e8 102 break;
andrewbw01 0:84215c8c21e8 103 case 3:
andrewbw01 0:84215c8c21e8 104 LED_Disp = ~0x4F;
andrewbw01 0:84215c8c21e8 105 break;
andrewbw01 0:84215c8c21e8 106 case 4:
andrewbw01 0:84215c8c21e8 107 LED_Disp = ~0x66;
andrewbw01 0:84215c8c21e8 108 break;
andrewbw01 0:84215c8c21e8 109 case 5:
andrewbw01 0:84215c8c21e8 110 LED_Disp = ~0x6D;
andrewbw01 0:84215c8c21e8 111 break;
andrewbw01 0:84215c8c21e8 112 case 6:
andrewbw01 0:84215c8c21e8 113 LED_Disp = ~0x7D;
andrewbw01 0:84215c8c21e8 114 break;
andrewbw01 0:84215c8c21e8 115 case 7:
andrewbw01 0:84215c8c21e8 116 LED_Disp = ~0x07;
andrewbw01 0:84215c8c21e8 117 break;
andrewbw01 0:84215c8c21e8 118 case 8:
andrewbw01 0:84215c8c21e8 119 LED_Disp = ~0x7F;
andrewbw01 0:84215c8c21e8 120 break;
andrewbw01 0:84215c8c21e8 121 case 9:
andrewbw01 0:84215c8c21e8 122 LED_Disp = ~0x67;
andrewbw01 0:84215c8c21e8 123 break;
andrewbw01 0:84215c8c21e8 124 case 10: //#
andrewbw01 0:84215c8c21e8 125 LED_Disp = ~0x5c;
andrewbw01 0:84215c8c21e8 126 break;
andrewbw01 0:84215c8c21e8 127 case 11: //*
andrewbw01 0:84215c8c21e8 128 LED_Disp = ~0x63;
andrewbw01 0:84215c8c21e8 129 break;
andrewbw01 0:84215c8c21e8 130 }
andrewbw01 0:84215c8c21e8 131 }
andrewbw01 0:84215c8c21e8 132
andrewbw01 0:84215c8c21e8 133