首页 > 代码库 > 单片机第12课:串口通信---中断方式--从计算机接收数据

单片机第12课:串口通信---中断方式--从计算机接收数据

JP3和P0口连接。用中断的方式来接收数据。

#include<reg51.h>

//声明初始化子函数
void initSer();
void main()
{
	//初始化子函数调用
	initSer();
	while(1)
	{
	 	//一句话都没有
	}
}

//定义初始化子函数
void initSer()
{
 	//定时器工作方式为2
	TMOD = 0x20;
	//波特率9600,SMOD=0
	TH1 = 0xfd;
	TL1 = 0xfd;
	//启动定时器
	TR1 = 1;
	//串口工作方式1
	SM0 = 0;
	SM1 = 1;
	//允许接收数据
	REN = 1;

	//开启中断允许
	ES = 1;
	EA = 1;
}

//中断服务程序
void ser() interrupt 4
{
	//接收到数据就会来这里,这是要软件清零
	RI = 0;
	//从缓冲器中读取数据
	P0 = SBUF;
}
串口通信的中断方式---从计算机接收数据步骤

1---确定定时器T1的工作方式为2,并装初值,并启动

2---串口的工作方式为1,允许接收为REN为1,开启中断允许位

3----写中断服务程序,不需要重新装初值,是因为这是自动重装的,注意RI软件清零

单片机第12课:串口通信---中断方式--从计算机接收数据