ATmega16L串口通信程序
扫描二维码
随时随地手机看文章
/**************************************************************
实验名称:串口通信演示实验
晶振:内部 8M
接线方法:
1.PD0接RXD,PD1接TXD
2.打开串口调试助手
使用说明:
1.本程序能够测试串口数据发送与接收。发送采用
查询方式,接收采用中断方式,通信波特率为19200。
2.当上位机软件发送一串数据时,单片机收到后回送相同
的数据。
*****************************************************************/
#include
#include
#pragma interrupt_handler uart_getchar:12//开启串口接收中断
void uart_init(void)
{
UCSRB|=(1<
UBRRH=0x00;
UCSRC|=(1<
}
void uart_putchar(char x)
{
while (!(UCSRA&0x20))//查询发送区是否为空
;
UDR=x; //发送数据
}
void uart_getchar(void)//接收数据
{
char y;
y=UDR;
uart_putchar(y);//把接收到的数据返回给上位机
}
void main()
{
DDRD=0x03;//打开串口端口
uart_init();//串口初始化
}