一、目标
单片机甲机P1端口外接8位拨码开关;乙机P0外接8只LED。要求使用单片机串行口通信,在查询状态下使单片机乙机的8只LED能够显示甲机8位拨码开关的状态。
二、布线
三、实现
1、首先我们先来编写发送机的代码。利用T1定时器的工作方式2(八位自动重装载模式)进行波特率的设置。常用的波特率有:1200、4800、9600、19200。我们选择采用9600的波特率对应的定时器初始值为0xFD。设置SCON串行口控制寄存器,令其工作在方式1(可变波特率,10位UART)。这里是发送机所以不需要接收功能,将REN设置为禁止接收状态。
#include<reg52.h>
#include <intrins.h>
#define uchar unsigned char//宏定义
#define uint unsigned int //宏定义
void sending(uint p1)
{
SBUF=p1;//将p1送进缓冲区
while(!TI