单片机之间通信.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机之间通信

2013年7月30日 修订 单片机之间的通信,在老师的强烈要求下,我们决定整理我们所学过的东西,在这里所展现的并不一定很全面,只能是简单的入门级别,对于通信,一直以来都是方便,但实现起来困难。硬件要求高,软件相对复杂点。这里,我们通过介绍资料、介绍硬件、介绍接线、软件应用举例、注意事项等来收集和整理了单片机与单片机、pc机与单片机通信的简单应用,仅供单片机实验室设备使用。 资料(摘自校内教材) 在通信领域内,有两种数据通信方式:并行通信和串行通信。 1.2 单工方式 2)半双式方式(half duplex):若使用同一根传输线既作接收又作发送,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方式就是半双工制。 图1.3 半双工方式 3)全双工方式(full duplex):当数据的发送和接收分流,分别由两根不同的传输线传送时,通信双方都能在同一时刻进行发送和接收操作,这样的传送方式就是全双工制。 图1.4 全双工方式 3、串行数据传输的分类 而按照串行数据的时钟控制方式,串行通信又可分为同步通信和异步通信两种。 异步通信:接收器和发送器有各自的时钟; 同步通信:发送器和接收器由同一个时钟源控制。 同步通信Synchronous Communication 同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。 1.5 同步通信的字符帧格式 异步通信Asynchronous Communication 异步通信中,在异步通行中有两个比较重要的指标:字符帧格式和波特率。数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。 (a)无空闲位字符帧 (b) 有空闲位字符帧 图1.6 异步通信的字符帧格式 (1) 起始位:位于字符帧开头,只占一位,为逻辑0,低电平,用于向接收设备表示发送端开始发送一帧信息。 (2) 数据位:紧跟起始位之后,用户根据情况可取5位、6位、7位或8位,低位在前,高位在后。 (3) 奇偶校验位:位于数据位之后,仅占一位,用来表征串行通信中采用奇校验还是偶校验,由用户决定。 (4) 停止位:位于字符帧最后,为逻辑1,高电平。通常可取1位、1.5位、或2位,用于向接收端表示一帧字符信息已经发送完,也为下一帧发送做准备。 在串行通信中,两相邻字符帧之间可以没有空闲位,也可以有若干空闲位,这由用户来决定。图1.6(b)表示有3个空闲位的字符帧格式。 2)波特率(baud rate) 异步通信的另一个重要指标为波特率。 波特率为每秒钟传送二进制数码的位数,也叫比特数,单位b/s,即位/秒。波特率用于表征数据传输的速度, 波特率越高数据传输速度越快。但波特率和字符的实际传输速率不同,字符的实际传输速率是每秒内所传字符帧的帧数,和字符帧格式有关。 通常,异步通信的波特率为50~9600b/s。 4、ATmega16单片机的串行口及相关寄存器 ATmega16单片机的串行口结构主要三个部分:时钟发生器,发送器和接收器。 1)数据缓冲器UDR UDR数据缓冲器的格式图如图1.7所示: 图1.7 UDR数据缓冲器的格式图 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所示: 图1.8 控制状态寄存器UCSRA格式图 RXC: USART 接收结束 接收缓冲器中有未读出的数据时RXC 置位,否则清零。接收器禁止时,接收缓冲器被刷新,导致RXC 清零。RXC 标志可用来产生接收结束中断(见对RXCIE位描述)。 TXC: USART 发送结束 发送移位缓冲器中的数据被送出,且当发送缓冲器 (UDR) 为空时TXC 置位。执行发送结束中断时TXC 标志自动清零,也可以通过写1 进行清除操作。TXC

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档