第8章 MCS-51串行口 8.1 串行口及其通信方式 8.2 IBM-PC系列机与 单片机 的通信技术.

Slides:



Advertisements
Similar presentations
5.1 中断的概述 5.2 MCS - 51中断系统 5.3 中断系统的应用
Advertisements

主讲人:刘利 交通大学网络控制课程系列 上海交通大学机电控制研究所 交通大学网络控制课程系列 考试课、专业基础课、必修课
第八章 数据通信 本章学习目标 了解通信的有关概念 掌握串行通信和并行通信的原理
第7章 AT89S51单片机的 串行口 1.
6 单片机的中断与定时系统 I/O设备必须通过I/O接口与计算机连接。 I/O接口的功能: 1.速度匹配: 锁存数据、传送联络信号。
项目二 中断应用系统设计 本项目学习目标: (1)制作一个单片机控制的彩灯电路。 (2) 理解中断的基本概念;
第5章 中断系统 5.1 中断的概念 5.2 MCS-51单片机的中断流程 5.3 MCS-51的中断响应条件和中断处理
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
邵阳学院 信息工程系电子实践教学中心 江世明
8051 指令.
第四章 指令系统及汇编语言程序设计.
本章分为四节,主要介绍: 4.1 程序编制的方法和技巧 4.2 源程序的编辑和汇编 4.3 基本程序结构 4.4 常用程序举例.
项目2 2个LED发光二极管控制 知识与能力目标 熟悉单片机的I/O口功能与特性。
得技通电子 问题 1 右何者非為假指令 (1) XRL (2) EQU (3) MACRO (4) ORG.
单片机原理与应用.
第4章 智能仪器通信接口 4.1 GPIB通用接口总线 4.2 GPIB接口电路的设计 4.3 串行通信总线 4.4 串行通信接口电路的设计
第9章 串行扩展技术 (课时:6学时).
第9章 数模转换器与模数转换器 本章学习目标 了解数模转换器的工作原理及性能指标 掌握模数转换器的应用 掌握数模转换器的应用.
第2章 MCS-51单片机指令系统与汇编语言程序设计
報告者:朱耿育 紀翔舜 組員:詹以群 張永傑 指導老師:梁新潁
复 习 一. 计算机中的数和编码 1. 2,10,16进制数及其之间的转换(整数) 按权展开,除x取余 2
第二部分 微机原理 第4章 汇编语言 程序设计 主讲教师:喻红.
单片机应用技术 项目一 循环彩灯装置 第6讲 指令功能及汇编语言程序设计(一) 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
6.3 定时器/计数器的应用 初始化 初始化的内容如下:
第8章 模拟接口 8.1 模拟接口概述 8.2 DAC及其接口 8.3 ADC及其接口.
第二部分 微机原理 第3章 MCS-51的 指令系统 主讲教师:喻红.
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
第二部分 微机原理 第8章 单片机的 定时/计数器 主讲教师:喻红.
第6章 MCS - 51单片机内部定时器/ 计数器 及串行接口 6.1 定时器/计数器的结构及工作原理 6.2 方式和控制寄存器
單晶片微電腦控制實習 使用計時中斷作走馬燈 計時器的基礎實習 國立大甲高工 電機科 2018年11月21日
本章分为三节,主要介绍: 6.1 计算机串行通信基础 C51的串行口 6.3 单片机串行口应用举例.
第八章 80C51单片机的串行通信 主要内容:本章主要介绍80C51串行通信相关知识,包括串行通信基本概念,80C51单片机的串行口及其工作方式,以及单片机在双机或多机通信中的应用。
单片机原理及应用 MCS-51系列单片机的基本硬件结构 MCS-51指令系统 MCS-51单片机的系统扩展与应用.
8051's UART mode0 output 通訊二甲 B 洪紹凱.
第2章 单片机的结构原理与 简单应用 (课时:10学时).
第八章 MCS-51与数码显示器和键盘的接口 一、MCS-51与数码显示器接口 数码显示器是单片机应用产品中最常用的廉价的输 出设备,它由8个发光二极管按一定规律排列而成, 当某一发光二极管导通时,则会被点亮,控制不同 组合的二极管导通,就能显示出各种字符。 1.显示器的结构.
本 章 重 点 单片机的简单I/O扩展 8255A可编程并口芯片 8279可编程键盘/显示器接口芯片 单片机键盘接口技术
单片机原理 单 片 机 单片机接口技术 单片机应用技术.
第八章 数据通信.
第三章 指令系统.
第3章 指令系统及程序设计举例 3.1 指令格式与寻址方式 一、指令格式 1. 指令 操作码 目标操作数,源操作数
第10章 综合实训 课题一 水温控制系统设计 一、实训目的 二、课题要求 熟悉常用温度传感器AD590的特性及接口电路的设计方法;
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
第2章 单片机系统组成原理 2.1 MCS-51单片机组成原理 2.2 单片机复位电路设计 2.3 MCS-51存储器配置
6.1 输入/输出 6.2 CPU与外设数据传送方式 6. 3 MCS-51中断系统 6. 4 中断应用举例
单元五 MCS-51单片机内部资源 5.1 任务九 单片机计数并显示 5.2 任务十 单片机流水灯控制 5.3 任务十一 两台单片机数据互传
主要内容 定时/计数器的工作原理模式 定时/计数器的工作方式 定时/计数器的应用
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
第四章 指令系统及汇编语言程序设计.
第4章 中断技术 一个完整的微机系统是由硬件和软件共同构成的。微机系统的硬件有CPU、存储器和I/O口,外设组成。CPU与存储器之间的信息交换比较简单,而CPU与外设之间进行信息交换之前必须确定外设是否准备好,即选择I/O传送方式。I/O传送方式有4种:无条件、查询、中断和DMA。本章学习中断传送方式的有关内容。
第九章 MCS-51串行接口 9.1 串行数据通信概述 通 信 并行 一、并行通信和串行通信 串行 串行通信 数据是一位一位传送的
数码管数字时钟电路的设计 1. 系统硬件电路的设计
第3章 MCS-51指令系统 介绍MCS—51系列单片机的寻址方式 介绍MCS—51系列单片机的指令系统
第4章 80C51系列指令系统 教学目的:熟悉80C51系列单片机的寻址方式及 每一种寻址方式对应的寻址空间;掌 握每一条指令功能。
本章内容 MCS-51单片机指令系统的格式 MCS-51单片机寻址方式 指令系统的分析
5-6 串列埠模式0輸出埠擴充實習.
5-13 串列通訊實習.
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
四、手工汇编 完成汇编的方法有两种:手工汇编和汇编程序汇编 1.手工汇编步骤 A
单片机原理与应用.
单片机应用技术 (C语言版) 第8章 串行通信接口
单片机原理及应用 (C语言版) 第8章 单片机系统扩展
简单芯片扩展I/O接口 8155可编程接口芯片及其使用 键盘及显示器接口设计 A/D和D/A转换接口技术
单片机应用技术 (C语言版) 第3章 MCS-51指令系统及 汇编程序设计
第4章 MCS-51汇编语言程序设计 教学基本要求: (1)、了解MCS-51汇编语言程序设计的特点;
第2章 80C51单片机的硬件结构 教学基本要求: (1)、熟悉单片机的定义、名称、分类方法;
用按鈕控制動作狀態 單晶片微電腦控制實習 輸入埠基礎實習 國立大甲高工 電機科 2019年9月10日
第1章 微型计算机基础.
Presentation transcript:

第8章 MCS-51串行口 8.1 串行口及其通信方式 8.2 IBM-PC系列机与 单片机 的通信技术

8.1 串行口及其通信方式 8.1.1 串行通信基础知识 一、异步通讯方式 以字符为传送单位用起始位和停止位标识每个字符的 开始和结束字符间隔不固定,只需字符传送时同步。 1. 异步通讯常用格式:一个字符帧 D0 D1 D2 D3 D4 D5 D6 D7 停止位 起始位

二、同步通讯 2. 异步通讯双方的两项约定 (1)字符格式规定(一帧): 数据位,校验位,起始位和停止位。 (2)波特率(位/秒)对传送速率的规定 例:要求每秒传送120个字符,每帧为10位。 解: B=120?0=1200波特每位0.83ms 数据位传输率=120?=960位/秒 二、同步通讯 以一串字符为一个传送单位,字符间不加标识位, 在一串字符开始用同步字符标识,硬件要求高,通讯双 方须严格同步。

三 串行接口功能 四 串行数据传送方向 1.发送器:并串数据格式转换,添加标识位和校验位,一 帧发送结束,设置结束标志,申请中断。 三 串行接口功能 1.发送器:并串数据格式转换,添加标识位和校验位,一 帧发送结束,设置结束标志,申请中断。 2.接收器:串并数据格式转换,检查错误,去掉标识位, 保存有效数据,设置接收结束标志,申请中断。 3.控制器:接收编程命令和控制参数,设置工作方式:同步/ 异步、字符格式、波特率、校验方式、数据位与 同步时钟比例等。 四 串行数据传送方向 单工通讯:数据单向传送。 半双工通讯:数据可分时双向传送。 全双工通讯:可同时进行发送和接收。 发送器 接收器

8.1.2 串行口控制寄存器 一、1个全双工串行接口,可同时进行发送和接收。 串行接口输入/输出引脚:TXD(P3.1)、RXD(P3.0) 8.1.2 串行口控制寄存器 一、1个全双工串行接口,可同时进行发送和接收。 串行接口输入/输出引脚:TXD(P3.1)、RXD(P3.0) 数据格式(P.237图):按不同方式,一帧位数 8/10/11 发送/接收时,数据皆低位在前。 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 停止位 起始位 D0 D1 D2 D3 D4 D5 D6 D8 停止位 起始位 D7 一帧字符发送/接收结束,置位标志位(TI/RI)并申请SIO中断。 中断控制:中断允许位ES 中断入口:0023H

二、串行接口控制 1. 数据缓冲器SBUF 发送SBUF和接收SBUF共用一个地址99H。 时启动发送。 发送指令: MOV SBUF,A (2)接收SBUF存放已接收成功的8位数据,供CPU读取。 读取串行口接收数据指令:MOV A,SBUF

2.串行口控制/状态寄存器SCON(98H) 3.节电控制寄存器PCON SM0,SM1:选择串行口4种工作方式。 REN:允许接收控制位,REN=1,允许接收;REN=0,禁止接 收。 TB8: 发送的第9位数据位,可用作校验位和地址/数据标识位 RB8: 接收的第9位数据位或停止位 TI: 发送中断标志,发送一帧结束,TI=1,必须软件清零 RI: 接收中断标志,接收一帧结束,RI=1,必须软件清零 3.节电控制寄存器PCON SMOD(PCON.7):波特率加倍控制位。 SMOD=1,波特率加倍, SMOD=0,则不加倍。

8.1.3 串行接口的工作方式 SM0,SM1选择四种工作方式。 一、方式0:同步移位寄存器方式。用于扩展并行I/O接口。 8.1.3 串行接口的工作方式 SM0,SM1选择四种工作方式。 一、方式0:同步移位寄存器方式。用于扩展并行I/O接口。 1. 一帧8位,无起始位和停止位。 2. RXD:数据输入/输出端。 TXD:同步脉冲输出端,每个脉冲对应一个数据位。 3. 波特率B = fosc/12 如: fosc=12MHz, B=1MHz,每位数据占1s。

4. 发送过程:写入SBUF,启动发送,一帧发送结束,TI=1。 接收过程:REN=1且RI=0,启动接收,一帧接收完毕,RI=1。 发送时序 写入 SBUF RXD输出 TXD TI D0 D1 D2 D3 D4 D5 D6 D7 写REN=1 RI=0 RXD输入 RI 接收时序 (a) (b)

5. 移位寄存器方式举例 数据从RXD(P3.0)引脚串行输出,低位在先,高位 5. 移位寄存器方式举例 数据从RXD(P3.0)引脚串行输出,低位在先,高位 在后;TXD(P3.1)引脚输出移位脉冲,其频率为foc/12; 发送完毕后,中断标志位TI为1。如要发送数据,如下所示:     MOV SCON,#00H ;串行口方式0 MOV SBUF,A ;将数据送出 JNB TI,$ ;等待数据发送完毕

二、 方式1 8位数据异步通讯方式。 1. 一帧10位:8位数据位,1个起始位(0),1个停止位(1)。 2. RXD:接收数据端。 TXD:发送数据端。 3. 波特率:用T1作为波特率发生器,B=(2SMOD/32)×T1溢出率。 4. 发送:写入SBUF,同时启动发送,一帧发送结束,TI=1。 接收:REN=1,允许接收。接收完一帧,若RI=0且停止位为1 (或SM2=0),将接收数据装入SBUF,停止位装入RB8,并使RI=1;否则丢弃接收数据,不置位RI。

当REN=1,CPU开始采样RXD引脚负跳变信号,若出 现负跳变,才进入数据接收状态,先检测起始位,若第一 位为0,继续接收其余位;否则,停止接收,重新采样负跳 变。数据采样速率为波特率16倍频,在数据位中间,用第7、 8、9个脉冲采样3次数据位,并3中取2保留采样值。 写入 SBUF 采样 (a) 发送时序图 TXD 数据输出 TI D0 D1 D2 D3 D4 D5 D6 D7 停止位 起始位 RXD 输入数据 (b) 接收时序图 RI 检测 负跳变

三、 方式2和方式3 9位数据异步通讯方式。 1. 一帧为11位:9位数据位,1个起始位(0),1个停止位(1)。第9位数据位在TB8/RB8中,常用作校验位和多机通讯标识位。 2. RXD:接收数据端,TXD:发送数据端。 3. 波特率: 方式2:B=(2SMOD/64)×fosc 。 方式3:B=(2SMOD/32)×T1溢出率 。

4. 发送:先装入TB8,写入SBUF并启动发送,发送结束, TI=1。 接收:REN=1,允许接收。接收完一帧,若RI=0且第9位 为1 (或SM2=0),将接收数据装入接收SBUF,第9 位装入RB8,使RI=1;否则丢弃接收数据,不置位 RI。 发 送 时 序 写入 SBUF TXD输出 TI RXD输入 接 收 RI D0 D1 D2 D3 D4 D5 D6 TB8 停止位 起始位 D7 RB8 检测 负跳变

8.1.4、计算波特率 方式0为固定波特率: B=fosc/12 方式2可选两种波特率: B=(2SMOD /64)×fosc 方式1、3为可变波特率,用T1作波特率发生器。 B=(2SMOD/32)×T1溢出率 T1为方式2的时间常数: X = 28 - t/T 溢出时间: t= (28 -X)T = (28 -X)×12/ fosc T1溢出率=1/t= fosc /[12×(2n -X)]  波特率B=(2SMOD /32)×fosc/[12×(28-X)] 串行口方式1、3,根据波特率选择T1工作方式,计算 时间常数。 T1选方式2: TH1=X= 28-fosc/12×2SMOD/(32×B) T1选方式1用于低波特率,需考虑T1重装时间常数时间。

8.1.5 串行口的应用 一、串行口初始化 串行口初始化编程格式: SIO:MOV SCON,#控制状态字;写方式字且TI=RI=0 8.1.5 串行口的应用 一、串行口初始化 串行口初始化编程格式: SIO:MOV SCON,#控制状态字;写方式字且TI=RI=0 (MOV PCON,#80H) ;波特率加倍 ( MOV TMOD,#20H ) ;T1作波特率发生器 ( MOV TH1,#X ) ;选定波特率 ( MOV TL1,#X ) ( SETB TR1) ( SETB EA) ;开串行口中断 ( SETB ES)

二、发送程序 1. 查询方式: TRAM: MOV A,@R0 ;取数据 MOV SBUF,A ;发送一个字符 WAIT: JBC TI,NEXT ;等待发送结束 SJMP WAIT NEXT: INC R0 ;准备下一次发送 SJMP TRAM

2.中断方式: AJMP SINT MAIN: … ;初始化编程 TRAM: MOV A,@R0 ;取数据 ORG 0023H ;串行口中断入口 AJMP SINT MAIN: … ;初始化编程 TRAM: MOV A,@R0 ;取数据 MOV SBUF,A ;发送第一个字符 H: SJMP H ;其它工作 SINT: CLR TI ;中断服务程序 INC R0 MOV A,@R0 ;取数据 MOV SBUF,A ;发送下一个字符 RETI

三、接收程序 REN=1、RI=0等待接收,当RI=1,从SBUF读取数据。 1.查询方式: WAIT: JBC RI,NEXT ;查询等待 SJMP WAIT NEXT: MOV A,SBUF ;读取接收数据 MOV @R0,A ;保存数据 INC R0 ;准备下一次接收

四、串行口方式0 用于扩展单片机的并行I/O接口。 串行口实现:并行→串行的数据转换 74LS165/74LS164实现:串行→并行的数据转换。 D7 D6 D5 D4 D3 D2 D1 D0 数据输入 RXD 1 2 TXD 移位脉冲 74LS164 8 8051 3 4 5 6 10 11 12 13 D0 D1 D2 D3 D4 D5 D6 D7 数据输入 RXD 9 TXD 移位脉冲 2 74LS165 8051 6 5 4 3 14 13 12 11

五、异步通讯程序举例 1.发送程序:将片内RAM 50H起始单元的16个数由串 行口发送。要求发送波特率为系统时钟 的32分频,并进行奇偶校验。 MAINT: MOV SCON,#80H ;串行口初始化 MOV PCON,#80H ;波特率 SETB EA SETB ES ;开串行口中断 MOV R0,#50H ;设数据指针 MOV R7,#10H ;数据长度 LOOP: MOV A,@R0 ;取一个字符 MOV C,P ;加奇偶校验 MOV TB8,C MOV SBUF,A ;启动一次发送 HERE: SJMP HERE ;CPU执行其它任务

ORG 0023H ;串行口中断入口 AJMP TRANI TRANI: PUSH A ;保护现场 PUSH PSW CLR TI ;清发送结束标志 DJNZ R7,NEXT ;是否发送完? CLR ES ;发送完,关闭串行口中断 SJMP TEND NEXT: INC R0 ;未发送完,修改指针 MOV A,@R0 ;取下一个字符 MOV C,P ;加奇偶校验 MOV TB8,C MOV SBUF,A ;发送一个字符 POP PSW ;恢复现场 POP A TEND: RETI  ;中断返回

2. 接收程序:串行输入16个字符,存入片内RAM的50H起 始单元,串行口波特率为2400(设晶振为11.0592MHz)。 RECS: MOV SCON,#50H ;串行口方式1允许接收 MOV TMOD,#20H ;T1方式2定时 MOV TL1,#0F4H ;写入T1时间常数 MOV TH1,#0F4H SETB TR1  ;启动T1 MOV R0,#50H ;设数据指针 MOV R7,#10H ;接收数据长度 WAIT: JBC RI,NEXT ;等待串行口接收 SJMP WAIT NEXT: MOV A,SBUF ;读取接收字符 MOV @R0,A ;保存一个字符 INC R0 ;修改指针 DJNZ R7,WAIT ;全部字符接收完? RET

3. 接收程序:串行输入16个字符,进行奇偶校验。 RECS: MOV SCON,#0D0H ;串行口方式3允许接收 MOV TMOD,#20H ;T1方式2定时 MOV TL1,#0F4H ;写入T1时间常数 MOV TH1,#0F4H SETB TR1  ;启动T1 MOV R0,#50H ;设数据指针 MOV R7,#10H ;接收数据长度 WAIT: JBC RI,NEXT ;等待串行口接收 SJMP WAIT NEXT: MOV A,SBUF ;取一个接收字符 JNB P,COMP ;奇偶校验 JNB RB8,ERR ;P≠RB8,数据出错 SJMP RIGHT ;P=RB8,数据正确 COMP: JB RB8,ERR RIGHT: MOV @R0,A ;保存一个字符 INC R0 ;修改指针 DJNZ R7,WAIT ;全部字符接收完? CLR F0 ;F0 =0,接收数据全部正确RETERR: SETB F0 ;F0 =1,接收数据出错 RET

8.2 IBM-PC系列机与 单片机的通信技术(选) 一、异步通信适配器 二、IBM-PC机与8031双机通信技术 三、IBM-PC机与803l多机通信技术

一、异步通信适配器 (一) 异步通信芯片8250 (二) 8250的内部寄存器

二、IBM-PC机与8031双机通信技术 (一) 通信接口设计 (二) 通信软件设计

三、IBM-PC机与803l多机通信技术 (一) 多机通信原理 (二) 通信接口设计 (三) 通信软件设计