下面我们将进入新一部分的学习:串口通讯。我们利用串口传递信息,以实现与外界的信息交互。
我们本次学习的主要目标是实现单片机通过串口输出数字到电脑上以及通过电脑控制单片机LED状态。
首先我们先认识一下串口的工作模式图:
当接收完成后或者发送完成后,RI,TI从0变为1,这可以成为我们判断是否完成传递的标志。而SBUF就相当于数据的中转站,数据赋值给SBUF,SBUF再将数据输出。中间依然需要连接中断系统: 第一步就是要初始化串口,如果我们有一定的电路基础可以自行配置相关电路,在这里笔者用了STC-ISP中的串口助手生成了初始化代码: 注意,我们在STC-ISP中用波特率计算器生成代码时要选择好相应的电路板所需要的配置,否则可能会出现乱码以及延误的情况。下面是主函数代码:
下面是在电脑上的输出情况:
上面的输出有两个错误就是因为没有将相应的配置完全配置好而引发的。
接下来是第二个任务:电脑通过串口控制单片机LED状态。
其实总体思路和上面是一样的,在单片机接收数据的时候,需要用到中断系统,那么我们就需要在初始化串口的时候捎带上配置相应的中断系统:
因为我们需要将电脑发送的信息再次返回到电脑中,所以我们需要发送函数以及接收函数(中断函数): 下面是实验现象:
51单片机串口通讯
以上就是51单片机串口通讯的相关内容,希望能够帮到大家!