[计算机软件及应用]项目五、串行通信应用
- 格式:ppt
- 大小:1.32 MB
- 文档页数:82
![[计算机软件及应用]项目五、串行通信应用](https://imgs-1438308264.cos.ap-hongkong.myqcloud.com/e06a37356c85ec3a87c2c591.webp)
![[计算机软件及应用]项目五、串行通信应用](https://imgs-1438308264.cos.ap-hongkong.myqcloud.com/e06a37356c85ec3a87c2c591.webp)
上位机-串⼝通信详解(以RS232为例))
1、什么是串⼝通信?
写这个的时候我在想应该怎么解释串⼝通信,因为串⼝通信很多朋友不了解的原因是涉及到硬件的知识,对于没有相关专业知识的朋友很难
理解串⼝通信。所以我这⾥只做部分的解释,需要了解更多硬件相关信息的朋友可以看这篇博⽂:
串⼝通信在百度词条上的解释是:
串⼝通信(Serial Communications)的概念⾮常简单,串⼝按位(bit)发送和接收的。
简单的解释就是:两个⼈说话,⼀个⼈说,⼀个⼈听。
是的,就是这个么简单。如果不需要了解硬件,那么我们只需要了解通信,串⼝不需要理解,那是硬件⼯程师需要考虑的事情。我们今天讲
的是上位机与串⼝通信,重点是通信。2、串⼝通信协议
所谓通信协议是指通信双⽅的⼀种约定。约定包括对数据格式、同步⽅式、传送速度、传送步骤、检纠错⽅式以及控制字符定义等问题做出
统⼀规定,通信双⽅必须共同遵守。
串⼝通信协议中,很多朋友很疑惑,RS232,RS485这些协议怎么⽤?
但实际上这些准确来说,是⼀种标准。我们可以直接使⽤这种标准进⾏通信,完全没有任何问题。
还有⼀种⾃定义通信协议,顾名思义,⾃定义通信协议是基于需求编写的,符合RS232等标准的协议。
这部分对于上位机来说,我们只需要得到第三⽅提供的⾃定义通信协议,根据其中的内容进⾏编程即可,具体的功能实现是由硬件⼯程师实
现。
在通信协议中,最重要的是端⼝(com)、波特率、数据位、校验位、停⽌位。3、实现⼀个demo
通过上⾯的了解,上位机⼯程师应该有⼀个概念,上位机与串⼝的通信重点是通信,常⽤的通信可以直接使⽤标准的完成,但是如果是属于
⾃定义通信协议的,需要提供⾃定义的通信协议。1)⾸先我们实现⼀个界⾯,如下:
2)配置串⼝参数-打开串⼝
3)发送数据
4)接收数据
1、使⽤异步接收数据
2、如果需要写完之后直接读,参考以下⽅法:
5)效果图:
6)基于⾃定义协议的通信(发送和接收都使⽤16进制进⾏)
51单片机的串口通信程序(C语言)
51单片机的串口通信程序(C语言)
在嵌入式系统中,串口通信是一种常见的数据传输方式,也是单片机与外部设备进行通信的重要手段之一。本文将介绍使用C语言编写51单片机的串口通信程序。
1. 硬件准备
在开始编写串口通信程序之前,需要准备好相应的硬件设备。首先,我们需要一块51单片机开发板,内置了串口通信功能。另外,我们还需要连接一个与单片机通信的外部设备,例如计算机或其他单片机。
2. 引入头文件
在C语言中,我们需要引入相应的头文件来使用串口通信相关的函数。在51单片机中,我们需要引入reg51.h头文件,以便使用单片机的寄存器操作相关函数。同时,我们还需要引入头文件来定义串口通信的相关寄存器。
3. 配置串口参数
在使用串口通信之前,我们需要配置串口的参数,例如波特率、数据位、停止位等。这些参数的配置需要根据实际需要进行调整。在51单片机中,我们可以通过写入相应的寄存器来配置串口参数。
4. 初始化串口 在配置完串口参数之后,我们需要初始化串口,以便开始进行数据的发送和接收。初始化串口的过程包括打开串口、设置中断等。
5. 数据发送
在串口通信中,数据的发送通常分为两种方式:阻塞发送和非阻塞发送。阻塞发送是指程序在发送完数据之后才会继续执行下面的代码,而非阻塞发送是指程序在发送数据的同时可以继续执行其他代码。
6. 数据接收
数据的接收与数据的发送类似,同样有阻塞接收和非阻塞接收两种方式。在接收数据时,需要不断地检测是否有数据到达,并及时进行处理。
7. 中断处理
在串口通信中,中断是一种常见的处理方式。通过使用中断,可以及时地响应串口数据的到达或者发送完成等事件,提高程序的处理效率。
8. 串口通信实例
下面是一个简单的串口通信实例,用于在51单片机与计算机之间进行数据的传输。
```c
#include
#include #define BAUDRATE 9600
常州信息职业技术学院
计算机学院(软件学院)
项目报告
学期: 2011第二学期
院(系): 计算机/软件学院
项目名称: 串行通信接口
指导老师: 王璐、孙飞
班级: 计应094
学号: 0908143407
姓名: 谢海燕
项目时间: 2011/3/17—2011/4/17
目录
一、项目要求
二、模块的构成
三、模块分析设计
I、主模块分析设计
1、收发模块的I/O信号
2、 示模块的I/O信号
3、 控制模块的I/O信号
4 、时钟模块的I/O信号
II、时钟模块分析设计
III、控制模块分析设计
1、控制模块的逻辑框图
2、数据分配器的逻辑功能
3、译码器1的逻辑功能
4、译码器2的逻辑功能
5、译码器3的逻辑功能
6、译码器4的逻辑功能
IV、显示模块分析设计
1、显示模块设计的框图
V、发送模块分析设计 1、移位寄存器模块的I/O信号
2、去抖动模块的I/O信号
3、发送控制模块的I/O信号
4、发送模块的逻辑框图
VI、发送控制模块分析设计
1、发送控制模块的基本构成
2、发送控制模块的逻辑框图
3、译码器1的逻辑功能
4、译码器2的逻辑功能
VII、发送移位寄存器模块分析设计
1、发送移位寄存器模块的基本构成
2、发送移位寄存器模块的逻辑框
VIII、接收模块分析设计
1、接收模块的基本构成
2、10位移位寄存器模块的I/O信号
串⼝通信实验报告
⼤连理⼯⼤学实验报告
成绩:
串⼝通信实验
⼀、实验⽬的和要求了解串⼝通信的原理与机制
掌握基于8051的串⼝通信硬件电路设计⽅法
掌握8051串⼝通信程序调试⽅法
⼆、实验原理和内容
实验原理:1.串⼝通信简介
串⼝通信是指数据在⼀根数据线上按照⼆进制数的数位⼀位接⼀位的传输。其特点是通信线路简单,只要⼀对传输线就可以实现通信(如电话线),可⼤⼤地降低成本,适⽤于远距离通信。缺点是传送速度慢。2. 51单⽚机串⾏⼝简介
51单⽚机的串⾏⼝是⼀个可编程全双⼯的通信接⼝,具有UART(通⽤异步收发器)的全部功能,能同时进⾏数据的发送和接收,也可以作为同步移位寄存器使⽤。51单⽚机的串⾏⼝主要由两个独⽴的串⾏数据缓冲寄存器SBUF组成,它可以通过特殊功能寄存器SBUF对串⾏接收或串⾏发送寄存器进⾏访问,两个寄存器共⽤⼀个地址99H,但在物理上是两个独⽴的寄存器,由指令操作决定访问哪⼀个寄存器。执⾏写指令时访问串⾏发送寄存器;执⾏读指令时,访问串⾏接收寄存器。3.串⾏⼝控制寄存器SCON
串⾏⼝控制寄存器SCON⽤来设定串⾏⼝的⼯作⽅式、接收或发送控制位以及状态标志位等。
在本实验中设定SM0为0,SM1为1,采⽤串⾏⼝的⼯作⽅式1(8位异步收发,波特率可变,由定时器控制)。允许串⾏接收位REN设置为1,其它控制、标志位设置为0。(即令SCON=0X50)4.定时器/计数器模式控制寄存器TMOD
定时器/计数器模式控制寄存器TMOD是⼀个逐位定义的8位寄存器,其中低四位(即D0 ~ D3)定义定时器/计数器T0,⾼四位(即D4 ~ D7)定义定时器/计数器T1。
在本实验中使⽤定时器1,设定M1=1,M2=0,,采⽤定时器T1的⼯作⽅式2(⾃动重载8位定时器/计数器),其它控制位设置为0。并由晶振频率(11.0592MHZ)和波特率(9600)计算初始化定时器T1:TH1=TL1=0xfd。
最后通过对TR1置1启动定时器T1。5.中断允许寄存器IE