《单片机接口技术(C51版)》-张道德-电子教案 第十一章

上传人:E**** 文档编号:89401754 上传时间:2019-05-24 格式:PPT 页数:30 大小:299KB
返回 下载 相关 举报
《单片机接口技术(C51版)》-张道德-电子教案 第十一章_第1页
第1页 / 共30页
《单片机接口技术(C51版)》-张道德-电子教案 第十一章_第2页
第2页 / 共30页
《单片机接口技术(C51版)》-张道德-电子教案 第十一章_第3页
第3页 / 共30页
《单片机接口技术(C51版)》-张道德-电子教案 第十一章_第4页
第4页 / 共30页
《单片机接口技术(C51版)》-张道德-电子教案 第十一章_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《《单片机接口技术(C51版)》-张道德-电子教案 第十一章》由会员分享,可在线阅读,更多相关《《单片机接口技术(C51版)》-张道德-电子教案 第十一章(30页珍藏版)》请在金锄头文库上搜索。

1、单片机接口技术(C51版),第十一章 新型串行总线技术,内容概述,教学目标 1了解SPI总线的工作原理、SPI总线的组成,掌握利用MCS-51单片机的端口虚拟实现SPI总线的方法;接口电路设计及C51软件设计方法;了解X5045单片机的内部结构、工作原理,掌握利用单片机口线模拟SPI总线对X5045操作的C51程序设计方法。 2. 了解I2C总线支持多主控的特点,了解I2C总线的构成及信号类型,掌握I2C总线的读、写基本操作方法,理解并掌握I2C总线的C51通用操作程序。,11.1 SPI接口技术,1111 SPI 总线简介 SPI(SeriaI Peripheral Interface)总线

2、是Motorola 公司提出的一个同步串行外设接口,用于CPU与各种外围器件进行全双工、同步串行通讯的外围设备。 SPI总线接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT或、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。 优点: SPI系统总线接口节省I/O口线,提高系统可靠性。,1112 SPI总线的工作原理,在大多数应用场合,可使用1个MCU作为主控机来控制数据,并向1个或几个从外围器件传送该数据。从器件只有在主机发命令时才能接收或发送数据。其数据的

3、传输格式是高位(MSB)在前,低位(LSB)在后。,对SPI芯片的操作,当一个主控机通过SPI与几种不同的串行I/O芯片相连时,必须使用每片的允许控制端,这可通过MCU的I/O端口输出线来实现。但应特别注意这些串行I/O芯片的输入输出特性; 只有在芯片允许时,SCK脉冲才把串行数据移入该芯片;在禁止时,SCK对芯片无影响。若没有允许控制端,则应在外围用门电路对SCK进行控制,然后再加到芯片的时钟输入端。,11.1.3 MCS-51单片机的SPI接口虚拟实现,MCS51系列单片机来说,可以使用软件来模拟SPI的操作,包括串行时钟、数据输入和数据输出。 对于在SCK的上升沿输入(接收)数据和在下降

4、沿输出(发送)数据的器件,一般应将其串行时钟输出口P1.1(以图11-1-1为例)的初始状态设置为1,而在允许接口后再置P1.1为0。这样,MCU在输出1位SCK时钟的同时,将使接口芯片串行左移,从而输出1位数据至MCS51单片机的P1.3口(模拟SPI的MISO线),此后再置P1.1为1,使MCS51系列单片机从P1.2(模拟SPI的MOSI线)输出1位数据(先为高位)至串行接口芯片。至此,模拟1位数据输入输出便宣告完成。 此后再置P11为0,模拟下1位数据的输入输出,依此循环8次,即可完成1次通过SPI总线传输8位数据的操作。 对于在SCK的下降沿输入数据和上升沿输出数据的器件,则应取串行

5、时钟输出的初始状态为0,即在接口芯片允许时,先置P11为1,以便外围接口芯片输出1位数据(MCU接收1位数据),之后再置时钟为0,使外围接口芯片接收1位数据(MCU发送1位数据),从而完成1位数据的传送。,11.1.4 系统监控芯片X5045,11.1.4 简介 X5045是一种集看门狗、电压监控和串行EPROM 三种功能于一身的可编程电路。 X5045中的看门狗对系统提供了保护功能。当系统发生故障而超过设置时间时,电路中的看门狗将通过RESET信号向CPU 作出反应。X5045提供了三个时间值供用户选择使用。它所具有的电压监控功能还可以保护系统免受低电压的影响,当电源电压降到允许范围以下时,

6、系统将复位,直到电源电压返回到稳定值为止。 X5045的存储器与CPU 可通过串行通信方式接口,共有4096个位,可以按512 x 8个字节来放置数据。,11.1.4.2 引脚介绍,CS:电路选择端,低电平有效; SO :串行数据输出端; SI :串行数据输入端; SCK:串行时钟输入端; WP :写保护输入端,低电平有效; RESET:复位输出端; VCC :电源端; VSS :接地端。,X5045引脚图,11.1.4.3 工作原理,1 上电复位 向X5045加电时会激活其内部的上电复位电路,从而使RESET 引脚有效。该信号可避免系统微处理器在电压不足或振荡器未稳定的情况下工作。当VCC

7、超过器件的Vtrip门限值时,电路将在200ms(典型)延时后释放以允许系统开始工作。 2 低电压监视 工作时, X5045对VCC 电平进行监测,若电源电压跌落至预置的最小Vtrip以下时,系统即确认,从而避免微处理器在电源失效或断开的情况下工作。当RESET 被确认后,该RESET信号将一直保持有效,直到电压跌到低于1V 。而当VCC 返回并超过Vtrip达200ms时,系统重新开始工作。,3 看门狗定时器 看门狗定时器的作用是通过监视WDI输入来监视微处理器是否激活。由于微处理器必须周期性的触发CS/WDI引脚以避免RESET 信号激活而使电路复位,所以CS/WDI引脚必须在看门狗超时时

8、间终止之前受到由高至低信号的触发。 4 重新设置VCC 门限 X5045/45出厂时设置的标准VCC 门限电压为Vtrip,但在应用时,如果标准值不恰当,用户可以重新调整。,5 SPI串行存储器 器件存储器部分是带块锁保护的CMOS串行EEPROM 阵列,阵列的内部组织是x8 位。X5045可提供最少为1000,000次擦写和100年的数据保存期,并具有串行外围接口(SPI)和软件协议的特点,允许工作在简单的四总线上。 X5045主要是通过一个8 位的指令寄存器来控制器件的工作,其指令代码通过SI输入端(MSB在前)写入寄存器。,6 时钟和数据时序 当变低以后,SI线上的输入数据在SCK 的第

9、一个上升沿时被锁存。而SO 线上的数据则由SCK的下降沿输出。用户可以停止时钟,然后再启动它, 以便在它停止的地方恢复操作。在整个工作期间,必须为低。,7 状态寄存器 状态寄存器包含四个非易失性状态位和两个易失性状态位。控制位用于设置看门狗定时器的操作和存储器的块锁保护。,8 读存储器阵列,9 写存储器阵列,4.2.4 硬件设计,X5045与8051连接电路原理图,4.5 软件设计,/输出一个字节 /入口:一个uchar形变量 /出口:无 static void OutByte(uchar ch) uchar i=8; do SCK=0; SI=(bit)(ch ,/* /输入一个字节 /入口

10、:没有入口 /出口:一个uchar形变量 static uchar InByte(void) uchar i,a=0; SO=1; for (i=8;i0;i-) SCK=1; SCK=0; a=1; if(SO) a|=0x01; return(a); ,11.2 I2C总线接口,I2C(InterIntegrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线。 I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量。 总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40

11、个组件。 I2C总线的另一个优点是,它支持多主控(multimastering), 其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。,11.2.2 I2C总线的工作原理,11.2.2 .1 总线的构成及信号类型 I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。 各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。

12、CPU发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的量。这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关。,三种类型的信号,I2C总线在传送数据过程中有三种类型信号: 开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据; 结束信号:SCL为低电平时,SDA由低电平向高电平跳变,结束传送数据; 应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到

13、应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,则认为受控单元出现故障。,带I2C接口的单片机,带有I2C接口的单片机有:CYGNAL的 C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外围器件如存储器、监控芯片等也提供I2C接口。,11.2.2 .2 总线基本操作,I2C规程运用主/从双向通讯。 发送器(主器件):器件发送数据到总线上; 接收器(从器件):器件接收数据。 主器件和从器件都可以工作于接收和发送状态。 总线必须由主器件(通常为微控制器)控制。 主器件产生串行时钟(SCL)控制总线的传输方向,并产

14、生起始和停止条件。SDA线上的数据状态仅在SCL为低电平的期间才能改变,SCL为高电平的期间,SDA状态的改变被用来表示起始和停止条件。,串行总线上的数据传送顺序,开始条件 地址或应答 数据可改变 停止条件,1 控制字节 在起始条件之后,必须是器件的控制字节,其中高四位为器件类型识别符(不同的芯片类型有不同的定义,EEPROM一般应为1010),接着三位为片选,最后一位为读写位,当为1时为读操作,为0时为写操作。如下图所示。,2 写操作,写操作分为字节写和页面写两种操作,对于页面写根据芯片的一次装载的字节不同有所不同。关于页面写的地址、应答和数据传送的时序,3 读操作,读操作有三种基本操作:当

15、前地址读、随机读和顺序读。下图是顺序读的时序图。应当注意的是:最后一个读操作的第9个时钟周期不是“不关心”。为了结束读操作,主机必须在第9个周期间发出停止条件或者在第9个时钟周期内保持SDA为高电平、然后发出停止条件。,I2C总线的应用中应注意的事项,1) 严格按照时序图的要求进行操作, 2) 若与口线上带内部上拉电阻的单片机接口连接,可以不外加上拉电阻。 3) 程序中为配合相应的传输速率,在对口线操作的指令后可用NOP指令加一定的延时。 4) 为了减少意外的干扰信号将EEPROM内的数据改写可用外部写保护引脚(如果有),或者在EEPROM内部没有用的空间写入标志字,每次上电时或复位时做一次检测,判断EEPROM是否被意外改写。,11.2.3 I2C总线的通用C51源程序,源代码见程序清单,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号