单片机的IO扩展课件.pptx

上传人(卖家):晟晟文业 文档编号:4289116 上传时间:2022-11-26 格式:PPTX 页数:97 大小:2.17MB
下载 相关 举报
单片机的IO扩展课件.pptx_第1页
第1页 / 共97页
单片机的IO扩展课件.pptx_第2页
第2页 / 共97页
单片机的IO扩展课件.pptx_第3页
第3页 / 共97页
单片机的IO扩展课件.pptx_第4页
第4页 / 共97页
单片机的IO扩展课件.pptx_第5页
第5页 / 共97页
点击查看更多>>
资源描述

1、8.1 单片机的系统扩展概述1.1.系统扩展的含义系统扩展的含义在单片机芯片外加相应的芯片、电路,使得有关功能得在单片机芯片外加相应的芯片、电路,使得有关功能得以扩充,称为系统扩展。以扩充,称为系统扩展。系统扩展包括:外部存储器扩展,系统扩展包括:外部存储器扩展,I/OI/O接口扩展,总线扩接口扩展,总线扩展等展等2.2.系统扩展分类系统扩展分类单一功能的扩展单一功能的扩展综合功能的扩展综合功能的扩展第1页/共97页8.1 单片机I/O扩展概述4.4.扩展扩展I/OI/O接口电路的功能:接口电路的功能:n速度协调速度协调n输出数据锁存输出数据锁存n输入数据三态缓冲输入数据三态缓冲n数据转换数据

2、转换3.3.为什么要扩展为什么要扩展I/OI/O口口n单片机本身接口功能有限单片机本身接口功能有限n单片机控制应用中的复杂接口要求单片机控制应用中的复杂接口要求第2页/共97页常用编址方法有:常用编址方法有:独立编址独立编址和和统一编址统一编址。MCS51单片机采用与外部单片机采用与外部RAM统一编址方法,即每一个统一编址方法,即每一个扩展的扩展的I/O口相当于一个扩展的口相当于一个扩展的RAM单元;单元;访问外部访问外部I/O口的指令同访问外部数据存储器指令。口的指令同访问外部数据存储器指令。5.51单片机扩展I/O接口编址方法例如:例如:MOVXMOVXDPTR,ADPTR,AMOVXMO

3、VXA,DPTR A,DPTR MOVXMOVXRI,ARI,AMOVXMOVXA,RI A,RI ;其中,其中,DPTRDPTR、RIRI中装中装I/OI/O对应的地址对应的地址第3页/共97页(1)无条件传送方式 无条件传送也称为同步程序传送。无条件传送也称为同步程序传送。只有那些能一直为数据只有那些能一直为数据I/OI/O传送作好准备的设备,才能使用传送作好准备的设备,才能使用无条件传送方式。因为在进行无条件传送方式。因为在进行I/OI/O操作时,不测试设备的状操作时,不测试设备的状态,可以根据需要随时进行数据传送操作。态,可以根据需要随时进行数据传送操作。该方式适用于两类设备的数据输入

4、输出:该方式适用于两类设备的数据输入输出:具有常驻的数据信号具有常驻的数据信号 变化缓慢的数据信号的设备。变化缓慢的数据信号的设备。n 无条件传送接口逻辑示于图无条件传送接口逻辑示于图8-18-16.单片机I/O控制方式第4页/共97页图图8-1 8-1 无条件传送的接口逻辑无条件传送的接口逻辑第5页/共97页在在I/O操作之前,要先检浏设备的操作之前,要先检浏设备的状态,以了解设备是否已为数据状态,以了解设备是否已为数据I/O作好了准备;作好了准备;只有在确认设备已只有在确认设备已“准备好准备好”的情的情况下,单片机才能执行数据况下,单片机才能执行数据I/O操操作。操作流程见图作。操作流程见

5、图8-2为了实现查询方式的数据传送,需为了实现查询方式的数据传送,需要由接口电路提供设备状态,并以要由接口电路提供设备状态,并以软件方法进行状态测试。这是一种软件方法进行状态测试。这是一种软硬件方法结合的数据传送方式。软硬件方法结合的数据传送方式。程序查询方式,电路简单,查询软程序查询方式,电路简单,查询软件也不复杂,而且通用性强。件也不复杂,而且通用性强。(2)查询方式(有条件传送方式)图图8-2 8-2 查询传送流程查询传送流程第6页/共97页中断方式又称程序中断方式、它与查询方式的主要区别在于中断方式又称程序中断方式、它与查询方式的主要区别在于知何知道设备是否为数据传送作好了准备,查询方

6、式是单片知何知道设备是否为数据传送作好了准备,查询方式是单片机的主动形式,而中断方式则是单片机等待通知(中断请求机的主动形式,而中断方式则是单片机等待通知(中断请求)的被动形式。)的被动形式。采用中断方式进行数据传送时,当设备为数据传送作好准备采用中断方式进行数据传送时,当设备为数据传送作好准备之后,就向单片机发出中断请求;之后,就向单片机发出中断请求;单片机接收到中断请求之后,即作出响应,暂停正在执行的单片机接收到中断请求之后,即作出响应,暂停正在执行的原程序,而转去为设备的数据输入输出服务原程序,而转去为设备的数据输入输出服务待服务完成之后,程序返回,单片机再继续执行被中断的原待服务完成之

7、后,程序返回,单片机再继续执行被中断的原程序。中断传送逻辑见图程序。中断传送逻辑见图8-38-3。(3)中断方式第7页/共97页图图8-3 8-3 中断方式数据传送逻辑中断方式数据传送逻辑第8页/共97页7.I/O扩展的分类利用锁存器、缓冲器进行并行口简单扩展利用锁存器、缓冲器进行并行口简单扩展用可编程并行接口芯片进行扩展用可编程并行接口芯片进行扩展I/OI/O接口扩展常用芯片接口扩展常用芯片5151单片机常用单片机常用I/OI/O扩展芯片示于表扩展芯片示于表8-18-1。表表8-1 MCS-518-1 MCS-51单片机单片机I/OI/O扩展常用芯片扩展常用芯片第9页/共97页8.2 简单I

8、/O口扩展8.2.1 简单接口常用锁存器、缓冲器芯片nI/OI/O口的简单扩展口的简单扩展p输出口输出口-利用锁存器扩展利用锁存器扩展p输入口输入口-利用缓冲器扩展利用缓冲器扩展n74LS37774LS377、74LS27374LS273、74LS24474LS244、74LS24574LS245第10页/共97页1.8位数据/地址锁存器74LS273/373(1)74LS27374LS27374LS273是一种带清除功能的是一种带清除功能的8D8D触发器触发器其内部结构如图其内部结构如图8-48-4所示所示引脚分布如图引脚分布如图8-58-5所示所示真值表见表真值表见表8-28-2所示所示1

9、D1D8D8D为数据输入端为数据输入端1Q1Q8Q8Q为数据输出端,正脉冲触发,低电平清除,常用作为数据输出端,正脉冲触发,低电平清除,常用作8 8位地址锁位地址锁存器存器。第11页/共97页表表8-2 74LS2738-2 74LS273真值表真值表图图8.4 74LS2738.4 74LS273内部结构图内部结构图第12页/共97页图图8-5 74LS2738-5 74LS273封装图封装图第13页/共97页 (2)74LS37374LS373是一种带有三态输出门的是一种带有三态输出门的8D触发器触发器其内部结构如图其内部结构如图8-6所示所示引脚分布如图引脚分布如图8-7所示所示数据输入

10、由允许端数据输入由允许端G G控制控制数据输出由数据输出控制端控制数据输出由数据输出控制端控制各触发器仅输出单一状态各触发器仅输出单一状态D1D1D8D8为数据输入端为数据输入端Q1Q1Q8Q8为数据输出端为数据输出端触发器的功能如表触发器的功能如表8-3所示所示常用作数据常用作数据/地址锁存器地址锁存器第14页/共97页图图8-6 74LS3738-6 74LS373内部结构图内部结构图表表8-3 74LS3738-3 74LS373真值表真值表第15页/共97页图图8-7 74LS3738-7 74LS373引脚功能图引脚功能图第16页/共97页(3)74LS24474LS24474LS2

11、44是是三态八缓冲器三态八缓冲器/线驱动器线驱动器/线接收器线接收器(3S(3S,两,两组控制组控制)内部结构逻辑图(见图内部结构逻辑图(见图8-88-8):图图8-8 74LS2448-8 74LS244引脚功能图引脚功能图第17页/共97页(3)74LS244(续)引出端符号引出端符号:1A11A41A11A4,2A12A42A12A4:输入端输入端 1G#,2G#1G#,2G#:三态允许端三态允许端(低电平有效低电平有效)1Y11Y41Y11Y4,2Y12Y42Y12Y4:输出端输出端n真值表真值表:(见表(见表8-48-4)表表8-4 74LS2448-4 74LS244真值表真值表第

12、18页/共97页(4)74LS24574LS245:874LS245:8位双向位双向3 3态缓冲电路,主要用在数据的双向态缓冲电路,主要用在数据的双向缓冲缓冲内部结构逻辑见图内部结构逻辑见图8-98-9图图8-9 74LS2458-9 74LS245引脚功能图引脚功能图第19页/共97页(4)74LS245(续)74LS24574LS245的真值表见表的真值表见表8-58-5表表8-5 74LS2458-5 74LS245真值表真值表第20页/共97页8.2.2 简单I/O口扩展1.简单输入口扩展图图8-10 74LS2448-10 74LS244扩展输入接口电路扩展输入接口电路第21页/共9

13、7页2.简单输出口扩展图图8-11 74LS3778-11 74LS377扩展输出接口电路扩展输出接口电路第22页/共97页3.简单并行口扩展应用举例 图图8-12 74LS8-12 74LS系列扩展输入系列扩展输入/输出接口电路输出接口电路第23页/共97页n【例例8-18-1】如图如图8-128-12所示为一个利用所示为一个利用74LS24474LS244和和74LS27374LS273芯片,将芯片,将P0P0口扩展成简单的输入口扩展成简单的输入/输输出口的电路。出口的电路。74LS24474LS244和和74LS27374LS273的工作受的工作受AT89S51AT89S51的的P2.0

14、P2.0、RD#RD#、WR#WR#3 3条控制线控制。条控制线控制。74LS24474LS244作为扩展输入口,作为扩展输入口,8 8个输入端分别接个输入端分别接8 8个按钮开关。个按钮开关。74LS27374LS273是是8D8D锁存器扩展输出口,接锁存器扩展输出口,接8 8个个LEDLED发光二极管,以显示发光二极管,以显示8 8个按钮开个按钮开关状态。关状态。当某条输入口线的按钮开关按下时,该输入口线为低电平,读入单片机后当某条输入口线的按钮开关按下时,该输入口线为低电平,读入单片机后,其相应位为,其相应位为“0”0”,然后再将口线的状态经,然后再将口线的状态经74LS27374LS2

15、73输出,某位低电平时输出,某位低电平时二极管发光,从而显示出按下的按钮开关的位置。二极管发光,从而显示出按下的按钮开关的位置。3.简单并行口扩展应用举例 第24页/共97页n该电路的工作原理如下该电路的工作原理如下当当P2.0=0P2.0=0,RD#=0RD#=0(WR#=1WR#=1)时,选中时,选中74LS24474LS244芯片,此时若无按钮开关按芯片,此时若无按钮开关按下,输入全为高电平。当某开关按下时则对应位输入为下,输入全为高电平。当某开关按下时则对应位输入为“0 0”,74LS24474LS244的的输入端不全为输入端不全为“1 1”,其输入状态通过,其输入状态通过P0P0口数

16、据线被读入口数据线被读入AT89S51AT89S51片内。片内。当当P2.0=0P2.0=0,WR#=0WR#=0(RD#=RD#=1 1)时时,选中,选中74LS27374LS273芯片,芯片,CPUCPU通过通过P0P0口输出数据口输出数据锁存到锁存到74LS27374LS273,74LS27374LS273的输出端低电平位对应的的输出端低电平位对应的LEDLED发光二极管点亮。发光二极管点亮。总之,在总之,在图图8-128-12中中只要保证只要保证P2.0P2.0为为“0”0”,其他地址位或,其他地址位或“0”0”或或“1”1”即即可。如地址用可。如地址用FEFFHFEFFH(无效位全为

17、(无效位全为“1”1”),或用),或用0000H0000H(无效位全为(无效位全为“0”0”)都可。)都可。【例8-1】分析第25页/共97页输入程序段:输入程序段:MOV MOV DPTRDPTR,#0FEFFH#0FEFFH;I/OI/O地址地址DPTRDPTRMOVX MOVX A A,DPTR DPTR;RD#RD#为低,为低,74LS24474LS244数据被读入数据被读入A A中中输出程序段:输出程序段:MOV MOV A A,#data#data;数据;数据#dataA#dataAMOV MOV DPTRDPTR,#0FEFFH#0FEFFH;I/OI/O地址地址#0FEFFHD

18、PTR#0FEFFHDPTRMOVXMOVXDPTRDPTR,A A;WR#WR#为低,数据经为低,数据经74LS27374LS273口输出口输出【例8-1】输入、输出程序第26页/共97页程序如下:程序如下:DDISDDIS:MOV MOV DPTRDPTR,#0FEFFH#0FEFFH;输入口地址;输入口地址DPTRDPTRLPLP:MOVX MOVX A A,DPTRDPTR;按钮开关状态读入;按钮开关状态读入A A中中 MOVX MOVX DPTRDPTR,A A;A A中数据送显示输出口中数据送显示输出口 SJMP LP SJMP LP ;反复连续执行;反复连续执行由程序可看出,对于

19、扩展接口的输入由程序可看出,对于扩展接口的输入/输出就像从外部输出就像从外部RAMRAM读读/写数据一样写数据一样方便。图方便。图8-128-12仅仅扩展了两片,如果仍不够用,还可扩展多片仅仅扩展了两片,如果仍不够用,还可扩展多片74LS24474LS244、74LS27374LS273之类的芯片。但作为输入口时,一定要求有三态功能,否则将影之类的芯片。但作为输入口时,一定要求有三态功能,否则将影响总线的正常工作。响总线的正常工作。【例8-1】程序编写程序把按钮开关状态通过图8-12的发光二极管显示出来。第27页/共97页8.3 用51单片机的串行口扩展并行口 串口的串口的方式方式0 0用于用

20、于I/OI/O扩展扩展。方式方式0 0为为同步移位寄存器同步移位寄存器工作方工作方式,波特率为式,波特率为f foscosc/12/12。数据由数据由RXDRXD端(端(P3.0P3.0)输入)输入,同步移,同步移位时钟由位时钟由TXDTXD端(端(P3.1P3.1)输出。输出。1.用74LS165扩展并行输入口n如图如图8-138-13,用,用5151单片机的串口单片机的串口扩展两个扩展两个8 8位并行输入口。位并行输入口。74LS16574LS165是是8 8位并行输入串行输出的寄存器。当位并行输入串行输出的寄存器。当74LS16574LS165的的S/L#S/L#端由高到低端由高到低跳变

21、,并行输入端的数据被置入寄存器;跳变,并行输入端的数据被置入寄存器;当当S/L#=1S/L#=1,且时钟禁止端(,且时钟禁止端(1515脚)为低时,允许脚)为低时,允许TXDTXD(P3.1P3.1)移位时钟输移位时钟输入,在该脉冲作用下,数据由右向左方向移动。入,在该脉冲作用下,数据由右向左方向移动。第28页/共97页1.用74LS165扩展并行输入口TXDTXD与所有与所有74LS16574LS165的的CPCP相连;相连;RXDRXD与与74LS16574LS165的串行输出端的串行输出端QHQH相连;相连;P1.0P1.0与与 S/L#S/L#相连,控制相连,控制74LS16574LS

22、165的串行移位或并行输入;的串行移位或并行输入;1515脚接地,允许时钟输入。脚接地,允许时钟输入。当扩展多个当扩展多个8 8位输入口时,相邻两芯片的首尾(位输入口时,相邻两芯片的首尾(Q QH H与与SINSIN)相连。)相连。图图8-13 8-13 利用利用74LS16574LS165扩展扩展1616位并行输入口位并行输入口第29页/共97页【例例8-28-2】从从1616位扩展口读入位扩展口读入5 5组数据(每组组数据(每组2B2B),把它们转存),把它们转存到内部到内部RAM 20HRAM 20H开始的单元。编程如下:开始的单元。编程如下:MOVMOVR7R7,#05H#05H;设置

23、读入组数;设置读入组数 MOVMOVR0R0,#20H#20H;设置内部;设置内部RAMRAM数据区首址数据区首址STARTSTART:CLRCLRP1.0P1.0;并行置入数据,;并行置入数据,S/L#=0S/L#=0SETBSETB P1.0P1.0;允许串行移位,;允许串行移位,S/L#=1S/L#=1MOVMOVR2R2,#02H#02H;设每组字节数,即;设每组字节数,即74LS16574LS165的个数的个数RXDATARXDATA:MOVMOVSCONSCON,#00010000H#00010000H;设置串口方式;设置串口方式0 0,允许,允许;接收,启动接收过程;接收,启动接

24、收过程WAITWAIT:JNBJNBRIRI,WAITWAIT;未接收完一帧,循环等待;未接收完一帧,循环等待 CLRCLRRIRI;RIRI标志清标志清“0”0”,准备下次接收,准备下次接收 MOVMOVA A,SBUFSBUF;读入数据;读入数据 MOVMOVR0R0,A A;送至;送至RAMRAM缓冲区缓冲区 INCINCR0R0;指向下一个地址;指向下一个地址 DJNZDJNZ R2R2,RXDATARXDATA;未读完一组数据,;未读完一组数据,继续继续 DJNZDJNZ R7R7,STARTSTART;5 5组数据未读完重新并行置入组数据未读完重新并行置入 ;对数据进行处理;对数据

25、进行处理 串行接收过程采用查询等待的方式,如必要,可改中断方式。串行接收过程采用查询等待的方式,如必要,可改中断方式。第30页/共97页2.用74LS164扩展并行输出口 图图8-148-14为为5151单片机的串口外接两片单片机的串口外接两片74LS16474LS164(8 8位串入并出位串入并出移位寄存器)扩展两个移位寄存器)扩展两个8 8位并行输出口的接口电路。位并行输出口的接口电路。图图8-14 8-14 利用利用74LS16474LS164扩展扩展1616位并行输出口位并行输出口第31页/共97页当串口工作在方式当串口工作在方式0 0的发送,串行数据由的发送,串行数据由P3.0P3.

26、0(RXDRXD)送出,移位时钟由)送出,移位时钟由P3.1P3.1(TXDTXD)送出。)送出。注意,由于注意,由于74LS16474LS164无并行输出控制端,在串行输入中,其输出端的状态无并行输出控制端,在串行输入中,其输出端的状态会不断变化,故某些场合,在会不断变化,故某些场合,在74LS16474LS164输出端应加接输出三态门控制,以输出端应加接输出三态门控制,以便保证串行输入结束后再输出数据。便保证串行输入结束后再输出数据。2.用74LS164扩展并行输出口第32页/共97页STARTSTART:MOVMOVR7R7,#02H#02H;设置要发送的字节个数;设置要发送的字节个数

27、MOV MOV R0R0,#30H#30H;设置地址指针;设置地址指针 MOV MOV SCONSCON,#00H#00H;设置串行口为方式;设置串行口为方式0 0SENDSEND:MOV MOV A A,R0R0 MOV MOV SBUFSBUF,A A;启动串行口发送过程;启动串行口发送过程WAITWAIT:JNBJNBTITI,WAITWAIT;一帧未发完,等待;一帧未发完,等待 CLR CLR TITIINC INC R0R0;取下一个数;取下一个数DJNZ R7DJNZ R7,SEND SEND ;未发完,继续,从子程序返回;未发完,继续,从子程序返回RETRET【例例8-38-3】

28、将内部将内部RAMRAM单元单元30H30H、31H31H的内容经串行口由的内容经串行口由74LS16474LS164并并行输出的子程序。行输出的子程序。第33页/共97页8.4 可编程并行接口芯片的扩展8.4.1 利用可编程并行接口芯片8255的I/O扩展n 常用的外围常用的外围I/OI/O接口芯片:接口芯片:1.1.82C5582C55:可编程通用并行接口(:可编程通用并行接口(3 3个个8 8位位I/OI/O口)。口)。2.2.81C5581C55:可编程的:可编程的IO/RAMIO/RAM扩展接口电路(扩展接口电路(2 2个个8 8位位I/OI/O口,口,1 1个个6 6位位I/OI/

29、O口,口,256RAM256RAM单单元,元,1 1个个1414位的减法计数器)。位的减法计数器)。n 都可以和都可以和AT89S51AT89S51直接连接,接口逻辑简单。直接连接,接口逻辑简单。第34页/共97页1.8255的结构图图8-15 82558-15 8255的内部结构框图的内部结构框图第35页/共97页图图8-16 82558-16 8255的扩展逻辑电路图的扩展逻辑电路图2.8255的扩展逻辑电路MCS-51MCS-51单片机可以和单片机可以和82558255直接连接,图直接连接,图8-168-16给出了一种扩展电给出了一种扩展电路。路。第36页/共97页3.8255并口扩展举

30、例【例例8-48-4】82558255与与80318031连接如图连接如图8-178-17所示,要求:所示,要求:试确定试确定8255A8255A的端口地址的端口地址 欲使欲使A A口口:方式方式0 0,输出口;,输出口;B B口口:方式方式1 1,输入口;,输入口;上上C C口口:方式方式0 0,输出。编写初始化程序,输出。编写初始化程序 欲使欲使80518051内部内部RAM30HRAM30H的内容从的内容从PAPA口口输出,试编程。输出,试编程。欲使欲使PC7PC7向外输出一个正脉冲信号,试编程。向外输出一个正脉冲信号,试编程。第37页/共97页图图8-17 82558-17 8255与

31、与80318031连接图连接图第38页/共97页【例8-4】解答P2 P0 0,0 0 A口:7FFCH(0000H)0,0 1B口:7FFDH(0001H)0,1 0C口:7FFEH(0002H)0,1 1控制口:7FFFH(0003H)MOVMOVDPTR,#7FFFHDPTR,#7FFFH;控制口地址;控制口地址MOVMOVA,#86HA,#86H;方式字:;方式字:10000110B=86H10000110B=86HMOVXMOVXDPTR,A DPTR,A 初始化编程初始化编程确定地址确定地址第39页/共97页 程序段MOVA,30HMOVDPTR,#7FFCHMOVX DPTR,A

32、 程序段程序段MOVMOVDPTR,#7FFFHDPTR,#7FFFHMOVMOVA,#86HA,#86H;设工作方式;设工作方式MOVXMOVXDPTR,ADPTR,AMOVMOVA,#0EHA,#0EH;C C口置位字,口置位字,PC7=0PC7=0MOVXMOVXDPTR,ADPTR,AACALLACALLDELAY1DELAY1;延时;延时MOVMOVA,#0FHA,#0FH;C C口置位字,口置位字,PC7=1PC7=1MOVXMOVXDPTR,A DPTR,A ACALLACALLDELAY1DELAY1;延时;延时DECDECA A;C C口置位字,口置位字,PC7=0PC7=0

33、MOVX MOVX DPTR,ADPTR,AACALL ACALL DELAY2DELAY2;延时;延时【例8-4解答】第40页/共97页【例例8-58-5】设单片机通过设单片机通过82558255来控制一顺序控制过程,该系统连接如图来控制一顺序控制过程,该系统连接如图8-188-18,A A口输出口输出6 6路顺序控制信号,以指示灯指示,路顺序控制信号,以指示灯指示,6 6道工序,每道工序时间为道工序,每道工序时间为1010秒。秒。PC0PC0输入启动信号,输入启动信号,PC7PC7输入停止信号,分别与输入停止信号,分别与SA1SA1和和SA2SA2相连。试编写此应用程序。相连。试编写此应用

34、程序。图图8-18 8255A8-18 8255A的应用举例的应用举例第41页/共97页(2 2)端口的工作方式为方式)端口的工作方式为方式0 0,A A口为输出口,口为输出口,C C口为输入口,口为输入口,82558255的控制字为的控制字为89H89H。(1 1)82558255四个端口的地址:四个端口的地址:,0000,00B A00B A口地址:口地址:FCFCHFCFCH,0000,01B B01B B口地址:口地址:FCFDHFCFDH,0000,10B C10B C口地址:口地址:FCFEHFCFEH,0000,11B 11B 控制口地址:控制口地址:FCFFHFCFFH【例8-

35、5】解答第42页/共97页ORG 0100HORG 0100HMAMA:MOVMOVDPTRDPTR,#0FCFFH#0FCFFH;控制寄存器地址;控制寄存器地址MOVMOVA A,#89H#89H ;控制字;控制字MOVXMOVXDPTRDPTR,A A ;控制字送控制寄存器;控制字送控制寄存器MOVMOVDPTRDPTR,#0FCFEH#0FCFEH ;C C口地址口地址QDQD:MOVXMOVXA A,DPTR DPTR ;读;读C C口口JNBJNBACC.0ACC.0,QD QD ;判断有无启动信号;判断有无启动信号LOOPLOOP:MOV MOV DPTRDPTR,#0FCFCH#

36、0FCFCH ;A A口地址口地址MOVMOVA A,#01H#01H ;第一路控制信号;第一路控制信号LOOP1LOOP1:MOVX MOVX DPTRDPTR,A A ;输出第一路控制信号;输出第一路控制信号ACALLACALLDELAY DELAY ;延迟;延迟1010秒秒RLRLA A ;下一路控制信号;下一路控制信号JNBJNBACC.6ACC.6,LOOP1 LOOP1 ;判断;判断6 6路控制信号有无输出完路控制信号有无输出完()控制程序如下:()控制程序如下:第43页/共97页MOVMOVDPTRDPTR,#0FCFEH#0FCFEH;C C口地址口地址MOVXMOVXA A,

37、DPTR DPTR ;读;读C C口口JB JB ACC.7ACC.7,TZ TZ ;判断有无停止信号;判断有无停止信号JMPJMPLOOP LOOP ;无停止信号则进行下一轮控制;无停止信号则进行下一轮控制TZTZ:MOVMOVDPTRDPTR,#0FCFCH#0FCFCH ;有停止信号则使;有停止信号则使A A口输出清零口输出清零CLRCLRA AMOVXMOVXDPTRDPTR,A ASJMPSJMP$ORGORG1000H 1000H ;延时子程序;延时子程序DELAYDELAY:MOVMOV22H22H,#50H#50HL1L1:MOV MOV 21H21H,#100H#100HL2

38、L2:MOVMOV20H20H,#250H#250HL3L3:NOPNOPNOPNOPDJNZDJNZ20H20H,L3L3DJNZDJNZ21H21H,L2L2DJNZDJNZ22H22H,L1L1RETRET()控制程序(续):()控制程序(续):第44页/共97页8.4.2 可编程并行接口芯片8155的扩展1.8155的结构n8155芯片内部逻辑由三部分组成:芯片内部逻辑由三部分组成:存储单元为存储单元为256256字节静态字节静态RAMRAM三个可编程三个可编程I/OI/O口:口:PAPA口,口,8 8位位PBPB口,口,8 8位位PCPC口,口,6 6位位1414位二进制减法计数器位

39、二进制减法计数器第45页/共97页n8155芯片的内部结构(图芯片的内部结构(图8-19)图图8-19 81558-19 8155芯片的内部结构芯片的内部结构第46页/共97页2.8155的引脚功能n81558155芯片芯片4040引脚,采引脚,采用双列直插式封装,如用双列直插式封装,如图图8-208-20所示。所示。n81558155芯片的引脚功能芯片的引脚功能见表见表8-68-6图图8-20 81558-20 8155芯片的引脚芯片的引脚第47页/共97页表表8-6 81558-6 8155芯片的引脚功能芯片的引脚功能PA0PA7PA0PA7端口端口A A的的I/OI/O线(线(8 8位,

40、接外设)位,接外设)PB0PB7PB0PB7端口端口B B的的I/OI/O线(线(8 8位,接外设)位,接外设)PC0PC5PC0PC5端口端口C C的的I/OI/O线(线(6 6位,接外设)位,接外设)AD0AD7AD0AD7三态地址三态地址/数据复用线(数据复用线(8 8位,一般接单片机位,一般接单片机P0P0口)口)CPUCPU与与81558155之间的地址、数据、命令、状态等信号通过它来传送之间的地址、数据、命令、状态等信号通过它来传送IO/M#IO/M#端口端口/存储器存储器 选择控制:选择控制:“0”0”选择片内选择片内RAMRAM;“1”“1”选择片内选择片内I/OI/O口口TI

41、MER INTIMER IN81558155片内定时器片内定时器/计数器的计数脉冲输入引脚计数器的计数脉冲输入引脚TIMER OUTTIMER OUT81558155片内定时器片内定时器/计数器的计满回零输出引脚计数器的计满回零输出引脚RD#RD#、WR#WR#分别是对分别是对81558155片内的片内的RAMRAM或或I/OI/O口的的读、写控制信号口的的读、写控制信号ALEALE地址锁存引脚地址锁存引脚CE#CE#选片选片RESETRESET复位信号。复位后复位信号。复位后A A口、口、B B口和口和C C口均为数据输入方式口均为数据输入方式第48页/共97页n81558155各引脚功能如

42、下各引脚功能如下p 地址地址/数据线数据线AD7AD7AD0AD0,与与AT89S51AT89S51单片机的单片机的P0P0口相连,用于分时传送地址口相连,用于分时传送地址/数据信息。数据信息。p I/OI/O总线(总线(2222条)条)PA7PA7PA0PA0为通用为通用I/OI/O线,数据传送方向由写入线,数据传送方向由写入81C5581C55的命令字决定(的命令字决定(图图9-139-13););PB7PB7PB0PB0为通用为通用I/OI/O线,用于传送线,用于传送PBPB口上的外设数据,数据传送方向也由口上的外设数据,数据传送方向也由写入写入81C5581C55的控制字决定。的控制字

43、决定。PC5PC5PC0PC0为数据为数据/控制线,共有控制线,共有6 6条,在通用条,在通用I/OI/O方式下,用作传送方式下,用作传送I/OI/O数据数据;在选通;在选通I/OI/O方式下,用作传送命令方式下,用作传送命令/状态信息(见表状态信息(见表9-39-3)。)。2.8155的引脚功能第49页/共97页p 控制引脚控制引脚RESETRESET:复位输入线,在复位输入线,在RESETRESET线上输入一个大于线上输入一个大于600ns600ns宽的正脉冲时,宽的正脉冲时,81C5581C55即可处于复位状态,即可处于复位状态,PAPA、PBPB、PCPC三口也定义为输入方式。三口也定

44、义为输入方式。CE#CE#:片选线,若片选线,若CE#=0CE#=0,则,则AT89S51AT89S51单片机选中本单片机选中本81C5581C55工作,否则,本工作,否则,本81C5581C55未被选中。未被选中。IO/M#IO/M#:I/OI/O端口或端口或RAMRAM存储器选择线。若存储器选择线。若IO/M#=0IO/M#=0,则,则AT89S51AT89S51单片机选中单片机选中81C5581C55片内的片内的RAMRAM存储器;若存储器;若IO/M#=1IO/M#=1,则,则AT89S51AT89S51单片机选中单片机选中81C5581C55的某一的某一I/OI/O端口。端口。RD#

45、RD#:读控制。当读控制。当RD#=0RD#=0且且WR#=1WR#=1时,时,81C5581C55为读出数据状态;为读出数据状态;WR#WR#:写控制。当写控制。当WR#=0WR#=0且且RD#=0RD#=0时,时,81C5581C55为写入数据状态。为写入数据状态。2.8155的引脚功能第50页/共97页p 控制引脚控制引脚ALEALE:允许地址输入线,高有效。若允许地址输入线,高有效。若ALE=1ALE=1,则,则81C5581C55允许允许AT89S51AT89S51通过通过AD7AD7AD0AD0线发出地址锁存到线发出地址锁存到81C5581C55片内片内“地址锁存器地址锁存器”;否

46、则,;否则,81C5581C55地址锁存器地址锁存器处于封锁状态。处于封锁状态。81C5581C55的的ALEALE常和常和AT89S51AT89S51的的ALEALE相连。相连。TIMERINTIMERIN:计数器脉冲输入线,输入的脉冲上跳沿用于对计数器脉冲输入线,输入的脉冲上跳沿用于对81C5581C55片内的片内的1414位位计数器减计数器减1 1。TIMEROUTTIMEROUT:计数器输出线,当计数器输出线,当1414位计数器减为位计数器减为0 0时就可以在该引线上输出脉时就可以在该引线上输出脉冲或方波,输出脉冲或方波与所选的计数器工作方式有关。冲或方波,输出脉冲或方波与所选的计数器

47、工作方式有关。p 电源线电源线VCCVCC为为+5V+5V电源输入线电源输入线VSSVSS接地。接地。2.8155的引脚功能第51页/共97页8155 8155 的的RAM RAM 单元地址单元地址81558155有有256256个个RAMRAM单元,使用单元,使用AD7AD7AD0AD0,共共8 8位地址线进行编址;位地址线进行编址;RAMRAM地址:地址:(当(当IO/M#IO/M#加低电平加低电平)此时)此时AD0AD0AD7AD7上得到的编码值即是上得到的编码值即是81558155的某一的某一RAMRAM单元的地址,地址范围是单元的地址,地址范围是00H00HFFHFFH。815581

48、55共有共有6 6 个可编址的个可编址的I/OI/O端口,这端口,这 6 6 个端口是:个端口是:命令状态寄存器;命令状态寄存器;PA PA口;口;PB PB口;口;PCPC口;口;定时器计数定时器计数器低器低8 8位;位;定时器计数器高定时器计数器高8 8位位当当IO/M#IO/M#加高电平加高电平,选中,选中I/OI/O端口。端口。81558155只使用只使用AD2AD2AD0AD0对对I/OI/O端口编址。端口编址。81558155的的I/OI/O端口地址编码见表端口地址编码见表8-78-73.8155的RAM单元地址及I/O口编址第52页/共97页n81558155端口地址(端口地址(

49、当当IO/M#IO/M#加高电平)加高电平)表表8-7 81558-7 8155的端口地址编码的端口地址编码ADAD7 7ADAD6 6ADAD5 5ADAD4 4ADAD3 3ADAD2 2ADAD1 1ADAD0 0对应端口对应端口0 00 00 0命令命令/状态寄存器状态寄存器0 00 01 1A A口口0 01 10 0B B口口0 01 11 1C C口口1 10 00 0定时器定时器/计数器低计数器低8 8位位1 10 01 1定时器定时器/计数器高计数器高8 8位位第53页/共97页4.8155的使用与工作方式(1)8155内部RAM的使用:当当IO/M#IO/M#加低电平加低电

50、平时,对片内时,对片内256B RAM256B RAM单元进行读单元进行读/写。与一般外部写。与一般外部数据存储器的使用基本一样,唯一区别是事先要使数据存储器的使用基本一样,唯一区别是事先要使IO/M#IO/M#为低电平。为低电平。(2)8155的I/O口的使用:当当IO/M#IO/M#加高电平加高电平时,对时,对I/OI/O口访问。口访问。81558155的的3 3个个I/OI/O口,分别称为口,分别称为PAPA口口、PBPB口口和和PCPC口口。PAPA口口和和PBPB口口是是8 8位通用数据口,主要用于数据传送。位通用数据口,主要用于数据传送。PCPC口口为为6 6位口,既可作为位口,既

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(单片机的IO扩展课件.pptx)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|