单片机串口通信实验报告范文.docx
7页单片机串口通信实验报告 信息工程学院实验报告 课程名称:单片机原理及接口 实验项目名称:串口通信实验 实验时间:2022、5 一、实 验 目 目 得: 1.了解什么就是串口,串口得作用等 2、了解串口通信得相关概念 3、利用 keil 软件,熟悉并掌握中串口通信得使用 4、通过实验,熟悉串口通信程序得格式,串口通信得应用等 二、 实 验 验 原 原 理 1、串口通信概念: 单片机应用与数据采集或工业控制时,往往作为前端机安装在工业现场,远离主机,现场数据采用串行通信方式发往主机进行处理,以降低通信成本,提高通信可靠性如下图所示 2、串口数据通信方式及特点 数据通信方式有两种:并行通信与串行通信 并行通信: 所传送数据得各位同时发送或接收, 线据数根少多要需就位少多有据数ﻩ 特点: 速度快,成本高,适合近距离传输 如计算机并口,打印机,8255 串行通信:所传送数据得各位按顺序一位一位 地发送或接收 只需一根数据,一根地线,共 2 根 特点:成本低,硬件方便,适合远距离通信, 传输速度低。
串行通信与并行通信示意图如下: 成 绩: 指导老师(签名): 3、串行通信基本格式 ①单工通信:数据只能单向传送 ②半双工通信:通信就是双向得,但每一时刻,数据流通得方向就是单向得 ③全双工通信:允许数据同时在两个方向流动,即通信双方得数据发送与接收就是同时进行得 4、异步串行通信/同步串行通信 ①异步串行通信: 异步串行通信采用如下得帧结构: 起始位 + 8 位数据位 + 停止位 或 起始位 + 9位数据位 + 停止位 其中:起始位为低电平,停止位为高电平 优点:硬件结构简单 缺点:传输速度慢 ②同步串行通信: 在同步通信中,发送方在数据或字符开始处就用同步字符(常约定1~2 个字节)指示一帧得开始 ,由时钟来实现发送端与接收端同步,接收方一旦检测到与规定得同步字符符合,下面 就连续按顺序传送若干个数据 ,最后发校验字节见下图: 5、串行通信过程与 UART 基本得计算机异步串行通信系统中,两台计算机之间通过三根信号线TxD、RxD 与 GND 连接起来,TxD 与 GND 构成发送线路,RxD 与 GND 构成接收线路一台计算机得 TxD、RxD 线分别与另一台计算机得 RxD、TxD 线相连。
由于在串行通信过程中得并串转换、串并转换、线路检测、采样判决、组帧、拆帧、发送与接收等操作需消耗 CPU 大量时间,以至 CPU 无法处理其它工作,因而开发出专用于处理异步串行通信发送与接收工作得芯片 UART(通用异步串行通信接收发送器) CPU 只需将要发送得一个字节数据交给 UART,其它发送工作由UART 自动完成,当 UART将一帧数据发送完毕,会通知 CPU 已发送完,可提交下一个字节 UART 自动监测线路状态并完成数据接收工作,当接收到一个字节数据后,UART 会通知 CPU 来读取采用 UART后,CPU 得负担大大减轻了 6、MCS51得串行通信接口 MCS-51 单片机内部集成有一个UART,用于全双工方式得串行通信,可以同时发送、接收数据它有两个互相独立得接收、发送缓冲器,这两个缓冲器同名SBUF,共用一个地址号(99H) 发送SBUF:只能写,不能读; SBUF = a; 接收SBUF:只能读,不能写 a = SBUF; 串行接口有四种工作方式,有得工作方式时其波特率就是可变得用户可以用软件编程得方法在串行控制寄存器 SCON中写入相应得控制字就可改变串行口得工作方式。
串行口结构图如下: 串行通信得传送过程说明: 甲方发送时,CPU 执行指令 SBUF =A 启动了发送过程,数据并行送入 SBUF ,在发送时钟 shift得控制下由低位到高位一位一位发送,乙方在接收时钟 shift 得控制下由低位到高位 顺序进入移位寄存器 SBUF ,甲方一帧数据发送完毕,置位发送中断标志 TI,该位可作为查询标志(或引起中断),CPU 可再发送下一帧数据 乙方一帧数据到齐即接收缓冲器满,置位接收中断标志 RI,该位可作为查询标志(或引起接收中断),通过 A=SBUF CPU 将这帧数据并行读入 由上述可知: 1. 甲、乙方得移位时钟频率应相同,即应具有相同得波特率,否则会造成数据丢失 2. 发送方就是先发数据再查标志,接收方就是先查标志再收数据 通信过程图如下: 7、串行接口得控制寄存器: 串行接口得控制寄存器有两个,串行控制寄存器 SCON 与能改变波特率得特殊功能寄存器 PCON其作用如下: (1)SCON,字节地址 98H,(可位寻址) SCON用于确定串行通道得操作方式与控制串行通道得某些功能也可用于发送与接收第九个数据位(TB8、RB8),并有接收与发送中断标志( RI 及 TI)位。
SCON 各位得意义如下: 此处,SM0、SM1 指定了串行通信得工作方式,若设振荡器频率为fosc,则规定如下图: SM2:在方式 2、3 时,多机通信得控制位 方式 0:SM2=0; 方式 1:①若 SM2=0,只要接收到 8 位数据,就激发中断标志(RI=1); ②若 SM2=1,则只有在接收到有效停止位时才能激发中断标志(RI=1),否则接收数据无效,且RI仍为 0 8、串行口波特率计算方式: 9、串行口得波特率有两种方式:固定波特率与可变波特率 10、串行通信编程方式:查询方式与中断方式 查询方式:查TI 或 Ri 就是否为1 中断方式:如果预先开了中断,当 TI、RI 为1,会自动产生中断 注意:两种方式中当发送或接受数据后都要注意清 Ti 或RI 查询方式发送程序: (先发后查) 发送一个数据→查询 TI →发送下一个数据 查询方式接收程序:(先查后收) 查询RI→读入一个数据→查询 RI→读下一个数据 中断方式发送程序: 发送一个数据→等待中断,在中断中再发送下一个数据。
中断方式接收程序: 等待中断,在中断中再接收一个数据 查询方式发送流程图以及接收流程图: 中断方式发送流程图以及接收流程图如下: 三、实 验 内 内 容 容 与 步 步 骤 实验内容: 1,验证开发板例程中得电脑通过串口助手发送数据给开发板,单片机收到后返回电脑得例子 2,、修改例程,实现上课串口例子中,第一个发送字符串得程序 四、实 验 验 结 果 及 及 分 析: 程序如下: #includereg51、h> #includestring、h> char s[]=陈玮老师最帅; char a=0,b=0; void main() { ;02x0=DOMTﻩ ;05x0=NOCSﻩ ;08x0=NOCPﻩ TH1=0xf3; ;3fx0=1LTﻩ ;1=1RTﻩ ET1=0; ;)s(nelrts=aﻩ )++b;ab;0=b(rofﻩ {ﻩ ;]b[s=FUBSﻩ ; )IT!(elihwﻩ ;0=ITﻩ } ; )1(elihwﻩ} 五、实 验 总 结: 通过本次实验,了解并掌握串口通信得方式,以及数据传输得两种方式查询方式与中断方式。





