kaiyun官网
Notice Bulletin
通知公告
通知公告
通知公告
通知公告 您的位置: 首页 > 通知公告
51单片机的串口通信详解-原理 寄存器 编程等
2024-02-15 09:21:49 作者: 通知公告

  单片机的通信一般有并行通信和串行通信。并行通讯是数据的各位同时发送或接收,并行通信控制简单,传输速度快,传输线较多。

  串行通讯传输线少,可利用电话网,但传送控制复杂。数据一位一位顺序发送或接收。

  串行通讯中有一种是异步通信,即我们一般所说的串口通信。这是我们今天要分享的内容:

  异步通讯用一个起始位表示字符的开始,用停止位表示字符的结束。其每帧的格式如下:在一帧格式中,先是一个起始位0,然后是8个数据位,规定低位在前,高位在后,接下来是奇偶校验位(可以省略),最后是停止位1。用这种格式表示字符,则字符可以一个接一个地传送。

  1、字符格式的规定是双方能够在对同一种0和1的串理解成同一种意义,即我们所说的通信协议。

  2、波特率即数据传送的速率,其定义是每秒钟传送的二进制数的位数。例如,数据传送的速率是120字符/s,而每个字符如上述规定包含10数位,则传送波特率为1200波特。

  2、把数据在甲乙两机之间的双向传递,称之为双工传送。在双工传送方式中又分为半双工传送和全双工传送。半双工传送是两机之间不能一起进行发送和接收,任一时该,只能发或者只能收信息。

  51单片机通过引脚RXD(P3.0,串行数据接收端)和引脚TXD(P3.1,串行数据发送端)与外界通讯。SBUF是串行口缓冲寄存器,包括发送寄存器和接收寄存器。它们有相同名字和地址空间,但不可能会出现冲突,因为它们两个一个只能被CPU读出数据,一个只能被CPU写入数据。

  TH1和TL1是装计数初值的计数器,用于产生波特率。TI是发送标志位,RI是接收标志位,具体作用我们会在下面的分享中接触到。

  SM2:多机通讯控制位。在方式0时,SM2一定要等于0。在方式1中,当(SM2)=1则只有接收到有效停止位时,RI才置1。在方式2或方式3当(SM2)=1且接收到的第九位数据RB8=0时,RI才置1。

  TI:发送中断标志。在方式0中,第8位发送结束时,由硬件置位。TI置位既表示一帧信息发送结束,同时也是申请中断,可根据自身的需求,用软件查询的方法获得数据已发送完毕的信息,或用中断的方式来发送下一个数据。TI必须用软件清0。

  RI:接收中断标志位。在方式0,当接收完第8位数据后,由硬件置位。RI置位表示一帧数据接收完毕,可用查询的方法获知或者用中断的方法获知。RI也必须用软件清0。

  波特率的定义:串行口每秒钟发送的位数称为波特率。比如说2400的波特率就是每秒钟发送2400个位数。串行口的波特率是用定时器T1作为波特率发生器的,这是定时器自动设置在工作方式2(可自动重装初值)。

  第一部分_定时器 一、定时器的介绍 51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成。 作用: (1、用于计时系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作; (2、替代长时间的Delay,提高CPU的运算效率和处理速度。 … 二、STC89C52定时器资源 定时器个数:3个(T0、T1、T2)T0和T1与传统的51单片机兼容,T2是此型号单片机增加的资源; 注意:定时器的资源和单片机的型号是关联在一起的,不同的型号可能会出现不同的定时器个数和操作方式,但一般来说,TO和 T1的操作方式是所有51单片机所共有的。 三、计时器框图 定时器在单片机内部就像一个小闹钟一样,根

  学习日志[Day3、2022.1.11] /

  1.参考文章下载地址: 虚拟串口 3. 串口调试助手 4. Proteus 7.5 sp3 实现方法 1.参考文章(参考文章是从CSDN下载的一篇PDF文件)已经很详细的说明了怎么实现,我就不想啰嗦了,我只提供几个关键的截图和串口调试程序代码 如果参考文章打不开我提供参考文章的下载连接 2.提供Proteus的连线图如下:(有必要注意一下的是单片机的RXD和TXD分别和串口的RXD和TXD一一对应相连,这和用Proteus的虚拟终端给串口输入信号时,单片机和串口的连接方式是不一样的,用Proteus的虚拟终端作为串口输入信号的时候单片机的RX

  串口的实现 /

  我们以一个实际的时钟电路来说明定时器的软件编程方法,时钟就是我们最常见的显示时、分、秒为单位的计时工具,它是典型的应用代表。 时钟的最小计时单位是秒,但使用单片机定时器来进行计时,若使用6.0MHz的晶振,即使按工作方式1工作,最大的计时时间也只能到131ms,所以我们可把每个定时时间取125ms,这样定时器溢出8次(125ms╳8=1000ms)就得到最小的计时单位秒。而要实现8次计数用软件方法实现是轻而易举的。 个人会使用定时器1,以工作方式1工作,定时器进行125ms定时。采用中断办法来进行溢出次数的累计,当计满8次即得到1秒的计时。 一个时钟的计时累加,要实现分、时的进位,要用到多种进制,秒、分、时中的

  组成的时钟电路原理图 /

  1、 方式0 当位M1M0=00时。T为13位计数器,THi是高8位,TLi是低5位。 设计数值为N,则计数初值X=2^13-N;2^13=8192=2000H 例1:设fosc=6MHz,要求用T1的方式0定时10ms,求TH1、TL1的初值。 设计数初值为X;由已知条件得:1个机器周期=12/fosc=2us; 10,000us=12/fosc*(2^13-X)us X=2^13-10000/2=8192-5000=3192=0C78H 得:TL1=18H,TH1=63H 2、 方式1 当位M1M0=01时。T为16位计数器,THi是高8位,TLi是低8位。 设计数值为N,则计数初值X=2^16-N;2^16

  引言 --- 车辆仪表是驾驶员与汽车进行信息交流的重要接口和界面,是车辆安全行驶的重要保证。随着电子技术的广泛应用,传统汽车仪表逐渐被微处理器为核心的电子控制数字仪表取代已成为必然趋势。然而,目前国内车辆仪表数字化水平还不高,绝大部分仪表还是模拟式的,而大多数模拟仪表表头的体积较大、数量多,使得显示系统拥挤不堪,影响美观;另外一些模拟仪表故障率高,增加了用户的经济负担,减小了车辆行使的安全系数。 --- 为克服这些缺点,文中提出用51单片机、模/数转换器件ADC0809及霍尔开关及数字式温度传感器DS18B20等对其进行技术改进,设计并实现了新型全数字仪表系统,该仪表系统有显示直观准确、灵敏度较高、常规使用的寿命长、灵巧美观、成本低

  最近因为做东西,又重新写了一下AVR,在这整理一下 串口通信是这个是很常用的部分,Atmega32只有一个串口,USART 基本串口编程只需要写两部分,串口的初始化与串口数据接收 串口初始化: 设置波特率,波特率能够最终靠设置波特率发生寄存器UBRR来确定, UBRR为两字节16位的寄存器,可分为UBRRH和UBRRH,计算公式: UBRRH= (F_CPU/BAUD/16 -1)/256 UBRRL =(F_CPU/BAUD/16 -1)%256 串口的使能,通过写USART控制和状态寄存器B-USARTB,接收使能、发送使能、接收中断使能(可根据自身的需求进行使能)。 使能语句:UCSRB =(1 R

  (STC89C52)DS18B20温度传感器驱动程序 /

  4.1 新建工程: 4.1.1 新建本地工程文件夹: 为了工程目录更加清晰,我们在本地电脑上新建 1 个文件夹用于存放整个工程,如命名为“LED”,然后在该目录下新建 2 个文件夹,具体如下: 表格 8 工程目录文件夹清单 表格 9 工程目录文件夹内容清单 4.1.2 新建工程: 打开 KEIL5,新建一个工程,工程名根据喜好命名,我这里取 LED-REG,直接保存在 LED 文件夹下。 1. 选择 CPU 型号: 这个根据你开发板使用的 CPU 具体的型号来选择, 我的F429选STM32F429IGT 型号。如果这里没再次出现你想要的 CPU 型号,或者一个型号都没有,那么肯定是

  版 /

  版本_V3.3

  【电路】74系列数字电路74164.74L164等8位移位寄存器(串入并出)

  【电路】74系列数字电路74LS673等16位串行输入/输出移位寄存器

  MPS电机研究院 让电机更听话的秘密! 第一站:电机应用知识大考!跟帖赢好礼~

  电源小课堂 从12V电池及供电网络优化的角度分析电动汽车E/E架构的趋势

  【下载】LAT1362 利用STM32 TIMER触发ADC实现分组转换

  【下载】LAT1334 基于MCSDK5.4.8电机库修改两电阻采样方法

  【下载】LAT1347 基于STM32CubeIDE移植ClassB 4.0

  【下载】LAT1340 STM32H5读取温度传感器校准值时进HardFault的原因分析

  【生态】使用STM32CubeMX在STM32U5上配置LPBAM应用程序

  【MPU】轻松使用STM32MP13x如MCU般在Cortex A 核上裸跑应用程序

  【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提升性能与信息安全性

  【新品】STM32MP13X-支持Linux、RTOS和Bare Metal应用,新一代通用工业级MPU

  【新品】Arm® Cortex®-M33处理器内核,运行频率160 MHz,基于Armv8-M架构并带有TrustZone®

  【新品】降本增效这事儿,就看STM32C0,低至0.24美元” ,开机即可物联世界

  【GUI开发】TouchGFX 4.23:支持矢量字体,节省Flash,更丰富的UI!

  【边缘AI】突破边缘AI应用的次元壁:首届意法半导体边缘人工智能峰会举行

  【生态系统】STM32CubeProgrammer和STM32CubeIDE协同调试的方法

  【无线携手创新微MinewSemi共创低功耗模块,引领中国智能连接未来

  新款STM32U5片上集成矢量图形加速器及大容量SRAM存储器2024年2月5日,中国 - 意法半导体推出了集成新的专用图形加速器的STM32*微控制器(M ...

  水果种植业是我国农业发展的重要组成部分,果树病虫害防治作业也慢慢变得被重视。当下我国施药水平总体偏低,主要体现在自动化技术落后、作业 ...

  一、运算器运算器以完成二进制的算术 逻辑运算部件ALU为核心,再加上暂存器TMP、累加器ACC、寄存器B、程序状态标志寄存器PSW及布尔处理器。 ...

  1、引言弹簧是机械行业的通用零部件,用途十分广泛。工业的发展,刺激了弹簧的需求,同时也对弹簧加工设施提出了更高的要求。以往的加工设 ...

  单片机的基本结构包括中央处理器(CPU) 、存储器、定时 计数器、输入输出接口、中断控制管理系统和时钟电路六部分。一、基本组成中央处理器( ...

  站点相关:综合资讯51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程