怎样用计算机给单片机发送数据,单片机怎样接收数据呢?
JP3与P0口相连接。从计算机给单片机发送一个十六进制数据,然后看数码管的显示。
#include
/*
*给单片机发送一个十六进制的数据,用来显示数码管
*/
void initSer();
void main()
{ 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