串行通信

51单片机和PC串口异步通信

冷暖自知 提交于 2020-03-10 10:25:15
单片机和PC机间的通信有很多方式,下面的程序主要用到的是51单片机的异步串行通信。 一.51单片机的串行通信管脚 P3.1为单片机的TXD管脚(Transfer Data),P3.2为单片机的RXD管脚(Receive Data)。 通过TXD管脚可以将CPU要发送的数据输出,RXD管脚可以将串行数据线传来的数据读入。 二.51单片机的串行通信控制寄存器SCON,电源控制寄存器PCON SCON: 其中,SM0,SM1控制着串行通信的工作方式。 SM0 SM1 工作方式 说明 波特率 0 0 0 移位寄存器 fosc/12 0 1 1 10位异步收发器(8位数据) 可变 1 0 2 11位异步收发器(9位数据) fosc/64或fosc/32 1 1 3 11位异步收发器(9位数据) 可变 其中工作方式1在使用当中比较多。 SM2为多机通信控制位,SM2=1,允许多机通信,=0不允许,实现点对点通信。这里先不讨论。 TB8用于储存发送数据的第9位。在方式2和方式3中,发送数据除了起始位,数据位,停止位外,还有一位校验位,存储在TB8中。 RB8用于存储接收数据的第9位。接收到传来的代码后,数据位存储在SBUF中,而校验位就存储在RB8中。通过分析,可以判别接受的数据是否正确。 TI为发送中断请求标志。当发送数据缓冲区为空的时候,TI通过硬件置1,通知CPU数据发送完毕

S5PV210串行通信接口详解-3

混江龙づ霸主 提交于 2020-03-08 22:02:25
1、串行通信与中断的关系 (1)、串口通信分为发送 / 接收2部分。发送方一般不需要(也可以使用)中断即可完成发送,接收方必须(一般来说必须,也可以轮询方式接收就是CPU一直盯着收)使用中断来接收。 (2)、发送方可以选择使用中断,也可以选择不使用中断。使用中断的工作情景是:发送方先设置好中断并绑定一个中断处理程序,然后发送方丢一帧数据给transmitter,transmitter发送耗费一段时间来发送这一帧数据,这段时间内我们的发送方CPU可以去做别的事情,等transmitter发送完成后会产生一个TXD中断,该中断会导致事先绑定的中断处理程序执行,在这个中断处理程序中CPU会切换回来继续给transmitter放一帧数据,然后CPU切换离开;不使用中断的工作情景是:发送方事先禁止TXD中断(当然也不需要给相应的中断处理程序了),发送方CPU给一帧数据到transmitter,然后transmitter耗费一段时间来发送这帧数据,这段时间CPU不能离开,在这等着(CPU没有切换去做作的事情),待发送方发送完后CPU再给它一帧数据继续发送直到所有数据发完。(使用中断CPU在transmitter发送耗费时间内是可以去干别的事,而不使用中断CPU只能一直盯着发送直到发送全部数据完成)。CPU是怎么知道transmitter已经发送完了?有中断时发完会给一个中断,而没有中断时

STC51从入门到精通(汇编)~~~ 第八讲:串行通信技术

蓝咒 提交于 2020-03-06 11:06:43
目录 8.1 80C51单片机串行通信技术的特点 8.2 串行通信基本知识 8.2.1 数据通信 8.2.2 串行通信的传输方式 8.2.3 异步通信和同步通信 8.3 串行接口的组成和特性 8.3.1 串行口的结构 8.3.2 串行口控制器及控制寄存器 8.4 串行通信接口的工作方式 8.4.1 工作方式0 8.4.2 工作方式1 8.4.3 工作方式2和工作方式3 8.5 波特率设计 8.5.1 波特率的计算方法 8.5.2 波特率的产生 8.6 C语言程序示例 8.1 80C51单片机串行通信技术的特点 80C51 单片机具有 一个全双工串行通信接口 ,即能同时进行串行发送和接收。 可以作 UART ( 通用异步接收和发送器 ) 用 可以作 同步位移寄存器 用。 可以实现点对点的单机通信、多机通信和 80C51 与系统机的单机或多机通信。 8.2 串行通信基本知识 8.2.1 数据通信 通信方式有两种,即 并行通信 和 串行通信: 并行通信 是指数据的各位 同时进行传送 (发送或接收)的通信方式。其 优点 是传送速度快; 缺点 是数据有多少位,就需要多少根传送线。 串行通信 指数据是 一位一位按顺序传送的 通信方式。它的突出 优点 是只需一对传输线(利用电话线就可作为传送线),这样就大大降低了传送成本,特别适用于远距离通信;其 缺点 是传送速度较低。 8.2.2

串行通信协议——基础知识

点点圈 提交于 2020-02-11 16:35:03
首先先了解一些基础知识: 串行通信的基本特征:数据逐位顺序进行传送 串行通信的格式及约定( 同步方式、通讯速率、数据块格式、信号电平. ..等)不同,形成了多种串行通信的协议与接口标准。 常见的协议有:   通用异步收发器——UART   通用串行总线 —— USB   I2C总线   CAN总线   SPI总线 常见接口标准:   RS-232C、RS-485、RS-422A标准等 数据通信的几个术语:   并行:数据各位同时进行传送   串行:数据逐位顺序进行传送   全双工:(串行通信)收 / 发可同时进行   半双工:(串行通信)收 / 发不可同时进行   异步串行通信:以 字符 为单位进行传送   同步串行通信:以 数据块 为单位传送   波特率(bps.):单位时间传送的位数 来源: https://www.cnblogs.com/y4247464/p/12295474.html

stm32学习笔记

时光怂恿深爱的人放手 提交于 2020-02-08 11:53:06
文章目录 一、GPIO的控制 要求:软件仿真,根据高8位pin输入电平,低8位输出相应的电平。写出main.c代码。 编程思路: 方式1:直接读、写输入\输出寄存器。 代码: 方式2:通过位设置\清除寄存器 和 位清除寄存器控制。 BSRR位设置\清除寄存器 BRR位清除寄存器 代码: 方式3 位绑定 位绑定的定义: 个人理解 代码: 公式代码: 二、通信。 通信基本方式: 方式一:并行通信(多车道,多窗口)。 方式二:串行通信(单车道,单窗口)。 串行通信种类: 种类一:单工。 种类二:半双工。(对讲机) 种类三:全双工。 串行通信的标准: 标准1:UART 异步通信 异步通信协议: 异步通信应用场合: stm32f10x USART框图 stm32f10x波特率的计算 仿真代码 三、stm32库函数 一、GPIO的控制 要求:软件仿真,根据高8位pin输入电平,低8位输出相应的电平。写出main.c代码。 编程思路: 1、配置模式,P0.0~P0.7推挽输出,P0.8-P0.15浮空输入。 2、输入状态反映到对应引脚输出。 方式1:直接读、写输入\输出寄存器。 代码: #include "stm32f10x.h" int main(void) { //1、配置模式,P0.0~P0.7输出,P0.8-P0.15输入。 GPIOA->CRL = 0x33333333;/

串行通信

房东的猫 提交于 2019-12-29 11:30:13
模拟图 发送开关数据程序 //任务名称:串行口实现双机通信 //任务内容: 通过串行口发送甲机开关状态 #include<reg51.h> void send(unsigned char stat) { SBUF=stat;//串行通信系统自动将8位数据拆字,并按照规定的速率,通过TXD接口一位接一位向外发送数据,直到将数据帧发完 while(TI==0);//等待 TI=0; } /*****串行通信初始化********/ void uart_init() { SCON=0X40; //串行口工作方式1.发送 TMOD=0x20;//T1定时器工作方式2 PCON=0x00;//波特率不倍增 TH1=0XFD;//波特率=9600,(11.0592Mhz) TL1=0XFD; TI=0;//清除发送标志 TR1=1;//启动定时器T1 } void main() { uart_init();//串行通信初始化 while(1) { send(P1);//不断发送开关值 } } 接收开关数据程序 //任务名称:串行口实现双机通信 //任务内容: 通过串行口发送甲机开关状态 #include<reg51.h> unsigned char stat; /***串行接收开关数据***/ void receive() { while(RI==0); stat=SBUF; RI=0; }

单片机(5)

寵の児 提交于 2019-12-29 11:29:57
计算机通信   随着多微机系统的广泛应用和计算机网络技术的普及,计算机的通信功能愈来愈显得重要。计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。 通信有并行通信和串行通信两种方式。   在多微机系统以及现代测控系统中信息的交换多采用串行通信方式。   计算机通信是将计算机技术和通信技术的相结合,完成计算机与外部设备或计算机与计算机之间的信息交换 。可以分为两大类:并行通信与串行通信。   并行通信通常是将数据字节的各位用多条数据线同时进行传送 。      并行通信控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难。   串行通信是将数据字节分成一位一位的形式在 一条传输线上逐个地传送。      串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。 串行通信的基本概念   一、异步通信与同步通信     1、异步通信       异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。              异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间不一定有“位间隔”的整数倍的关系

【CC2530入门教程-05】CC2530的串行接口原理与应用

穿精又带淫゛_ 提交于 2019-12-24 06:30:54
第5课 CC2530的串行接口原理与应用 小蜜蜂笔记网 / 广东职业技术学院 欧浩源 一、并行通信与串行通信 微控制器与外设之间的数据通信,根据 连线结构和传送方式 的不同,可以分为两种:并行通信和串行通信。 并行通信 :指数据的各位同时发送或接收,每个数据位使用单独的一条导线。传输速度快、效率高,但需要的数据线较多,成本高。 串行通信 :指数据一位接一位地顺 序发送或接收。需要的数据线少,成本低,但传输速度慢,效率低。 二、CC2530的串口通信模块 CC2530有两个串行通信接口 USART0 和 USART1 ,它们能够分别运行于 异步UART模式 或者 同步SPI模式 。 两个USART接口具有相同的功能,通过 PERCFG寄存器 可以设置两个USART接口对应 外部I/O引脚的映射 关系: 位置1: RX0 --- P0_2 TX0 --- P0_3 RX1 --- P0_5 TX1 --- P0_4 位置2: RX0 --- P1_4 TX0 --- P1_5 RX1 --- P1_7 TX1 --- P1_6 对每个USART串口通信编程,本质是设置相关的5个寄存器: <1> UxCSR : USARTx的控制和状态寄存器。 <2> UxUCR : USARTx的UART控制寄存器。 <3> UxGCR : USARTx的通用控制寄存器。 <4> UxDBUF

串行通信与并行通信介绍

落爺英雄遲暮 提交于 2019-12-17 07:52:34
计算机的通信(数据交换)方式主要是分为: 串行通信 与 并行通信 串行通信 概念 :计算机与I/O设备之间数据传输的各位是按顺序依次一位接一位进行传送。通常数据在一根数据线或一对差分线上传输。 特点 :传输速度慢,使用的设备成本低,适用于计算机远程通信。 并行通信 概念 :计算机与I/O设备之间通过多条传输线交换数据,数据的各位同时进行传送。 特点 :传输速度快、效率高,传输成本高,适用于近距离的数据传送。 串行通信(按照数据传送方向) 单工(simplex) 半双工(half duplex) 全双工(full duplex) 波特率 概念 单位时间传输二进制数据的位数,单位比特(bit/s或bps),表示每秒传输多少位,是一个衡量数据传输速率的量。 异步串行通信 概念 以字符(字节)为单位组成数据帧进行的传送。一帧数据由起始位、数据位、可编程校验位、停止位组成。 特点 :1. 以字符为单位;2. 相邻两字符间的间隔是任意长。3. 因为一个字符中的波特位长度有限,所以需要的接收时钟和发送时钟只要接近就可以。 起始位 :位于数据帧开头,占1位,始终为低电平 0 ,标志传送数据的开始,用于向接收设备表示发送端开始发送一帧数据。 数据位 :要传输的数据信息 ,可以是字符或数据,一般为5~8位,由低位到高位依次传送。 可编程校验位 :位于数据位之后,占1位用于检验串行发送数据的正确性

【技术总结】几种常用的无线串行通信技术

我只是一个虾纸丫 提交于 2019-12-03 23:32:30
与传统的有线串行(RS232)通信不同,无线串行通信具有设备移动方便(特别在通信设备空间相互隔离不便连线的情况下)、通信距离远(可达几十公里)等特点。     无线串行通信应用领域非常广,常用的有:PLC无线通讯;无线抄表;工业遥控遥测;无线数据传输;银行POS系统;无线数据采集;楼宇自动化、无线监控、门禁系统;智能家居、工业控制;汽车检测设备;无线LED显示屏系统等。     目前,比较常用的无线串行通信技术有红外、蓝牙、ZigBee和RF无线数传等四种。四种方式都有标准模块,特别适用于嵌入式系统及PC机之间的串行通信。     一、红外串行通信    符合IrDA1.x标准,利用950 nm近红外波段的红外线作为传递信息的载体,通过红外光在空中的传播来传递信息,由红外发射器和接收器实现。其最大优点是:不易被人发现和截获,保密性强;几乎不会受到电气、天电、人为干扰,抗干扰性强。此外,红外线通信机体积小、重量轻、结构简单、价格低廉。不足之处在于它必须在视距内通信,且收发端必须是直线对射。       二、蓝牙串行通信   符合蓝牙协议(BlueTooth)V1.x,使用2.4GHz的ISM(工业、科学、医学)频段。频道共有23个或79个,频道间隔均为 1MHz,采用时分双工方式,调制方式为BT= 0.5的GFSK。 蓝牙的数据传输率可达1Mbs,与红外一样,蓝牙的传输距离也较短。