单片机第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

posted on 2016-01-10 14:29  gcczhongduan  阅读(1396)  评论(0编辑  收藏  举报