如何用计算机给单片机发送数据,单片机如何接收数据呢?
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
时间: 2024-10-27 05:22:24