Write a program that calculates PORTA 4 PORTB and sends ou
Write a program that calculates (PORTA + 4) * PORTB and sends out the result through PORTC and PORTD. Consider all the values unsigned.
Solution
1.   void main()
 2.   {
 3.   TRISA = 0xFF; //Set PORTA as Input
 4.   TRISB = 0xFF; // Set PORTB as Input
 5.   TRISC = 0xFF;
 6.   TRISD = 0xFF;   
 7.   PORTA = 0x00;
 8.   PORTB = 0x00;
 9.   PORTC = 0x00;
 10.   PORTD = 0x00;
 11.   CMCON = 0x07;
 12.   ADCON1 = 0b10000110;
 13.   // or
 14.   // ADCON1 = 0b10000111;
 15.   do
 16.   {
 17.  
 18.   if(PORTA.F0 == 1) // If RA0 is Toggled
 19.   {
 20.   TRISC = 0x00; // Set PORTC as Output
 21.   TRISD = 0x00; //Set PORTD as Output
 22.   PORTB = 0xFF; // Toggle On
 23.   Delay_ms(500);
 24.   PORTB = 0x00; // Toggle OFF
 25.   Delay_ms(500);
 26.   TRISB = 0xFF;
 27.   }
 28.  
 29.   if(PORTB.F0 == 1) // If RB0 is Toggled
 30.   {
 31.   TRISC = 0x00; // Set PORTC as Output
 32. TRISD = 0x00; // Set PORTD as Output
 33   PORTC = 0xFF; // Toggle On
 34.   Delay_ms(500);
 34.   PORTC = 0x00; // Toggle OFF
 35.   Delay_ms(500);
 36.   TRISC = 0xFF;
 37.   }
 38.  
 39.   if(PORTC.F0 == 1) // If RC0 is Toggled
 40.   {
 41.   TRISD = 0x00; // Set PORTD as Output
 42. TRISD = 0x00; // Set PORTD as Output
    PORTD = 0xFF; // Toggle On
 43.   Delay_ms(500);
 44.   PORTD = 0x00; // Toggle OFF
 45.   Delay_ms(500);
 46.   TRISD = 0xFF;
 47.   }
 48.  
 49.   }while(1);
 50.   }
 51.   while(!RA0)
 52.   {
 53.   PORTB=0x01;
 54.   __delay_ms(10000);
 55.   }
 56.  
 57.   __delay_ms(40000);
 58.  
 59.  
 60.   while(!RB0)
 61.   {
 62.   PORTB=0x02;
 63.   __delay_ms(10000);
 64.   }
 60.   while(!RC0)
 61.   {
 62.   PORTD=((0x00)+4)*(0x00);
 63.   __delay_ms(10000);
 64.   }


