介绍:STC89C51RC/RD+系列单片机内部集成了一个全双工的串行口通信,有俩个互相独立的接收、发送缓存器,可以同时接受和发送数据。发送缓存器只能发送而不能接收,接收缓存器只能接收而不能发送,因为俩个缓存器共用一个地址(99H),所以俩个缓存器统称为串行口特殊功能寄存器SBUF。

一、寄存器介绍:该系列设有俩个控制寄存器:串行控制寄存器SCON和波特率选择特殊功能寄存器PCON。

1、串行控制寄存器SCON使用介绍:

2、波特率选择特殊功能寄存器PCON(电源控制寄存器)使用介绍:

3、串口行数据缓冲寄存器SBUF介绍说明:数据的存放地址

4、与串口中断相关的寄存器IE、IPH、IP:

五、波特率介绍和计算方式:

介绍:串口通信的速率(发送和接收各数据位的时间间隔)

计算方式:

   Bd=1  /(定时器溢出率)÷  16

           如:某定时器溢出率为 13us,那么Bd=(1/13us) ÷ 16=0.00480749MHz=4807.69Mz

二、串口中断结构和中断优先级:

中断结构

中断优先级

三、寄存器配置:

代码:

void UART_Init()
{PCON |= 0x80;     //使能波特率倍速位SMODSCON = 0x50;     //8位数据,可变波特率TMOD &= 0x0F;      //设置定时器模式TMOD |= 0x20;     //设置定时器模式TL1 = 0xF3;       //设置定时初始值TH1 = 0xF3;       //设置定时重载值ET1 = 0;      //禁止定时器%d中断TR1 = 1;        //定时器1开始计时      //中断EA=1;       //启动所有中断ES=1;             //启动串口中断
}

四、通过SBUF接收和发送数据:

代码:

接收:SBUF数据可从电脑获取(数据可由软件定义)

void UART_SendByte(unsigned char Byte)  //写入一个数据
{SBUF=Byte;while(TI==0);   //  TI:发送中断标志位TI=0;}

发送:电脑发送的数据可被SBUF获取

void UART_Routine()  interrupt 4  //发送数据是通过中断发送的
{if(RI==1)  //防止发的时候也进入中断  //原因:接收完成和发送完成都会进入中断{P2=SBUF;   // 使P2获取发送的数据UART_SendByte(SBUF);RI=0;      //接收中断标志位}}

51单片机串行通信(UART)相关推荐

  1. 51单片机入门——UART串口通信

    文章目录 前言 1.什么是串行通信 2. USB转串口通信 3. IO 口模拟 UART 串口通信 4 UART串口通信的基本应用 4.1 通信的三种类型 4.2 UART模块 4.3 UART 串口 ...

  2. 51单片机的UART应用

    串行通信方式:将数据字节分成一位一位的行驶在一条传输线上进行传输,如图: 异步串行通讯方式:异步串行通信数据格式一般为字符格式,一个字符一个字符(即一帧)地传输,每个字符一位一位的传输,各个位是以固定 ...

  3. 51单片机——串行通信

    目录 1 概述 1.1 并行通信和串行通信 1.2 串行通信的两种方式 1.2.1 异步通信 1.2.2 同步通信 1.3 串行通信的数据传送方向 2 串行通信口的结构与原理 2.1 串行通信口的结构 ...

  4. 双机(51单片机)串行通信最基本的方法

    有网友求助双机串行通信的方法,做而论道以前曾经发表过这方面的博文,但是当时没有配发电路图,不太好理解和仿制. 做而论道过去一直使用硬件的仿真器,在最近,把 PROTEUS 软件逐渐的熟悉起来了,用这个 ...

  5. 【自学51单片机】11 -- UART串口通信

    文章目录 1.串行通信的初步认识 2.USB转串口通信 3.UART串口通信的基本应用 3.1 通信的三种基本类型 3.2 UARM模块介绍 3.3编写UART串口步骤及程序 4.串口调试助手 5.通 ...

  6. 51单片机C语言波特率十六进制,理解51单片机串口通信的波特率与USB转串口通信...

    RS232 在我们电脑上,一般都会有一个9针的串行接口,这个串行接口叫做RS232接口,它和UART通信有关联,但是由于现在笔记本电脑不带9针串口,所以和单片机通信越来越趋于使用USB虚拟串口. 九针 ...

  7. 单片机串行通信全解析

    1.什么是串行通信? 串行通信(英语:Serial communication)是指在计算机总线或其他数据通道上,每次传输一个位元数据,并连续进行以上单次过程的通信方式.与之对应的是并行通信,它在串行 ...

  8. 51单片机串口通信模板_深入理解51单片机串口通信及通信实例

    串口通信的原理 串口通信(SerialCommunications)的概念非常简单,串口按位(bit)发送和接收字节.尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一 ...

  9. 基于51单片机的无线遥控器制作

    基于51单片机的无线遥控器制作 资源链接:https://download.csdn.net/download/qq_41676952/10965512 目前单片机渗透到我们生活的各个领域,几乎很难找 ...

最新文章

  1. Tarjan无向图连通性
  2. 1000+ 常用 Python 库一览
  3. 这所985大学宣布调查结果:抄袭事实成立!撤销其硕士学位!
  4. Handler为什么可能会造成内存泄漏以及可用的四种解决方法
  5. fail2ban防止暴力破解
  6. ITK:计算两个图像之间的均方度量值
  7. 视频编解码优化以及与AI的实践结合
  8. 第三次学JAVA再学不好就吃翔(part87)--Arrays工具类的asList方法
  9. Spring与SpringMVC集成出现的问题
  10. java实现报表_修改带 JAVA 自定义类的报表还要重启应用,咋解决?
  11. 云服务器ECS使用限制概览,让你的上云少走一些坑
  12. python 获取当前目录_如何在Python中获取当前的工作目录?
  13. [转载] Numpy之logspace
  14. 【啊哈!算法】算法6:只有五行的Floyd最短路算法
  15. 苹果Mac摄影照片降噪工具:ON1 NoNoise AI
  16. java import list_Java中的List集合
  17. oppo9.0系统手机一键激活Xposed框架的步骤
  18. Ant-编译构建(1)-HelloWorld
  19. 科普:史上最强单片机
  20. 如何进行产品运营数据分析?

热门文章

  1. udacity 前端进阶项目1 过河游戏
  2. windows11 64位 检查快捷键占用
  3. 电脑窗口颜色设置---保护眼睛
  4. 省市区联动,解决点击编辑赋值问题
  5. table表格td中英文数字超出单元格自动换行
  6. GreenAMP下载:可将Apache MySQL PHP安装成绿色软件
  7. html页面按钮布局,js动态生成按钮,页面用DIV简单布局(示例代码)
  8. 网络安全系列-二十七: 基于pkts.io解析pcap,生成五元组及payload
  9. 面试官问“谈谈你对加班的看法“?
  10. pygame实现星际穿越粒子动画