Explain the following C Code shown in below in Figure 1. Include detailed step-by-step explanations please in the form of paragraphs. Figure 1 1 E static void mouse organ ADC Tas k (void *pvParameters) 3 #define ADC Data Latch 1 0x30A 4 #define ADC Data Latch 0x302 //Result for Keypad int result 0; //Keypad Interrupt 7 int Keypadif30; 9 void interrupt Keypad void) /Interrupt transaction 10 esult in portb; 11 Keypadif 1; 12 13 14 Close down and exit 15 While (Key Pressed 16 Remove ISR (0) Interrupt excluded 17 Set result (Situation); 18 19 Solution First function is a static function names mouse_organ_ADC_Task, its return type is void that means its won\'t return anyvalue. The parameter to the function is a pointer to pvParameters. Now first it has define value to two global variables ADC_Data_Latch1 as 0x30A and to ADC_Data_Latch2 0x302 Now two data variables both of type int result and keypadif having initial value as zero. Now it has nested function which is used to interup transaction which is assigning value inportb to variable result and keypadif to 1 which means a keyboard event has occured(some key pressed) and a while loop to go till the time key is Pressed and it will loop over and perform remove ISR function..