Serial Shift register c code

I am trying to Interface PIC/Arduino with cd4094 serial shift register, I have written simple c code w.r.t. pic controller.

if i send data 1: LED1 should glow
if i send data 2: LED2 should glow
if i send data 3: LED3 should glow

I have attached code & schematic for reference for reference.

below code example for PIC16F886

RA0= strobe
RA1=clock
RA2=DATA

void ShiftData(unsigned char Data)
{
        unsigned char i;
        OUTEN=1;
        STROBE = 0;
        DISPCLK = 0;
        DISPDATA = 0;
	
        for(i = 0;i < 8;i++)
            {
                if(Data & 0x01) 
                   DISPDATA = 1;
                else 
                   DISPDATA = 0;

                DISPCLK = 1;	
                NOP(); 
                NOP(); 
                DISPCLK = 0;
                Data = Data >> 1;
            
		}
        STROBE = 1;
        NOP(); 
        NOP(); 
        STROBE = 0;
      OUTEN=0;
}


void Init_Controller()
{
	cnt=100;
   OSCCON=0b01110001;	
//   CONFIG1=0b00000100;
   //OSCTUNE=0b00000000;
    PIE2=0b00000000;
    PIR2=0b00000000;
   
    CM1CON0 = 0b00000000;
	CM2CON0 = 0b00000000;
	
	TRISC  = 0x3B;		
	PORTC  = 0x00;		
	TRISB=0X0F;
	PORTB = 0X00;
	TRISA=0x10; 
	PORTA=0x00;   
	ADCON0= 0x00;	
	ANSEL = 0b00000000;
	
	Timer1_Interrupt();

}
 

void main(void)
  {
   OSCCON=0b01110001;	
  Init_Controller();

  GIE=1;
  PEIE=1;
  TMR1IE=1;
  unsigned char Data=0X02;
 
	while(1);
	{
       
     ShiftData(0X10);

	} 

  

}

Shift.JPG

Image from Original Post so we don’t have to download it. See this Simple Image Guide

0256d10cb44981ccbb9526fe678e2a5a20fee6a4.jpg

…R

(deleted)