int main(){
volatile uint8_t x = 0, i = 0;
uint8_t SevenSegmentArray[10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
//Seven Segment
//Output
volatile char* dirD;
dirD = 0x2A;
*dirD = 0xFF;
volatile char* outD;
outD = 0x2B;
*outD = 0x00;
//Input
volatile char* dirC = NULL;
dirC = 0x27;
*dirC = 0x00;
volatile char* inpC = NULL;
inpC = 0x26;
*inpC = 0x00;
while(1){
x = *inpC;
delay_Own(50);
if((x & 0x01) == 0x01){
i++;
if(i == 10){
i = 0;
}
}
*outD = SevenSegmentArray[i];
}
}
void delay_Own(uint32_t delayMicro){
for(volatile uint32_t i = 0; i < delayMicro; i++)
for(volatile uint32_t j = 0; j < 1275; j++);
}