项目一 双机通信应用系统 授课教师:刘旭东.

Slides:



Advertisements
Similar presentations
NAT与ICMP交互.
Advertisements

计算机网络课程总结 一、计算机网络基础 计算机网络定义和功能、基本组成 OSI/RM参考模型(各层的功能,相关概念, 模型中数据传输 等)
数据通讯相关概念.
淄博信息工程学校 ZIBOIT&ENGINEERING VOCATONAL SHCOOL 03 交换机干道技术 计算机网络技术专业.
实验四 利用中规模芯片设计时序电路(二).
5.4 顺序脉冲发生器、 三态逻辑和微机总线接口 顺序脉冲发生器 顺序脉冲 计数型 分类 移位型.
序列埠通訊.
第5章 串行口与通信 本章学习目标 : 了解并行通信与串行通信的含义 理解波特率的概念,学会波特率的计算方法
在PHP和MYSQL中实现完美的中文显示
计算机基础知识 丁家营镇九年制学校 徐中先.
EDA原理及应用 何宾
主要内容 串行口的结构 串行口的工作方式 波特率的计算 简单应用
9.3 AT89C51串行接口的应用与编程 工作方式0的应用
第6章 MCS - 51单片机内部定时器/ 计数器 及串行接口 6.1 定时器/计数器的结构及工作原理 6.2 方式和控制寄存器
6.1 中断系统和外中断 6.2 定时器/计数器 6.3 串行通信 本章小结.
AVR单片机软硬件设计教程-入门篇 ——学单片机就要学AVR!
串行通讯的概念 串行通讯:一条信息的各位数据被逐位按顺序传送 的通讯方式称为串行通讯。
前言 数据传输功能在监控系统中占有十分重要的地位。其作用是将传感器检测所得的电信号(检测对象的反应量),由井下传送道地面中心站进行集中处理,要求传输距离远)不中断)准确性高。因此,必须了解单片机的通信。 矿用传感器输出的电信号可分为连续变化的模拟量信号和阶越变化的开关量信号两大类。从广义上讲,开关量信号是一种简单的数字信号。模拟信号可通过模拟/数字转换器(A/D转换器)转换为数字信号。数字信号也可以通过数字/模拟转换器(D/A转换器)转换程模拟信号。按照系统所传输信号的不同,矿用监控系统可分为两类:模拟传
第8章 SCI/SPI串行通信模块 并行---多位同时传输。速度快,距离近,占引脚多,抗干扰弱
第6章 基本输入输出接口技术 【本章提要】 【学习目标】
ARDUINO+BLUETOOTH Arduino实现蓝牙数据传输.
走进编程 程序的顺序结构(二).
第15章 串行通信及接口电路.
AM437x平台下Linux驱动的开发流程 广州创龙电子科技有限公司
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月20日.
Windows网络操作系统管理 ——Windows Server 2008 R2.
DM8148/DM8168 的介绍及对比 广州创龙电子科技有限公司
时序逻辑电路实验 一、 实验目的 1.熟悉集成计数器的功能和使用方法; 2.利用集成计数器设计任意进制计数器。 二、实验原理
逆向工程-汇编语言
CPU结构和功能.
串行外围设备接口 Serial Peripheral Interface 广州创龙电子科技有限公司
本 章 重 点 串行通信基本知识 单片机的串口及控制器 单片机串行通信方式 课时安排:3个课时.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
第5章 MCS----51单片机的串行通信 教学要点 5.1 项目九单片机与单片机的通信 5.2 知识连接
移相正弦信号发生器设计 采用直接数字综合器DDS发生器的设计 原理:图1是此电路模型图
第十四讲 SPI高速同步串行输入/输出端口
得技通电子 问题 1.0 、选择题:本大题共15个小题,每小题1分,共15分,在每小题给出的四个选项中,只有一项符合题目要求,把所选项前的字母填在括号内。
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
第五章 MCS-51中断系统 一、中断请求源 MCS-51提供5个中断请求源,即INT0、INT1、TF0、 TF1和串行口发送与接收中断请求源TI或RI。这些 中断请求源分别由TCON与SCON的相应位锁存。
顺序表的删除.
K60入门课程 02 首都师范大学物理系 王甜.
主要内容: 无线局域网的定义 无线传输介质 无线传输的技术 WLAN的架构 无线网络搭建与配置 无线网络加密配置
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
iSIGHT 基本培训 使用 Excel的栅栏问题
第二部分 微机原理 第9章 串行通信 及其接口 主讲教师:喻红.
实验二 带进位控制8位算术逻辑运算实验 带进位控制8位算术逻辑运算: ① 带进位运算 ② 保存运算后产生进位
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
数据报分片.
串行通讯的概念 串行通讯:一条信息的各位数据被逐位按顺序传送 的通讯方式称为串行通讯。
HSC高速输出例程 HORNER APG.
第9章 串口及串行通信技术 ● 教学目标 介绍MCS-51串行通信接口技术 介绍MCS-51单片机之间的串行通信接口技术
定时中断与LED MCU起航 QQ:
6.1 定时器/计数器的结构及工作原理 定时器/计数器的结构 定时器/计数器T0、T1的逻辑结构如图6-1所示。
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
基于列存储的RDF数据管理 朱敏
微机原理与接口技术 西安邮电大学计算机学院 杨锐.
上节复习(11.14) 1、方式2、方式0的特点? 2、定时/计数器的编程要点? 3、实验5方案优化问题.
第八章 串行接口 8-1 串行通信的基本概念 8-2 可编程串行接口8251A A的应用.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
ADC0809并行A/D转换 (实验十) DAC0832并行D/A转换实验 (实验十一) RS232串口通信实验 (实验九)
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
第十三讲 串行通信SCI模块 《手把手教你学DSP——基于TMS320F28335》配套视频资料 南京研旭电气科技有限公司
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
培训课件 AB 变频器的接线、操作及参数的备份 设备动力科.
DSP技术与应用 电子与信息技术系.
Presentation transcript:

项目一 双机通信应用系统 授课教师:刘旭东

【项目功能】 1、通过编写程序,当检测到BC7281键盘有键按下时,将键值显示在本单片机系统对应的数码管上,同时对方单片机系统对应的数码管显示和本机同样的按键值。 2、通过完成项目,掌握串口通信的基本原理,并能合理运用于实际项目中。

【项目知识点与技能点】 1.通信基础知识。 2.异步串行通讯协议。 3.ATmega16单片机的串行接口及相关寄存器的配置。

【项目知识准备】 1、通信知识概述 在通信领域,有两种数据通信方式:并行通信、串行通信。 图1.1 并行、串行通信示意图

2、串行通讯制式 根据信息的传送方向,串行通讯可以进一步分为:单工、半双工和全双工三种。 1)单工(Simplex)方式: 2)半双式方式(half duplex): 3)全双工方式(full duplex):

3、串行数据传输的分类 图1.5 同步通信的字符帧格式 按照串行数据的时钟控制方式,串行通信又可分为同步通信和异步通信两种。 同步通信---Synchronous Communication:发送器和接收器由同一个时钟源控制。 图1.5 同步通信的字符帧格式

异步通信---Asynchronous Communication 异步通信中,在异步通行中有两个比较重要的指标:字符帧格式和波特率。 1) 字符帧(Character Frame) 字符帧也叫数据帧,由起始位、数据位、奇偶校验位和停止位等4部分组成,如图1.6所示。 (a)无空闲位字符帧 (b) 有空闲位字符帧 图1.6 异步通信的字符帧格式

2)波特率(baud rate) 异步通信的另一个重要指标为波特率。 波特率为每秒钟传送二进制数码的位数,也叫比特数,单位b/s,即位/秒。波特率用于表征数据传输的速度, 波特率越高数据传输速度越快。但波特率和字符的实际传输速率不同,字符的实际传输速率是每秒内所传字符帧的帧数,和字符帧格式有关。 通常,异步通信的波特率为50~9600b/s。

4、ATmega16单片机的串行口及相关寄存器 ATmega16单片机的串行口结构主要三个部分:时钟发生器,发送器和接收器。控制寄存器由三个单元共享。时钟发生器包含同步逻辑,通过它将波特率发生器及为从机同步操作所使用的外部输入时钟同步起来。XCK ( 发送器时钟) 引脚只用于同步传输模式。发送器包括一个写缓冲器,串行移位寄存器,奇偶发生器以及处理不同的帧格式所需的控制逻辑。写缓冲器可以保持连续发送数据而不会在数据帧之间引入延迟。由于接收器具有时钟和数据恢复单元,所以它是USART 模块中最复杂的。恢复单元用于异步数据的接收。除了恢复单元,接收器还包括奇偶校验,控制逻辑,移位寄存器和一个两级接收缓冲器UDR。接收器支持与发送器相同的帧格式,而且可以检测帧错误,数据过速和奇偶校验错误

与ATmega16单片机串行口通信有关的特殊功能寄存器有数据缓冲器UDR,控制和状态寄存器UCSRA、UCSRB、UCSRC,波特率寄存器UBRRL、UBRRH。下面对它们分别作简单的介绍。

1)数据缓冲器UDR UDR数据缓冲器的格式图如图1.7所示: ATmega16单片机USART 发送数据缓冲寄存器和USART 接收数据缓冲寄存器共享相同的I/O 地址,称为USART 数据寄存器或UDR。将数据写入UDR 时实际操作的是发送数据缓冲器存器(TXB),读UDR 时实际返回的是接收数据缓冲寄存器(RXB) 的内容。 只有当UCSRA寄存器的UDRE标志置位后才可以对发送缓冲器进行写操作。如果UDRE没有置位,那么写入UDR 的数据会被USART 发送器忽略。当数据写入发送缓冲器后,若移位寄存器为空,发送器将把数据加载到发送移位寄存器。然后数据串行地从TxD 引脚输出。

2)控制状态寄存器UCSRA、UCSRB、UCSRC (1)控制状态寄存器UCSRA格式图如图1.8所示: RXC: USART 接收结束 接收缓冲器中有未读出的数据时RXC 置位,否则清零。接收器禁止时,接收缓冲器被刷新,导致RXC 清零。RXC 标志可用来产生接收结束中断( 见对RXCIE 位的描述)。 TXC: USART 发送结束 发送移位缓冲器中的数据被送出,且当发送缓冲器 (UDR) 为空时TXC 置位。执行发送结束中断时TXC 标志自动清零,也可以通过写1 进行清除操作。TXC 标志可用来产生发送结束中断( 见对TXCIE 位的描述)。 UDRE: USART 数据寄存器空

TXC: USART 发送结束 发送移位缓冲器中的数据被送出,且当发送缓冲器 (UDR) 为空时TXC 置位。执行发送结束中断时TXC 标志自动清零,也可以通过写1 进行清除操作。TXC 标志可用来产生发送结束中断( 见对TXCIE 位的描述)。 UDRE: USART 数据寄存器空 UDRE标志指出发送缓冲器(UDR)是否准备好接收新数据。UDRE为1说明缓冲器为空,已准备好进行数据接收。UDRE标志可用来产生数据寄存器空中断(见对UDRIE位的描述)。复位后UDRE 置位,表明发送器已经就绪。

FE: 帧错误 如果接收缓冲器接收到的下一个字符有帧错误,即接收缓冲器中的下一个字符的第一个停止位为0,那么FE 置位。这一位一直有效直到接收缓冲器(UDR) 被读取。当接收到的停止位为1 时, FE 标志为0。对UCSRA 进行写入时,这一位要写0。 DOR: 数据溢出 数据溢出时DOR 置位。当接收缓冲器满( 包含了两个数据),接收移位寄存器又有数据,若此时检测到一个新的起始位,数据溢出就产生了。这一位一直有效直到接收缓冲器(UDR) 被读取。对UCSRA 进行写入时,这一位要写0。

这一位仅对异步操作有影响。使用同步操作时将此位清零。此位置1 可将波特率分频因子从16 降到8,从而有效的将异步通信模式的传输速率加倍。 PE: 奇偶校验错误 当奇偶校验使能(UPM1 = 1),且接收缓冲器中所接收到的下一个字符有奇偶校验错误时UPE 置位。这一位一直有效直到接收缓冲器 (UDR) 被读取。对UCSRA 进行写入时,这一位要写0。 U2X: 倍速发送 这一位仅对异步操作有影响。使用同步操作时将此位清零。此位置1 可将波特率分频因子从16 降到8,从而有效的将异步通信模式的传输速率加倍。 MPCM: 多处理器通信模式 设置此位将启动多处理器通信模式。MPCM 置位后, USART 接收器接收到的那些不包含地址信息的输入帧都将被忽略。发送器不受MPCM设置的影响。

(2)控制状态寄存器UCSRB格式图如图1.9所示: RXCIE: 接收结束中断使能 置位后使能RXC 中断。当RXCIE 为1,全局中断标志位SREG 置位, UCSRA 寄存器的RXC 亦为1 时可以产生USART 接收结束中断。 TXCIE: 发送结束中断使能 置位后使能TXC 中断。当TXCIE 为1,全局中断标志位SREG 置位,UCSRA 寄存器的TXC 亦为1 时可以产生USART 发送结束中断。

UDRIE: USART 数据寄存器空中断使能 UDRIE: USART 数据寄存器空中断使能.置位后使能UDRE 中断。当UDRIE 为1,全局中断标志位SREG 置位,UCSRA 寄存器的UDRE 亦为1 时可以产生USART 数据寄存器空中断。 RXEN: 接收使能.置位后将启动USART 接收器。RxD 引脚的通用端口功能被USART 功能所取代。禁止接收器将刷新接收缓冲器,并使 FE、DOR 及PE 标志无效。 TXEN: 发送使能置.位后将启动将启动USART 发送器。TxD 引脚的通用端口功能被USART 功能所取代。TXEN 清零后,只有等到所有的数据发送完成后发送器才能够真正禁止,即发送移位寄存器与发送缓冲寄存器中没有要传送的数据。发送器禁止后,TxD引脚恢复其通用I/O功能。

UCSZ2: 字符长度 UCSZ2与UCSRC寄存器的UCSZ1:0结合在一起可以设置数据帧所包含的数据位数(字符长度)。 RXB8: 接收数据位 8 对9 位串行帧进行操作时,RXB8 是第9 个数据位。读取UDR 包含的低位数据之前首先要读取RXB8。 TXB8: 发送数据位8 对9 位串行帧进行操作时,TXB8 是第9 个数据位。写UDR 之前首先要对它进行写操作。

(3)控制状态寄存器UCSRC格式图如图1.10所示: 在ATmega16单片机中,UCSRC寄存器与UBRRH寄存器共用相同的I/O地址。对控制寄存器UCSRC的各位介绍如下: URSEL: 寄存器选择 通过该位选择访问UCSRC 寄存器或UBRRH 寄存器。当读UCSRC 时,该位为1 ;当写UCSRC 时, URSEL 为1。 UMSEL: USART 模式选择 当UMSEL位为0时,串行口工作于异步操作模式;当UMSEL位为1时,串行口工作于同步操作模式。

UPM1:0: 奇偶校验模式.这两位设置奇偶校验的模式并使能奇偶校验。如果使能了奇偶校验,那么在发送数据,发送器都会自动产生并发送奇偶校验位。对每一个接收到的数据,接收器都会产生一奇偶值,并与UPM0 所设置的值进行比较。如果不匹配,那么就将UCSRA 中的PE 置位。ATmgega16单片机串行口工作时,UPM1:0的设置如表1.1所示: USBS: 停止位选择通过这一位可以设置停止位的位数。接收器忽略这一位的设置。当USBS位为0时,停止位位数为 1;当USBS位为1时,停止位位数为 2。

UCSZ1:0: 字符长度.UCSZ1:0与UCSRB寄存器的 UCSZ2结合在一起可以设置数据帧包含的数据位数(字符长度)。其具体设置如表1.2所示: UCPOL: 时钟极性.这一位仅用于同步工作模式。使用异步模式时,将这一位清零。UCPOL 设置了输出数据的改变和输入数据采样,以及同步时钟XCK 之间的关系。

3)波特率设置寄存器 波特率寄存器UBRRL、UBRRH格式如图1.11所示: URSEL: 寄存器选择通过该位选择访问UCSRC 寄存器或UBRRH 寄存器。当读UBRRH 时,该位为0 ;当写UBRRH 时, URSEL 为0。 Bit 14:12 – 保留位 这些位是为以后的使用而保留的。为了与以后的器件兼容,写UBRRH 时将这些位清零。 Bit 11:0 – UBRR11:0: USART 波特率寄存器.这个12 位的寄存器包含了USART 的波特率信息。其中UBRRH 包含了USART 波特率高4 位,UBRRL 包含了低8 位。波特率的改变将造成正在进行的数据传输受到破坏。写UBRRL 将立即更新波特率分频器。

4)时钟的产生-波特率发生器 信号说明: txclk 发送器时钟 ( 内部信号 ) rxclk 接收器基础时钟 ( 内部信号 ); xcki XCK 引脚输入 ( 内部信号 ),用于同步从机操作; xcko 输出到 XCK 引脚的时钟 ( 内部信号 ),用于同步主机操作; foscXTAL 频率 ( 系统时钟 )

图1.13给出了计算波特率(位/秒)以及计算每一种使用内部时钟源工作模式的UBRR值的公式。 说明 波特率定义为每秒的位传输速度 (bps) BAUD 波特率 ( bps) fOSC 系统时钟频率 UBRR UBRRH 与 UBRRL 的数值 (0-4095)

【硬件电路】 图1.14 硬件连线参考图

项目二 异步串行多机通信 MPCM: 多处理器通信模式 设置此位将启动多处理器通信模式。MPCM 置位后, USART 接收器接收到的那些不包含地址信息的输入帧都将被忽略。发送器不受MPCM设置的影响。

项目二 异步串行多机通信 RXB8: 接收数据位 8 对9 位串行帧进行操作时,RXB8 是第9 个数据位。读取UDR 包含的低位数据之前首先要读取RXB8。   在多机通信中,如果接收器被设置为接收5~8个数据位的数据帧,第一个停止位则表征该帧包含的是数据信息还是地址信息。如果接收器被设置为接收9个数据位的帧结构,则第9位(RXB8)被用作表征该帧是地址帧还是数据帧。当帧类型表征位为“1”时,表示该帧数据为一个地址帧;当帧类型表征位为“0”时,表示这个帧为一个数据帧。

项目二 异步串行多机通信  对于在多机通信系统中的主机MCU,可以设置使用9位数据帧结构(UCSZ=7)。当发送地址帧时,置第9位为“1”;发送数据帧时,置第9位为“0”。在这种情况下,从机也必须设置成接收9位数据帧结构。

项目二 异步串行多机通信 多机通信方式的数据交换过程如下: 1.设置所有从机工作在多机通信模式(MPCM=1)。 2.主机发送一个地址帧,所有从机接收和读取该地址帧。所有从机的MCU中,RXC标志位被置位,表示接收到地址帧。 3.每一个从机MCU读取UDR寄存器,并判断自己是否被主机寻址。如果被寻址,清UCSAR寄存器中的MPCM位,等待接收数据;否则保持MPCM为“1”,等待下一个地址帧的接收(该步应由用户软件处理实现)。 4.被寻址的从机MCU接收所有主机下发的数据帧之后,接收直到下一个地址帧为止。其他从机MCU忽略这些数据帧。