首页 > 代码库 > 单片机第11课:串口通信查询方式---从计算机接受数据

单片机第11课:串口通信查询方式---从计算机接受数据

如何用计算机给单片机发送数据,单片机如何接收数据呢?

JP3与P0口相连接。从计算机给单片机发送一个十六进制数据,然后看数码管的显示。

#include<reg51.h>
/*
*给单片机发送一个十六进制的数据,用来显示数码管
*/
void initSer();
void main()
{<span>	</span>initSer();
	while(1)
	{
		//查询RI的值,如果是1,那么接收到了数据,此时应该软件清零,RI = 0
		if(RI == 1)
		{
			RI = 0;
			//从缓冲器中获取从计算机发过来的数据,赋值给P0
			P0 = SBUF;	
		}
	}
}

//初始化函数
void initSer()
{
	//让定时器T1工作在方式2下
	TMOD = 0x20;
	//赋值
	TH1 = 0xfd;
	TL1 = 0xfd;
	//串口的工作方式为1
	SM0 = 0;
	SM1 = 1;
	//允许串口接受
	REN = 1;
	// 启动定时器
	TR1 = 1;

	P0 = 0xc0;
}
串口通信查询方式步骤:

1---确定定时器T1的工作方式

2---给定时器的两个寄存器赋值

3---启动定时器T1

4---确定串口的工作方式

5---如果单片机要从计算机获取数据,那么应该让REN = 1

6---查询RI的值,如果是1,那么就接收到了数据,注意马上应该软件置RI = 0

单片机第11课:串口通信查询方式---从计算机接受数据