第8章 (第4版).ppt

  1. 1、本文档共162页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 单片机小系统及片外扩展 89C51/S51单片机芯片内集成了计算机的基本功能部件,已具备了很强的功能。一块芯片就是一个完整的最小微机系统,但片内存储器的容量、并行I/O端口、定时器等内部资源都还是有限的。根据实际需要,89C51/S51单片机可以很方便地进行功能扩展。 扩展应尽量采用串行扩展方案。通过SPI或I2C总线扩展E2PROM、A/D、D/A、显示器、看门狗、时钟等芯片,占用MCU的I/O口线少,编程也方便。 8.1 串行扩展总线接口技术 89C51/S51除芯片自身具有UART可用于串行扩展I/O口线以外,还可利用89C51/S51的3~4根I/O口线进行SPI或I2C的外设芯片扩展,以及单总线(1wire)的扩展。 8.1.1 SPI串行外设接口总线 SPI(Serial Peripheral Interface——串行外设接口)总线是Motorola公司推出的一种同步串行外设接口,它用于MCU与各种外围设备以串行方式进行通信(8位数据同时同步地被发送和接收),系统可配置为主或从操作模式。外围设备包括简单的TTL移位寄存器(用作并行输入或输出口)至复杂的LCD显示驱动器或A/D转换器等。 SPI系统可直接与各个厂家生产的多种标准外围器件直接接口,它只需4条线: 串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线CS(SS)。 在SPI接口中,数据的传输只需要1个时钟信号和2条数据线。 由于SPI系统总线只需3~4位数据线和控制线即可扩展具有SPI的各种I/O器件,而并行总线扩展方法需8根数据线、8~16位地址线、2~3位控制线,因而SPI总线的使用可以简化电路设计,省掉了很多常规电路中的接口器件,提高了设计的可靠性。 1. SPI总线系统的组成 图8-1是SPI总线系统典型结构示意图。 单片机与外围扩展器件在时钟线SCK、数据线MOSI和MISO上都是同名端相连。带SPI接口的外围器件都有片选端CS。 在扩展多个SPI外围器件(如图8-1所示)时,单片机应分别通过I/O口线来分时选通外围器件。 当SPI接口上有多个SPI接口的单片机时,应区别其主从地位,在某一时刻只能由一个单片机为主器件。 图8-1中MCU(主)为主器件,MCU(从)为从器件。 SPI有较高的数据传送速度,主机方式最高速率可达1.05 Mb/s,目前不少外围器件都带有SPI接口。 在大多数应用场合中,使用1个MCU作为主机,控制数据向1个或多个从外围器件的传送。 从器件只能在主机发命令时,才能接收或向主机传送数据。 其数据的传输格式是高位(MSB)在前,低位(LSB)在后。 当SPI工作时,在移位寄存器中的数据逐位从输出引脚(MOSI)输出(高位在前),同时从输入引脚(MISO)接收的数据逐位移到移位寄存器(高位在前)。 发送一字节后,从另一个外围器件接收的字节数据进入移位寄存器中。 主SPI的时钟信号(SCK)使传输同步。 SPI总线有以下主要特性: 全双工、3线同步传输;主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等。 实际的SPI器件种类繁多,时序也可能不同,但通常配有4个SPI引脚:  SCK,时钟端。  SI(或MOSI),从器件串行数据输入端。  SO(或MISO),从器件串行数据输出端。  CS(或SS),从器件片选端。 2. SPI串行总线数据传输时序 SPI传输的数据为8位。单片机发出从器件片选信号,并产生移位脉冲。传输时高位在前,低位在后,SPI串行总线数据传输时序如图8-2所示。 单片机读(从器件输出)操作时,在CS有效的情况下,SCK的下降沿时从器件将数据放在MISO线上,单片机经过延时采样MISO线,并将相应数据位读入,然后将SCK置为高电平形成上升沿,数据被锁存。 单片机写(从器件输入)操作时,在CS有效的情况下,SCK的下降沿时单片机将数据放在MOSI线上,从器件经过延时后采样MOSI线,并将相应的数据位移入,在SCK的上升沿数据被锁存。 3. 89C51/S51单片机串行扩展SPI外设接口的方法 1) 用一般I/O口线模拟SPI操作 对于没有SPI接口的89C51/S51来说,可使用软件来模拟SPI的操作,包括串行时钟、数据输入和输出。 对于不同的串行接口外围芯片,它们的时钟时序是不同的。 对于在SCK的上升沿输入(接收)数据和在下降沿输出(发送)数据的器件,一般应取图8-3中的串行时钟输出P1.1的初始状态为1;在允许接口芯片后,置P1.1为0。 因此,MCU输出1位SCK时钟,同时,使接口芯片串行左移,从而输出1位数据至89C51/S51的P1.3(模拟MCU

文档评论(0)

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

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

1亿VIP精品文档

相关文档