Making UART between ATmega32A and the PC :
Emulators are not same as real world and may not be correctly made. In some AVRs like the ATMega32A, the UBRRH and UCSRC registers are accessed through same address, so you have the wrong sequence to access them. Please read the datasheet section about how to use the registers properly. Basically, don't do a read-modify-write operation to UCSRC, as reading it will actually read UBRRH first, and a second read will read UCSRC. And when writing, use the URSEL bit correctly to select between UBRRH and UCSRC. Basically what happens now is that you set the UBRRH register to non-zero value and thus the baud rate not 9600 but something really slow (about 609 BPS) which the PC interprets as receiving 0 with FRAMING ERROR as seen in the screen shot.