单片机串口通信程序

include

include

include

include

include

define F_CPU 16000000UL

define BAUD 9600

define MYUBRR F_CPU/16/BAUD-1

void USART_Init(unsigned int ubrr) {

UBRR0H = (unsigned char)(ubrr>>8);

UBRR0L = (unsigned char)ubrr;

UCSR0B = (1<

UCSR0C = (1<

}

void USART_Transmit(unsigned char data) {

while (!(UCSR0A & (1<

UDR0 = data;

}

unsigned char USART_Receive(void) {

while (!(UCSR0A & (1<

return UDR0;

}

int main(void) {

USART_Init(MYUBRR);

while (1) {

unsigned char received_byte = USART_Receive();

USART_Transmit(received_byte);

}

return 0;

}

doc 文件大小:121.5KB