萌新的51之旅——串口通信(2)
串口通信的接口标准:
一:RS-232C接口
1:机械特性
RS232C接口规定使用25针连接器,连接器的尺寸及每个插针的排列位置都有明确地定义。
RS232C标准接口主要引脚定义:
PGND:保护接地
TXD:发送数据
RXD:接收数据
RTS:请求发送
CTS:允许发送
DSR:数据建立就绪
SGND:信号接地
DCD:载波检测
DTR:数据终端准备就绪
RI:振铃指示
过程特性规定了信号之间的时序关系,以便正确的接收和发送数据。
RS485是一点对多点的通信端口,一般采用双绞线的结构。普通的PC机一般不带。
80C51串行口的控制寄存器:
SCON是一个特殊功能的寄存器,用以设定串行口的工作方式,接收和发送控制以及设置状态标志:
下面我们来介绍一下寄存器的各个控制位:
SM2:多机通信控制位,主要运用于方式二和方式三。当接收机的SM2=1时可以利用接收到的RB8来控制是否**RI。当SM2=0时,不论收到的RB8为0和1,均可以使收到的数据进入SBUF,并且**RI。通过控制SM2可以实现多机通信。
REN,允许串行接收位。由软件置REN=1,则启动串行口接收数据;若软件置REN=0,则禁止接收。
T1发送中断标志位
在方式0时,当串行发送八位数据结束时,或在其他方式,串行发送停止位的开始时,由内部硬件使T1置为一,向CPU发中断申请。在中断服务程序中,必须用软件将其清0,取消此中断申请。
RI接收中断标志位
在0方式时,当串行接收第八位数据结束时,或在其他方式,串行接收停止位的中间时,由内部硬件使RI置一,向CPU发送中断申请,也必须在中断服务程序中,用软件将其清0,取消此中断申请。
当T1作为波特率发生器时,最典型的用法是使T1工作在自动再装入的8位定时器方式,即方式2,此时的溢出率取决于TH1中的计数值。
下面我们会给出其相应的波特率的传输速度的计算公式:
接下来我们可以直接来观察一段代码来简单的了解一下PC机对单片机之间的通信,这需要我们准备51单片机,串口通信助手等一系列的软件,然后我们就将要对其相关的寄存器进行一系列的操作,之后,我们可以直接通过电脑模拟给单片机发送信息,然后通过我们的串口的
调试助手我们还能够从电脑也就是PC上直观的感受到相关的一系列的变化过程,及对应的相关的数据信息,它会直接反馈到电脑上,我们也就能够直观的感受到串口的简单的通信的方式了。