Reception of data using pic12f1822 UART
The function send_data() expects a string, but you are giving it the single character blink. The program is probably trying to use the contents of blink as a pointer, and the result is whatever happens to be at that memory location (ie. garbage).

You should change blink from type char to an array of characters, like this:-

char blink[2] = 0; // 1 character + null terminator = 2 bytes, both initialized to 0
..
blink[0] = RCREG;  // store received character 
..
if(blink[0] != 0)  // received a character? 
..
blink[0] = 0;      // reset to null