单片机幻灯片第九章

上传人:F****n 文档编号:88147057 上传时间:2019-04-20 格式:PPTX 页数:87 大小:1.08MB
返回 下载 相关 举报
单片机幻灯片第九章_第1页
第1页 / 共87页
单片机幻灯片第九章_第2页
第2页 / 共87页
单片机幻灯片第九章_第3页
第3页 / 共87页
单片机幻灯片第九章_第4页
第4页 / 共87页
单片机幻灯片第九章_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《单片机幻灯片第九章》由会员分享,可在线阅读,更多相关《单片机幻灯片第九章(87页珍藏版)》请在金锄头文库上搜索。

1、第9章 AT89S51单片机的串行扩展技术,【知识目标】 1.理解单总线扩展技术。 2.掌握SPI总线、I2C总线的原理 3.掌握常用的串行总线芯片与单片机的接口设计 【技能目标】 1.学会使用AT89S51单片机的I/O口结合软件模拟I2C总线时序实现I2C接口的方法。 2.学会使用AT89S51单片机的I/O口结合软件模拟SPI总线时序实现SPI接口的方法。,9.1 单总线串行扩展 9.2 SPI串行总线扩展 9.3 I2C总线的串行扩展介绍 9.4 键盘/显示串行接口芯片HD7279A的应用 9.5 案例:基于AT24C02的具有记忆功能的计数器的设计,9.1.1 单总线概述 单总线(1

2、- Wire)是美国Dallas公司的一项专利技术。与目前广泛应用的其他串行数据通信方式不同,它采用单根信号线完成数据的双向传输,并同时通过该信号线为单总线器件提供电源,具有节省I/O引脚资源、结构简单、成本低廉、便于总线扩展和维护等诸多优点,在电池供电设备、便携式仪器以及现场监控系统中有良好的应用前景。,9.1 单总线串行扩展,单总线标准为外设器件沿着一条数据线进行双向数据传输提供了一种简单的方案,任何单总线系统都包含一台主机和一个或多个从机,它们共用一条数据线。这条数据线被地址、控制和数据信息复用。由于主机和从机都是开漏输出,在主设备的总线一侧必须加上拉电阻,系统才能正常工作。此外,单总线

3、器件通常采用3引脚封装,在这三个引脚中有一个公共地端、一个数据输入/输出端和一个电源端。该电源端可为单总线器件提供外部电源,从而免除总线集中馈电。如图9-1所示为一个由单总线构成的分布式测温系统。带有单总线接口的温度计集成电路DS18B20都挂在DQ总线上。单片机对每个DS18820通过总线DQ寻址。DQ为漏极开路,加上拉电阻RP。,图9-1单总线构成的分布式温度检测系统,单总线技术有3个显著的特点: 1)单总线芯片通过一根信号线进行地址信息、控制信息和数据信息的传送,并通过该信号线为单总线芯片提供电源; 2)每个单总线芯片都具有全球唯一的访问序列号,当多个单总线器件挂在同一单总线上时,对所有

4、单总线芯片的访问都通过该唯一序列号进行区分; 3)单总线芯片在工作过程中,不需要提供外接电源,而通过它本身具有的“总线窃电”技术从总线上获取电源。,此外,单总线技术采用特殊的总线通信协议实现数据通信。在通信过程中,单总线数据波形类似于脉冲宽度调制信号,总线发出复位信号(保持低电平的周期最长)同步整个总线,然后由系统主机初始化每一位数据时隙,利用宽脉冲或窄脉冲来实现写“0”或写l”。在读数据时,主机利用窄脉冲初始化时隙,从机将数据线保持在低电平,通过展宽低电平脉冲返回逻辑“0”,或保持脉冲宽度不变来返回逻辑“1”。多数单总线器件支持两种数据速率,较低的数据速率约为14kbit/s,较高的数据速率

5、约为140kbit/s。,单线总线器件主要提供存储器、混合信号电路、识别、安全认证等功能。目前Dallas公司采用单总线技术生产的芯片包括数字温度计、数字电位器、A/D转换器、定时器、RAM与E2PROM存储器、线路驱动器及微型局域网耦合器等系列器件。常用的单线总线器件见表9-1,9.1.2常用的单总线器件,表9-1 常用的单线总线器件,DS18B20是美国Dallas公司生产的单总线数字式温度传感器,采用单总线协议,即与单片机接口仅需占用一个I/O端口,无须任何外部元件,直接将环境温度转化为数字信号,以数字码形式串行输出,从而极大地简化了传感器与微处理器的接口。在使用过程中,可由一根I/O数

6、据线实现传输数据,并可由用户设置温度报警界限,被广泛应用于精密仪器、存储仓库等需要测量和控制温度的地方。DS18B20具有以下特点: (1)测量范围:-55+125,在-10+85范围内精度为土0.5。 (2)分辨率:可编程分辨率为912位(其中包括l位符号位),对应的可分辨温度分别为0.5、0. 25、0.125和0.0625,可实现高精度测温。,9.1.3 单总线器件温度传感器DS18B20,(3)温度转换时间:其转换时间与设定的分辨率有关。当设定为9位时,最大转换时间为93.75ms;当设定为10位时,为187.5ms;当设定为11位时,为375ms;当设定为12位时,为750ms。 (

7、4)电源电压范围:在保证温度转换精度为0.5的情况下,电源电压可为+3.0+5.5V。 (5)程序设置寄存器:该寄存器用于设置器件是处于测试模式还是工作模式(出厂时设置为工作模式),此外还用于设置温度分辨率,可设为9位、10位、11位或12位。 (6)64位ROM编码:从高位算起,该ROM有一个字节的CRC校验码,6个字节的产品序列和一个字节的产品家族代码。DS18B20的家族代码是10H。 (7)DS18B20内部存储器分配:DS18B20中含有E2PROM,其报警上、下限温度值和设定的分辨率倍数是可记忆的,在出厂时被设定为12位分辨率。 关于DS18B20的详细介绍和应用在第11章详细说明

8、,这里就不再介绍了。,9.2.1 SPI 串行总线简介 SPI(Serial Peripheral Interface)是由Motorola公司提出的一种同步串行总线,采用3根或4根信号线进行数据传输,所需要的信号包括使能信号、同步时钟、同步数据(输入和输出)。它允许MCU与各种外围设备以串行方式进行通信。 SPI串行接口设备既可以工作在主设备模式下,也可以工作在从设备模式下。系统主设备为SPI总线通信过程提供同步时钟信号,并决定从设备片选信号的状态,使能将要进行通信的SPI从器件。SPI从器件则从系统主设备获取时钟及片选信号,因此从器件的控制信号CS、SCLK都是输入信号。,9.2 SPI串

9、行总线扩展,SPI串行总线使用两条控制信号线CS和SCLK,一条或两条数据信号线SDI、SDO。在Motorola公司的SPI技术规范中将数据信号线SDI称为MISO(Master-In-Slave- Out),数据信号线SDO称为MOSI (Master-Out-Slave-In),控制信号线CS称为SS(Slave Select),时钟信号线SCLK称为SCK (Serial Clock)。 在SPI串行扩展系统中,作为主器件的单片机在启动一次传送时,便产生8个时钟,传送给接口芯片作为同步时钟,控制数据的输入和输出。数据的传送格式是高位(MSB)在前,低位(LSB)在后,如图9-2所示。数

10、据线上输出数据的变化以及输入数据时的采样,都取决于SCK。但对于不同的外围芯片,有的可能是SCK的上升沿起作用,有的可能是SCK的下降沿起作用。SPI有较高的数据传输速度,最高可达1.05 Mbit/s。,目前采用SPI串行总线接口的器件非常多,有A/D与D/A转换器、存储器(E2PROM/FLASH)、实时时钟(RTC)、LCD控制器、温度传感器、压力传感器等。常用的SPI总线器件见表9-2。,9.2.2 常用的SPI总线器件,MAX7219是MAXIM公司生产的串行输入/输出共阴极数码管显示驱动芯片,一片MAX7219可驱动8个7段(包括小数点共8段)数码管、LED条线图形显示器、或64个

11、分立的LED发光二级管。该芯片具有10MHz传输率的三线串行接口可与任何微处理器相连,只需一个外接电阻即可设置所有LED的段电流。它的操作很简单,MCU只需通过模拟SPI三线接口就可以将相关的指令写入MAX7219的内部指令和数据寄存器,同时它还允许用户选择多种译码方式和译码位。,9.2.3 扩展带有SPI接口的显示芯片MAX7219,各引脚的功能为: DIN:串行数据输入端; DOUT:串行数据输出端,用于多片MAX7219级联扩展; LOAD:数据锁定控制引脚,在LOAD的上升沿到来时片内数据被锁定; CLK:串行时钟输入; SEG ASEG G,DP:7段驱动和小数点驱动; ISET:段

12、电流大小控制端。通过一个10k 电阻和Vcc相连,设置段电流 DIG0DIG7:数码管位选择引脚。,1. MAX7219的引脚,MAX7219的串行数据为16位串行数据,由4位无效数据、4位地址和8位数据组成,如表9-3所示。 MAX7219在DIN端口上输入的16位数据在每一个CLK时钟信号的上升沿被移入内部移位寄存器,然后在LOAD信号的上升沿到来时这些数据被送到数据/控制寄存器,在发送过程中遵循高位在前、低位在后的原则。,2.MAX7219的数据格式,MAX7219内部有14个可寻址的数据控制寄存器,8字节的数据寄存器在片内是一个8x8的内存空间,5字节的控制寄存器包括编码模式、显示亮度

13、、扫描控制、关闭模式及显示检测5个寄存器,如表9-4所示。编程时只有正确操作这些寄存器,MAX7219才可工作。,表9-4 MAX7219的内部寄存器,MAX7219有两种译码方式:译码方式和不译码方式。当选择不译码时,8个数据位分别一一对应7个段和小数点位;译码方式是BCD译码,直接送数据就可以显示。实际应用中可以按位设置选择译码或是不译码方式,也就是译码的位为1,不译码的位为0。,()译码控制寄存器(09H),此寄存器用于设置显示的LED的个数。,()扫描控制寄存器(0BH),,)亮度控制寄存器(0AH),共有16级可选择,用于设置LED的显示亮度,从00HFFH。 ()关断模式寄存器(X

14、CH),共有两种模式选择,一是关断状态,(最低位D0=0)一是正常工作状态(D0=1)。 ()显示测试寄存器(0FH),用于设置LED是测试状态还是正常工作状态,当测试状态时(最低位D0=1)各位显示全亮,正常工作状态(D0=0)。,例9-1使用AT89S51单片机利用I/O引脚扩展MAX7219驱动8位数码管,8位数码管显示“20150709” 分析:根据要求扩展8位数码管,应用电路如图9-4所示。51单片机使用P2.0P2.2和MAX7219相连接,MAX7219的位输出和数据输出分别连接8位数码管的对应端口。,3.MAX7219的应用,根据要求设计程序如下: SBDIN BIT P2.0

15、 SBLOAD BIT P2.1 SBCLK BIT P2.2 ORG 0000H LJMP MAIN MAIN: LCALL XIANSHI ;调用显示程序 SJMP MAIN XIANSHI:PUSH PSW ACALL INIT7219 ;7219初始化,MAIN1:MOV 30H,#2 ;30H单元开始存入要显示的内容 MOV 31H,#0 MOV 32H,#1 MOV 33H,#5 MOV 34H,#0 MOV 35H,#7 MOV 36H,#0 MOV 37H,#9 MOV R0,#30H MOV R1,#01H MOV R6,#8 CLR SBLOAD,L1: MOV A,R1

16、MOV B,R0 ACALL WRITE INC R0 INC R1 DJNZ R6,L1 POP PSW RET,WRITE:CLR SBLOAD ;地址放在A,数据放在B中 ACALL WR7219 ;写地址 MOV A,B ACALL WR7219 ;写数据 SETB SBLOAD NOP NOP RET,WR7219: MOV R7,#8 ;8位数据分别移入 WRITE1:CLR SBCLK ;CLK拉低 RLC A ;A中的值左移 MOV SBDIN,C ;输出的值送给DIN NOP SETB SBCLK ;CLK拉高,上升沿,数据移入 NOP DJNZ R7,WRITE1 RET,INIT7219:MOV A,#09H ;译码模式寄存器 MOV B,#0FFH ;均译码 ACALL WRITE MOV A,#0AH ;显示亮度控制 MOV B,#05H ACALL WRITE MOV A,#0BH ;扫描控制 MOV B,#07H ;扫描07位 AC

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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