[MCS51]51如何通过 printf 打印数据到串口

Date: 2019/01/07    Author: Ryuusouei

8051 串口初始化

        今天我们来谈谈 8051 串口输出字节的方法。

        在使用 51 串口之前,我们肯定要先对 51 串口进行初始化动作初始化动作包含哪些事情呢?

        其包含底下 5 件事:

     1.设定串口模式-SCON,2.设定计数器的模式-TMOD,3.设定计数器的初始值,4.使能中断-ES & EA,5.打开计数器 

晶振 11.0592 MHz ,串口波特率 9600bps 的代码内容如下:

[MCS51]51如何通过 printf 打印数据到串口_第1张图片
串口初始化函数内容

8051 串口输出

        做完初始化后,接下来我们要撰写输出数据到串口的函数内容了,需要做的内容包含:

1.关闭串口接收中断,2.将字节丢到 SBUF 中,3.等待 TI 发送旗标置位完成,4.清除旗标

        代码其实很简单,一般常见的数据输出的函数代码如下:

串口打印函数

       这边有个重点,重点在与这个打印函数的函数名为 "char putchar(char c)" ,为何要使用这个函数名呢?这是因为如果我们要使用 C语言中的 printf 函数时,printf 函数底层调用的就是这个 putchr 函数。

        以上动作做完后,我们就可以使用 stdio.h 头文当中所提供的 printf 函数来打印资料到串口中了。

[MCS51]51如何通过 printf 打印数据到串口_第2张图片
串口打印范例代码

       在我这边串口初始化的代码内多了一行 AUXR &= 0xFE; 这是因为 Ryuu 老师使用的是 IAP15F2K61S2芯片的关系,如果同学使用的是标准 8051 的话,可以将此代码省略。

今天的分享就到这边。

你可能感兴趣的:([MCS51]51如何通过 printf 打印数据到串口)