




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第8章51单片机的IO扩展n系统扩展的含义系统扩展的含义nI/OI/O口的扩展口的扩展n利用利用I/OI/O接口芯片:接口芯片:82C5182C51、81C5181C51的的I/OI/O口扩展口扩展第8章51单片机的IO扩展n系统扩展的含义系统扩展的含义n在单片机芯片外加相应的芯片、电路,使得有关功能得以扩在单片机芯片外加相应的芯片、电路,使得有关功能得以扩充,称为系统扩展。充,称为系统扩展。n系统扩展包括:外部存储器扩展,系统扩展包括:外部存储器扩展,I/OI/O接口扩展,总线扩展接口扩展,总线扩展等等n系统扩展分类系统扩展分类n单一功能的扩展单一功能的扩展n综合功能的扩展综合功能的扩展第8
2、章51单片机的IO扩展n扩展扩展I/OI/O接口电路的功能:接口电路的功能:n速度协调速度协调n输出数据锁存输出数据锁存n输入数据三态缓冲输入数据三态缓冲n数据转换数据转换为什么要扩展为什么要扩展I/OI/O口口n单片机本身接口功能有限单片机本身接口功能有限n单片机控制应用中的复杂接口要求单片机控制应用中的复杂接口要求第8章51单片机的IO扩展n常用编址方法有:独立编址和统一编址。常用编址方法有:独立编址和统一编址。nMCS51单片机采用与外部单片机采用与外部RAM统一编址方法,即每一个统一编址方法,即每一个扩展的扩展的I/O口相当于一个扩展的口相当于一个扩展的RAM单元;单元;n访问外部访问
3、外部I/O口的指令同访问外部数据存储器指令。口的指令同访问外部数据存储器指令。 例如:例如:MOVXMOVXDPTR , ADPTR , AMOVXMOVXA,DPTR A,DPTR MOVXMOVXRI,ARI,AMOVXMOVXA,RI A,RI ; ;其中,其中,DPTRDPTR、RIRI中装中装I/OI/O对应的地址对应的地址第8章51单片机的IO扩展(1)无条件传送方式)无条件传送方式n无条件传送也称为同步程序传送。无条件传送也称为同步程序传送。n只有那些能一直为数据只有那些能一直为数据I/OI/O传送作好准备的设备,才能使用传送作好准备的设备,才能使用无条件传送方式。因为在进行无条
4、件传送方式。因为在进行I/OI/O操作时,不测试设备的状操作时,不测试设备的状态,可以根据需要随时进行数据传送操作。态,可以根据需要随时进行数据传送操作。n该方式适用于两类设备的数据输入输出:该方式适用于两类设备的数据输入输出:u 具有常驻的数据信号具有常驻的数据信号u 变化缓慢的数据信号的设备。变化缓慢的数据信号的设备。 无条件传送接口逻辑示于图无条件传送接口逻辑示于图8-18-1第8章51单片机的IO扩展图图8-1 8-1 无条件传送的接口逻辑无条件传送的接口逻辑第8章51单片机的IO扩展n在在I/O操作之前,要先检浏设备的操作之前,要先检浏设备的状态,以了解设备是否已为数据状态,以了解设
5、备是否已为数据I/O作好了准备;作好了准备;n只有在确认设备已只有在确认设备已“准备好准备好”的情的情况下,单片机才能执行数据况下,单片机才能执行数据I/O操操作。操作流程见图作。操作流程见图8-2n为了实现查询方式的数据传送,需为了实现查询方式的数据传送,需要由接口电路提供设备状态,并以要由接口电路提供设备状态,并以软件方法进行状态测试。这是一种软件方法进行状态测试。这是一种软硬件方法结合的数据传送方式。软硬件方法结合的数据传送方式。n程序查询方式,电路简单,查询软程序查询方式,电路简单,查询软件也不复杂,而且通用性强。件也不复杂,而且通用性强。 图图8-2 8-2 查询传送流程查询传送流程
6、第8章51单片机的IO扩展n中断方式又称程序中断方式、它与查询方式的主要区别在于中断方式又称程序中断方式、它与查询方式的主要区别在于知何知道设备是否为数据传送作好了准备,查询方式是单片知何知道设备是否为数据传送作好了准备,查询方式是单片机的主动形式,而中断方式则是单片机等待通知(中断请求机的主动形式,而中断方式则是单片机等待通知(中断请求)的被动形式。)的被动形式。n采用中断方式进行数据传送时,当设备为数据传送作好准备采用中断方式进行数据传送时,当设备为数据传送作好准备之后,就向单片机发出中断请求;之后,就向单片机发出中断请求;n单片机接收到中断请求之后,即作出响应,暂停正在执行的单片机接收到
7、中断请求之后,即作出响应,暂停正在执行的原程序,而转去为设备的数据输入输出服务原程序,而转去为设备的数据输入输出服务n待服务完成之后,程序返回,单片机再继续执行被中断的原待服务完成之后,程序返回,单片机再继续执行被中断的原程序。中断传送逻辑见图程序。中断传送逻辑见图8-38-3。第8章51单片机的IO扩展图图8-3 8-3 中断方式数据传送逻辑中断方式数据传送逻辑第8章51单片机的IO扩展n利用锁存器、缓冲器进行并行口简单扩展利用锁存器、缓冲器进行并行口简单扩展n用可编程并行接口芯片进行扩展用可编程并行接口芯片进行扩展I/OI/O接口扩展常用芯片接口扩展常用芯片n5151单片机常用单片机常用I
8、/OI/O扩展芯片示于表扩展芯片示于表8-18-1。表表8-1 MCS-518-1 MCS-51单片机单片机I/OI/O扩展常用芯片扩展常用芯片第8章51单片机的IO扩展8.2.1 简单接口常用锁存器、缓冲器芯片简单接口常用锁存器、缓冲器芯片nI/OI/O口的简单扩展口的简单扩展p输出口输出口-利用锁存器扩展利用锁存器扩展p输入口输入口-利用缓冲器扩展利用缓冲器扩展n74LS37774LS377、74LS27374LS273、74LS24474LS244、74LS24574LS245第8章51单片机的IO扩展(1)74LS273n74LS27374LS273是一种带清除功能的是一种带清除功能的
9、8D8D触发器触发器n其内部结构如图其内部结构如图8-48-4所示所示n引脚分布如图引脚分布如图8-58-5所示所示n真值表见表真值表见表8-28-2所示所示1D1D8D8D为数据输入端为数据输入端1Q1Q8Q8Q为数据输出端,正脉冲触发,低电平清除,常用作为数据输出端,正脉冲触发,低电平清除,常用作8 8位地址锁存器位地址锁存器。第8章51单片机的IO扩展表表8-2 74LS2738-2 74LS273真值表真值表图图8.4 74LS2738.4 74LS273内部结构图内部结构图第8章51单片机的IO扩展图图8-5 74LS2738-5 74LS273封装图封装图第8章51单片机的IO扩展
10、 n74LS373是一种带有三态输出门的是一种带有三态输出门的8D触发器触发器n其内部结构如图其内部结构如图8-6所示所示n引脚分布如图引脚分布如图8-7所示所示数据输入由允许端数据输入由允许端G G控制控制数据输出由数据输出控制端控制数据输出由数据输出控制端控制各触发器仅输出单一状态各触发器仅输出单一状态D1D1D8D8为数据输入端为数据输入端Q1Q1Q8Q8为数据输出端为数据输出端n触发器的功能如表触发器的功能如表8-3所示所示n常用作数据常用作数据/地址锁存器地址锁存器第8章51单片机的IO扩展图图8-6 74LS3738-6 74LS373内部结构图内部结构图表表8-3 74LS373
11、8-3 74LS373真值表真值表第8章51单片机的IO扩展图图8-7 74LS3738-7 74LS373引脚功能图引脚功能图第8章51单片机的IO扩展n74LS24474LS244是三态八缓冲器是三态八缓冲器/ /线驱动器线驱动器/ /线接收器线接收器(3S(3S,两组控,两组控制制) )n内部结构逻辑图(见图内部结构逻辑图(见图8-88-8): :图图8-8 74LS2448-8 74LS244引脚功能图引脚功能图第8章51单片机的IO扩展n引出端符号引出端符号: :1A11A41A11A4,2A12A42A12A4:输入端输入端1G#, 2G#1G#, 2G#:三态允许端三态允许端(
12、(低电平有效低电平有效) )1Y11Y41Y11Y4,2Y12Y42Y12Y4:输出端输出端n真值表真值表: :(见表(见表8-48-4)表表8-4 74LS2448-4 74LS244真值表真值表第8章51单片机的IO扩展n74LS245: 874LS245: 8位双向位双向3 3态缓冲电路,主要用在数据的双向缓冲态缓冲电路,主要用在数据的双向缓冲n内部结构逻辑见图内部结构逻辑见图8-98-9图图8-9 74LS2458-9 74LS245引脚功能图引脚功能图第8章51单片机的IO扩展n74LS24574LS245的真值表见表的真值表见表8-58-5表表8-5 74LS2458-5 74LS
13、245真值表真值表第8章51单片机的IO扩展n 简单输入口扩展简单输入口扩展图图8-10 74LS2448-10 74LS244扩展输入接口电路扩展输入接口电路第8章51单片机的IO扩展n 简单输出口扩展简单输出口扩展图图8-11 74LS3778-11 74LS377扩展输出接口电路扩展输出接口电路第8章51单片机的IO扩展n 简单并行口扩展应用举例简单并行口扩展应用举例 图图8-12 74LS8-12 74LS系列扩展输入系列扩展输入/ /输出接口电路输出接口电路第8章51单片机的IO扩展n【例例8-18-1】 如图如图8-128-12所示为一个利用所示为一个利用74LS24474LS24
14、4和和74LS27374LS273芯片芯片,将,将P0P0口扩展成简单的输入口扩展成简单的输入/ /输出口的电路。输出口的电路。74LS24474LS244和和74LS27374LS273的工作受的工作受AT89S51AT89S51的的P2.0P2.0、RD#RD#、WR# 3WR# 3条控制线控制。条控制线控制。74LS24474LS244作为扩展输入口,作为扩展输入口,8 8个输入端分别接个输入端分别接8 8个按钮开关。个按钮开关。74LS27374LS273是是8D8D锁存器扩展输出口,接锁存器扩展输出口,接8 8个个LEDLED发光二极管,以显示发光二极管,以显示8 8个按钮开个按钮开
15、关状态。关状态。当某条输入口线的按钮开关按下时,该输入口线为低电平,读入单片机后当某条输入口线的按钮开关按下时,该输入口线为低电平,读入单片机后,其相应位为,其相应位为“0”0”,然后再将口线的状态经,然后再将口线的状态经74LS27374LS273输出,某位低电平时输出,某位低电平时二极管发光,从而显示出按下的按钮开关的位置。二极管发光,从而显示出按下的按钮开关的位置。 简单并行口扩展应用举例简单并行口扩展应用举例 第8章51单片机的IO扩展n该电路的工作原理如下该电路的工作原理如下当当P2.0=0P2.0=0,RD#=0RD#=0(WR#=1WR#=1)时,选中)时,选中74LS24474
16、LS244芯片,此时若无按钮开关按芯片,此时若无按钮开关按下,输入全为高电平。当某开关按下时则对应位输入为下,输入全为高电平。当某开关按下时则对应位输入为“0 0”,74LS24474LS244的的输入端不全为输入端不全为“1 1”,其输入状态通过,其输入状态通过P0P0口数据线被读入口数据线被读入AT89S51AT89S51片内。片内。当当P2.0=0P2.0=0,WR#=0WR#=0(RD#=1RD#=1)时,选中)时,选中74LS27374LS273芯片,芯片,CPUCPU通过通过P0P0口输出数据口输出数据锁存到锁存到74LS27374LS273,74LS27374LS273的输出端低
17、电平位对应的的输出端低电平位对应的LEDLED发光二极管点亮。发光二极管点亮。总之,在图总之,在图8-128-12中只要保证中只要保证P2.0P2.0为为“0”0”,其他地址位或,其他地址位或“0”0”或或“1”1”即即可。如地址用可。如地址用FEFFHFEFFH(无效位全为(无效位全为“1”1”),或用),或用0000H0000H(无效位全为(无效位全为“0”0”)都可。)都可。【例例8-1】 分析分析第8章51单片机的IO扩展输入程序段:输入程序段:MOV MOV DPTRDPTR,#0FEFFH#0FEFFH ;I/OI/O地址地址DPTRDPTRMOVX MOVX A A,DPTR D
18、PTR ;RD#RD#为低,为低,74LS24474LS244数据被读入数据被读入A A中中输出程序段:输出程序段:MOV MOV A A,#data#data;数据;数据#dataA#dataAMOV MOV DPTRDPTR,#0FEFFH#0FEFFH ;I/OI/O地址地址#0FEFFHDPTR#0FEFFHDPTRMOVXMOVXDPTRDPTR,A A;WR#WR#为低,数据经为低,数据经74LS27374LS273口输出口输出【例例8-1】 输入、输出程序输入、输出程序第8章51单片机的IO扩展程序如下:程序如下:DDISDDIS: MOV MOV DPTRDPTR,#0FEFF
19、H #0FEFFH ;输入口地址;输入口地址DPTRDPTRLPLP:MOVX MOVX A A,DPTRDPTR;按钮开关状态读入;按钮开关状态读入A A中中 MOVX MOVX DPTRDPTR,A A;A A中数据送显示输出口中数据送显示输出口 SJMP LP SJMP LP ;反复连续执行;反复连续执行由程序可看出,对于扩展接口的输入由程序可看出,对于扩展接口的输入/ /输出就像从外部输出就像从外部RAMRAM读读/ /写数据一样写数据一样方便。图方便。图8-128-12仅仅扩展了两片,如果仍不够用,还可扩展多片仅仅扩展了两片,如果仍不够用,还可扩展多片74LS24474LS244、7
20、4LS27374LS273之类的芯片。但作为输入口时,一定要求有三态功能,否则将影之类的芯片。但作为输入口时,一定要求有三态功能,否则将影响总线的正常工作。响总线的正常工作。【例例8-1】 程序编写程序把按钮开关状态通过图程序编写程序把按钮开关状态通过图8-12的发光二的发光二极管显示出来。极管显示出来。第8章51单片机的IO扩展n串口的方式串口的方式0 0用于用于I/OI/O扩展。方式扩展。方式0 0为同步移位寄存器工作方为同步移位寄存器工作方式,波特率为式,波特率为f foscosc/12/12。数据由。数据由RXDRXD端(端(P3.0P3.0)输入,同步移)输入,同步移位时钟由位时钟由
21、TXDTXD端(端(P3.1P3.1)输出。)输出。 用用74LS165扩展并行输入口扩展并行输入口n如图如图8-138-13,用,用5151单片机的串口扩展两个单片机的串口扩展两个8 8位并行输入口。位并行输入口。74LS16574LS165是是8 8位并行输入串行输出的寄存器。当位并行输入串行输出的寄存器。当74LS16574LS165的的S/L#S/L#端由高到低端由高到低跳变,并行输入端的数据被置入寄存器;跳变,并行输入端的数据被置入寄存器;当当S/L#=1S/L#=1,且时钟禁止端(,且时钟禁止端(1515脚)为低时,允许脚)为低时,允许TXDTXD(P3.1P3.1)移位时钟输)移
22、位时钟输入,在该脉冲作用下,数据由右向左方向移动。入,在该脉冲作用下,数据由右向左方向移动。第8章51单片机的IO扩展TXDTXD与所有与所有74LS16574LS165的的CPCP相连;相连;RXDRXD与与74LS16574LS165的串行输出端的串行输出端QHQH相连;相连;P1.0P1.0与与 S/L#S/L#相连,控制相连,控制74LS16574LS165的串行移位或并行输入;的串行移位或并行输入;1515脚接地,允许时钟输入。脚接地,允许时钟输入。当扩展多个当扩展多个8 8位输入口时,相邻两芯片的首尾(位输入口时,相邻两芯片的首尾(Q QH H与与SINSIN)相连。)相连。图图8
23、-13 8-13 利用利用74LS16574LS165扩展扩展1616位并行输入口位并行输入口第8章51单片机的IO扩展MOVMOVR7R7,#05H#05H;设置读入组数;设置读入组数 MOVMOVR0R0,#20H#20H;设置内部;设置内部RAMRAM数据区首址数据区首址STARTSTART: CLRCLRP1.0P1.0;并行置入数据,;并行置入数据,S/L#=0S/L#=0SETBSETBP1.0P1.0;允许串行移位,;允许串行移位,S/L#=1S/L#=1MOVMOVR2R2,#02H#02H;设每组字节数,即;设每组字节数,即74LS16574LS165的个数的个数RXDATA
24、RXDATA: MOVMOVSCONSCON,#00010000H#00010000H;设置串口方式;设置串口方式0 0,允许,允许;接收,启动接收过程;接收,启动接收过程WAITWAIT:JNBJNBRIRI,WAITWAIT;未接收完一帧,循环等待;未接收完一帧,循环等待 CLRCLRRIRI;RIRI标志清标志清“0”0”,准备下次接收,准备下次接收 MOVMOVA A,SBUFSBUF;读入数据;读入数据 MOVMOVR0R0,A A;送至;送至RAMRAM缓冲区缓冲区 INCINCR0R0;指向下一个地址;指向下一个地址 DJNZDJNZR2R2,RXDATARXDATA;未读完一组
25、数据,;未读完一组数据, 继续继续 DJNZDJNZR7R7,STARTSTART;5 5组数据未读完重新并行置入组数据未读完重新并行置入 ;对数据进行处理;对数据进行处理串行接收过程采用查询等待的方式,如必要,可改中断方式。串行接收过程采用查询等待的方式,如必要,可改中断方式。第8章51单片机的IO扩展n图图8-148-14为为5151单片机的串口外接两片单片机的串口外接两片74LS16474LS164(8 8位串入并出位串入并出移位寄存器)扩展两个移位寄存器)扩展两个8 8位并行输出口的接口电路。位并行输出口的接口电路。图图8-14 8-14 利用利用74LS16474LS164扩展扩展1
26、616位并行输出口位并行输出口第8章51单片机的IO扩展当串口工作在方式当串口工作在方式0 0的发送,串行数据由的发送,串行数据由P3.0P3.0(RXDRXD)送出,移位时钟由)送出,移位时钟由P3.1P3.1(TXDTXD)送出。)送出。注意,由于注意,由于74LS16474LS164无并行输出控制端,在串行输入中,其输出端的状态无并行输出控制端,在串行输入中,其输出端的状态会不断变化,故某些场合,在会不断变化,故某些场合,在74LS16474LS164输出端应加接输出三态门控制,以输出端应加接输出三态门控制,以便保证串行输入结束后再输出数据。便保证串行输入结束后再输出数据。用用74LS1
27、64扩展并行输出口扩展并行输出口第8章51单片机的IO扩展STARTSTART:MOVMOVR7R7,#02H#02H;设置要发送的字节个数;设置要发送的字节个数 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 R
28、0R0;取下一个数;取下一个数DJNZ R7DJNZ R7,SEND SEND ;未发完,继续,从子程序返回;未发完,继续,从子程序返回RETRET【例例8-38-3】将内部将内部RAMRAM单元单元30H30H、31H31H的内容经串行口由的内容经串行口由74LS16474LS164并并行输出的子程序。行输出的子程序。第8章51单片机的IO扩展8.4.1 利用可编程并行接口芯片利用可编程并行接口芯片8255的的I/O扩展扩展n 常用的外围常用的外围I/OI/O接口芯片:接口芯片: 82C5582C55:可编程通用并行接口(:可编程通用并行接口(3 3个个8 8位位I/OI/O口)。口)。 8
29、1C5581C55:可编程的:可编程的IO/RAMIO/RAM扩展接口电路(扩展接口电路(2 2个个8 8位位I/OI/O口,口,1 1个个6 6位位I/OI/O口,口,256RAM256RAM单元,单元,1 1个个1414位的减法计数器)。位的减法计数器)。n 都可以和都可以和AT89S51AT89S51直接连接,接口逻辑简单。直接连接,接口逻辑简单。第8章51单片机的IO扩展图图8-15 82558-15 8255的内部结构框图的内部结构框图第8章51单片机的IO扩展图图8-16 82558-16 8255的扩展逻辑电路图的扩展逻辑电路图nMCS-51MCS-51单片机可以和单片机可以和8
30、2558255直接连接,图直接连接,图8-168-16给出了一种扩展电路。给出了一种扩展电路。 第8章51单片机的IO扩展【例例8-48-4】82558255与与80318031连接如图连接如图8-178-17所示,要求:所示,要求:n试确定试确定8255A8255A的端口地址的端口地址n欲使欲使A A口口: : 方式方式0 0,输出口;,输出口;B B口口: :方式方式1 1,输入口;,输入口; 上上C C口口: :方式方式0 0,输出。编写初始化程序,输出。编写初始化程序n欲使欲使80518051内部内部RAM30HRAM30H的内容从的内容从PAPA口输出,试编程。口输出,试编程。 欲使
31、欲使PC7PC7向外输出一个正脉冲信号,试编程。向外输出一个正脉冲信号,试编程。第8章51单片机的IO扩展图图8-17 82558-17 8255与与80318031连接图连接图第8章51单片机的IO扩展【例例8-48-4】解答解答P2P2 P0 P0 0 0, ,0 0 0 0 A A口:口:7FFCH(0000H)7FFCH(0000H)0 0, ,0 10 1B B口:口:7FFDH(0001H)7FFDH(0001H)0 0, ,1 01 0C C口:口:7FFEH(0002H)7FFEH(0002H)0 0, ,1 11 1控制口:控制口:7FFFH(0003H)7FFFH(0003
32、H)MOVMOVDPTR ,#7FFFHDPTR ,#7FFFH;控制口地址;控制口地址MOVMOVA ,#86HA ,#86H;方式字:;方式字:10000110B=86H10000110B=86HMOVXMOVXDPTR ,A DPTR ,A 初始化编程初始化编程确定地址确定地址 程序段程序段MOVMOVA,30HA,30HMOVMOVDPTR,#7FFCHDPTR,#7FFCHMOVXMOVXDPTR,ADPTR,A 程序段程序段MOVMOVDPTR,#7FFFHDPTR,#7FFFHMOVMOVA,#86HA,#86H;设工作方式;设工作方式MOVXMOVXDPTR,ADPTR,AMO
33、VMOVA,#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=0MOVX MOVX DPTR,ADPTR,AACALL ACALL DELAY2DELAY2;延时;延时【例例8-48-4解答解答】【例例8-58-5】 设单片机通过
34、设单片机通过82558255来控制一顺序控制过程,该系统连来控制一顺序控制过程,该系统连接如图接如图8-188-18,A A口输出口输出6 6路顺序控制信号,以指示灯指示,路顺序控制信号,以指示灯指示,6 6道工道工序,每道工序时间为序,每道工序时间为1010秒。秒。PC0PC0输入启动信号,输入启动信号,PC7PC7输入停止信号,输入停止信号,分别与分别与SA1SA1和和SA2SA2相连。试编写此应用程序。相连。试编写此应用程序。图图8-18 8255A8-18 8255A的应用举例的应用举例第8章51单片机的IO扩展(2 2)端口的工作方式为方式)端口的工作方式为方式0 0,A A口为输出
35、口,口为输出口,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-58-5】解答解答ORG 0100HORG 0100HMAMA:MOVMOVDPTRDPTR,#0FCFFH#0FCFFH;控制寄存器地址;控制寄存器地址MO
36、VMOVA 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 #0FCFCH ; A A口地址口地址MOVMOVA A,#01H #01H ;第一路控制信号;第一路控制信号LOOP1LOOP1:MOVX MOVX DPT
37、RDPTR,A A ;输出第一路控制信号;输出第一路控制信号ACALLACALLDELAY DELAY ;延迟;延迟1010秒秒RLRLA A ;下一路控制信号;下一路控制信号JNBJNBACC.6ACC.6,LOOP1 LOOP1 ;判断;判断6 6路控制信号有无输出完路控制信号有无输出完第8章51单片机的IO扩展MOVMOVDPTRDPTR,#0FCFEH #0FCFEH ;C C口地址口地址MOVXMOVXA A,DPTR DPTR ;读;读C C口口JB JB ACC.7ACC.7,TZ TZ ;判断有无停止信号;判断有无停止信号JMPJMPLOOP LOOP ;无停止信号则进行下一轮
38、控制;无停止信号则进行下一轮控制TZTZ: MOVMOVDPTRDPTR,#0FCFCH #0FCFCH ;有停止信号则使;有停止信号则使A A口输出清零口输出清零CLRCLRA AMOVXMOVXDPTRDPTR,A ASJMPSJMP$ $ORGORG1000H 1000H ;延时子程序;延时子程序DELAYDELAY:MOVMOV22H22H,#50H#50HL1L1:MOV MOV 21H21H,#100H#100HL2L2:MOVMOV20H20H,#250H#250HL3L3:NOPNOPNOPNOPDJNZDJNZ20H20H,L3L3DJNZDJNZ21H21H,L2L2DJN
39、ZDJNZ22H22H,L1L1RETRET第8章51单片机的IO扩展n 8155的结构的结构n8155芯片内部逻辑由三部分组成:芯片内部逻辑由三部分组成: 存储单元为存储单元为256256字节静态字节静态RAMRAM三个可编程三个可编程I/OI/O口:口:PAPA口,口,8 8位位PBPB口,口,8 8位位PCPC口,口,6 6位位 1414位二进制减法计数器位二进制减法计数器第8章51单片机的IO扩展图图8-19 81558-19 8155芯片的内部结构芯片的内部结构第8章51单片机的IO扩展n81558155芯片芯片4040引脚,采引脚,采用双列直插式封装,如用双列直插式封装,如图图8-
40、208-20所示。所示。n81558155芯片的引脚功能芯片的引脚功能见表见表8-68-6图图8-20 81558-20 8155芯片的引脚芯片的引脚第8章51单片机的IO扩展PA0PA7PA0PA7端口端口A A的的I/OI/O线(线(8 8位,接外设)位,接外设)PB0PB7PB0PB7端口端口B B的的I/OI/O线(线(8 8位,接外设)位,接外设)PC0PC5PC0PC5端口端口C C的的I/OI/O线(线(6 6位,接外设)位,接外设)AD0AD7AD0AD7三态地址三态地址/ /数据复用线(数据复用线(8 8位,一般接单片机位,一般接单片机P0P0口)口)CPUCPU与与8155
41、8155之间的地址、数据、命令、状态等信号通过它来传送之间的地址、数据、命令、状态等信号通过它来传送IO/M#IO/M#端口端口/ /存储器存储器 选择控制:选择控制: “0”0”选择片内选择片内RAMRAM; “1” “1”选择片内选择片内I/OI/O口口TIMER INTIMER IN81558155片内定时器片内定时器/ /计数器的计数脉冲输入引脚计数器的计数脉冲输入引脚TIMER OUTTIMER OUT81558155片内定时器片内定时器/ /计数器的计满回零输出引脚计数器的计满回零输出引脚RD#RD#、WR#WR#分别是对分别是对81558155片内的片内的RAMRAM或或I/OI
42、/O口的的读、写控制信号口的的读、写控制信号ALEALE地址锁存引脚地址锁存引脚CE#CE#选片选片RESETRESET复位信号。复位后复位信号。复位后A A口、口、B B口和口和C C口均为数据输入方式口均为数据输入方式第8章51单片机的IO扩展n81558155各引脚功能如下各引脚功能如下p地址地址/ /数据线数据线AD7AD7AD0AD0,与,与AT89S51AT89S51单片机的单片机的P0P0口相连,用于分时传送地址口相连,用于分时传送地址/ /数据信息。数据信息。pI/OI/O总线(总线(2222条)条)PA7PA7PA0PA0为通用为通用I/OI/O线,数据传送方向由写入线,数据
43、传送方向由写入81C5581C55的命令字决定(的命令字决定(图图9-139-13););PB7PB7PB0PB0为通用为通用I/OI/O线,用于传送线,用于传送PBPB口上的外设数据,数据传送方向也由口上的外设数据,数据传送方向也由写入写入81C5581C55的控制字决定。的控制字决定。PC5PC5PC0PC0为数据为数据/ /控制线,共有控制线,共有6 6条,在通用条,在通用I/OI/O方式下,用作传送方式下,用作传送I/OI/O数据数据;在选通;在选通I/OI/O方式下,用作传送命令方式下,用作传送命令/ /状态信息(见表状态信息(见表9-39-3)。)。8155的引脚功能的引脚功能第8
44、章51单片机的IO扩展p控制引脚控制引脚RESETRESET:复位输入线,在:复位输入线,在RESETRESET线上输入一个大于线上输入一个大于600ns600ns宽的正脉冲时,宽的正脉冲时,81C5581C55即可处于复位状态,即可处于复位状态,PAPA、PBPB、PCPC三口也定义为输入方式。三口也定义为输入方式。CE#CE#:片选线,若:片选线,若CE#=0CE#=0,则,则AT89S51AT89S51单片机选中本单片机选中本81C5581C55工作,否则,本工作,否则,本81C5581C55未被选中。未被选中。IO/M#IO/M#:I/OI/O端口或端口或RAMRAM存储器选择线。若存
45、储器选择线。若IO/M#=0IO/M#=0,则,则AT89S51AT89S51单片机选中单片机选中81C5581C55片内的片内的RAMRAM存储器;若存储器;若IO/M#=1IO/M#=1,则,则AT89S51AT89S51单片机选中单片机选中81C5581C55的某一的某一I/OI/O端口。端口。RD#RD#:读控制。当:读控制。当RD#=0RD#=0且且WR#=1WR#=1时,时,81C5581C55为读出数据状态;为读出数据状态;WR#WR#:写控制。当:写控制。当WR#=0WR#=0且且RD#=0RD#=0时,时,81C5581C55为写入数据状态。为写入数据状态。8155的引脚功能
46、的引脚功能第8章51单片机的IO扩展p控制引脚控制引脚ALEALE:允许地址输入线,高有效。若:允许地址输入线,高有效。若ALE=1ALE=1,则,则81C5581C55允许允许AT89S51AT89S51通过通过AD7AD7AD0AD0线发出地址锁存到线发出地址锁存到81C5581C55片内片内“地址锁存器地址锁存器”;否则,;否则,81C5581C55地址锁存器地址锁存器处于封锁状态。处于封锁状态。81C5581C55的的ALEALE常和常和AT89S51AT89S51的的ALEALE相连。相连。TIMERINTIMERIN:计数器脉冲输入线,输入的脉冲上跳沿用于对:计数器脉冲输入线,输入
47、的脉冲上跳沿用于对81C5581C55片内的片内的1414位位计数器减计数器减1 1。TIMEROUTTIMEROUT:计数器输出线,当:计数器输出线,当1414位计数器减为位计数器减为0 0时就可以在该引线上输出脉时就可以在该引线上输出脉冲或方波,输出脉冲或方波与所选的计数器工作方式有关。冲或方波,输出脉冲或方波与所选的计数器工作方式有关。p电源线电源线VCCVCC为为+5V+5V电源输入线电源输入线VSSVSS接地。接地。8155的引脚功能的引脚功能第8章51单片机的IO扩展n8155 8155 的的RAM RAM 单元地址单元地址81558155有有256256个个RAMRAM单元,使用
48、单元,使用AD7AD7AD0AD0,共,共8 8位地址线进行编址;位地址线进行编址;RAMRAM地址:(当地址:(当IO/M#IO/M#加低电平)此时加低电平)此时AD0AD0AD7AD7上得到的编码值即是上得到的编码值即是81558155的某一的某一RAMRAM单元的地址,地址范围是单元的地址,地址范围是00H00HFFHFFH。n81558155共有共有6 6 个可编址的个可编址的I/OI/O端口,这端口,这 6 6 个端口是:个端口是: 命令状态寄存器;命令状态寄存器; PA PA口;口; PB PB口;口; PCPC口;口; 定时器计数定时器计数器低器低8 8位;位; 定时器计数器高定
49、时器计数器高8 8位位当当IO/M#IO/M#加高电平,选中加高电平,选中I/OI/O端口。端口。81558155只使用只使用AD2AD2AD0AD0对对I/OI/O端口编址。端口编址。81558155的的I/OI/O端口地址编码见表端口地址编码见表8-78-7第8章51单片机的IO扩展表表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 1
50、1 1C C口口1 10 00 0定时器定时器/ /计数器低计数器低8 8位位1 10 01 1定时器定时器/ /计数器高计数器高8 8位位第8章51单片机的IO扩展(1)8155内部内部RAM的使用:的使用:当当IO/M#IO/M#加低电平时,对片内加低电平时,对片内256B RAM256B RAM单元进行读单元进行读/ /写。与一般外部数据写。与一般外部数据存储器的使用基本一样,唯一区别是事先要使存储器的使用基本一样,唯一区别是事先要使IO/M#IO/M#为低电平。为低电平。(2)8155的的I/O口的使用:口的使用:当当IO/M#IO/M#加高电平时,对加高电平时,对I/OI/O口访问。
51、口访问。81558155的的3 3个个I/OI/O口,分别称为口,分别称为PAPA口、口、PBPB口和口和PCPC口。口。PAPA口和口和PBPB口是口是8 8位通用数据口,主要用于数据传送。位通用数据口,主要用于数据传送。PCPC口为口为6 6位口,既可作为数据位口,既可作为数据I/OI/O口,还可作为控制口,用于传送控制信口,还可作为控制口,用于传送控制信号和状态信号,对号和状态信号,对PAPA和和PBPB的的I/OI/O操作进行控制;操作进行控制;PAPA、PBPB、PCPC各端口可工作于不同的工作方式,它们靠设置工作命令字来各端口可工作于不同的工作方式,它们靠设置工作命令字来确定,使用
52、前要进行初始化(写命令字到命令口)。确定,使用前要进行初始化(写命令字到命令口)。第8章51单片机的IO扩展n81558155的的I/OI/O口可以用基本口可以用基本I/OI/O方式和选通(或中断)方式和选通(或中断)I/OI/O方方式传送数据。式传送数据。p基本基本I/OI/O(即无条件传送)方式。(即无条件传送)方式。在该方式下无须联络信号,在该方式下无须联络信号,PAPA、PBPB、PCPC三口均可独立当数据口,输入三口均可独立当数据口,输入/ /输输出数据。出数据。p选通选通I/OI/O方式(或中断方式)方式(或中断方式)PAPA口和口和PBPB口可工作于选通(或中断)方式传送数据,此
53、时口可工作于选通(或中断)方式传送数据,此时PCPC口为联络口口为联络口,提供联络信号。,提供联络信号。pPCPC口四种工作方式:口四种工作方式:方式方式1 1(ALTALT1 1):):PAPA口和口和PBPB口基本输入口基本输入/ /输出,输出,PCPC口输入口输入方式方式2 2(ALT2ALT2):PAPA口和口和PBPB口基本输入口基本输入/ /输出,输出,PCPC口输出口输出方式方式3 3(ALT3ALT3):PAPA口选通输入口选通输入/ /输出,输出,PBPB口基本输入口基本输入/ /输出输出方式方式4 4(ALT4ALT4):PAPA口和口和PBPB口选通输入口选通输入/ /输
54、出输出第8章51单片机的IO扩展p当以基本当以基本I/OI/O方式传送数据时,无需联络信号,此时,方式传送数据时,无需联络信号,此时,PAPA、PBPB、PCPC皆可进行数据的输入皆可进行数据的输入/ /输出;输出;p当当PAPA或或PBPB以选通(中断)方式进行数据传送时,所需的联络以选通(中断)方式进行数据传送时,所需的联络信号由信号由 PC PC 提供:提供:*PCPC2 2PCPC0 0是为是为PAPA口提供;口提供;PCPC5 5PCPC3 3是为是为PBPB口提供口提供p联络信号共有三个:联络信号共有三个:*INTRINTR:中断请求信号(输出),高电平有效,送给:中断请求信号(输
55、出),高电平有效,送给C51C51的外中断请求。的外中断请求。*BFBF:缓冲器满信号(输出),高电平有效。:缓冲器满信号(输出),高电平有效。*STB#STB#:选通信号(输入),低电平有效。数据输入时,:选通信号(输入),低电平有效。数据输入时,STB#STB#是外设送来是外设送来的选通信号;数据输出时,的选通信号;数据输出时,STB#STB#是外设送来的应答信号。是外设送来的应答信号。*以上各信号由以上各信号由PCPC口的引脚承担,其的信号定义见表口的引脚承担,其的信号定义见表8-88-8第8章51单片机的IO扩展基本基本I/OI/O方式方式选通选通I/OI/O方式方式方式方式1 1(A
56、LTALT1 1)方式方式2 2 (ALTALT2 2)方式方式3 3 (ALTALT3 3)方式方式4 4 (ALTALT4 4)PC0PC0输入输入输出输出A A口中断请求口中断请求(AINTR)AINTR)A A口中断请求口中断请求(AINTR)AINTR)PC1PC1输入输入输出输出A A口缓冲器满口缓冲器满(ABFABF)A A口缓冲器满口缓冲器满(ABFABF)PC2PC2输入输入输出输出A A口选通口选通(ASTB#ASTB#)A A口选通口选通(ASTB#ASTB#)PC3PC3输入输入输出输出输出输出B B口中断请求口中断请求(BINTR)BINTR)PC4PC4输入输入输出
57、输出输出输出B B口缓冲器满口缓冲器满(BBFBBF)PC5PC5输入输入输出输出输出输出B B口选通口选通(BSTB#)BSTB#)第8章51单片机的IO扩展设备数据线设备数据线设备数据线设备数据线至中断请求输入线至中断请求输入线至设备至设备来自设备来自设备至中断请求输入线至中断请求输入线至设备至设备来自设备来自设备AINTRBINTRABFBBFASTBBSTBPAPB8155PC0PC1PC2PC3PC4PC5图图8-21 81558-21 8155在方式在方式4 4时时PCPC口各引脚信号定义口各引脚信号定义第8章51单片机的IO扩展n 选通选通I/OI/O方式说明方式说明p选通选通I
58、/OI/O方式又可分为选通方式又可分为选通I/OI/O数据输入和选通数据输入和选通I/OI/O数据输出数据输出两种方式。两种方式。选通选通I/OI/O数据输入数据输入PAPA口和口和PBPB口都可设定为本方式。本工作方式和口都可设定为本方式。本工作方式和82C5582C55的选通的选通I/OI/O输入情况输入情况类似,如图类似,如图8-228-22(a a)所示。)所示。选通选通I/OI/O数据输出数据输出PAPA口和口和PBPB口都可设定为本方式。选通口都可设定为本方式。选通I/OI/O数据的输出过程也和数据的输出过程也和82C5582C55的选的选通通I/OI/O输出情况类似,图输出情况类
59、似,图8-228-22(b b)所示为选通)所示为选通I/OI/O数据输出的示意图。数据输出的示意图。图图8-22 8-22 选通选通I/OI/O方式示意图方式示意图第8章51单片机的IO扩展n定时器计数器的计数结构定时器计数器的计数结构 8155 8155 的定时器计数器是一个的定时器计数器是一个 14 14 位的减法计数器,由两个低位的减法计数器,由两个低8 8位计数位计数器器TLTL(04H04H)和高)和高8 8为计数器为计数器THTH(05H05H)构成。)构成。计数器的格式如图计数器的格式如图8-238-23所示。其中,所示。其中,T13T13T0T0为计数器的计数位;为计数器的计
60、数位;M2M2、M1M1用来设置计数器的输出方式。用来设置计数器的输出方式。 D7D6D5D4D3D2D1D0T7T6T5T4T3T2T1T0D7D6D5D4D3D2D1D0M2M1T13T12T11T10T9T8输出方式输出方式计数器高计数器高6位位TH(05H)低低8位计数器位计数器TL(04H)图图8-23 81558-23 8155计数器格式计数器格式第8章51单片机的IO扩展81C5581C55计数器的计数器的4 4种工作方式及对应的引脚输出波形如图种工作方式及对应的引脚输出波形如图8-248-24所示。所示。图图8-24 81C558-24 81C55的定时器的定时器/ /计数器的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年十八项医疗核心制度考试试题库及参考答案
- 辽宁省沈阳市康平县2024-2025学年八年级下学期期末语文试题(解析版)
- 小学技术考试试题及答案
- 2025培训中心合作协议模板
- 2025授权代理协议书全新版
- 2025劳动合同解除证明书电子版
- 搬运作业培训课件
- 搜寻动人事课件
- 2025执业医师合同范本
- 时政面试全攻略:如何应对最近时政面试题
- GB/T 2820.12-2002往复式内燃机驱动的交流发电机组第12部分:对安全装置的应急供电
- 设备基础知识-动设备课件
- GB/T 12599-2002金属覆盖层锡电镀层技术规范和试验方法
- 2023年哈尔滨市动力区法院书记员招聘笔试模拟试题及答案解析
- 2023年西安陕鼓动力股份有限公司招聘笔试题库及答案解析
- JG-017结构实体位置与尺寸偏差检测作业指导书
- 压铸件常见问题-气孔
- 放射源辐射事故专项应急预案
- 景观工程工作流程解读(PPT)
- 走近数字PCR学习培训课件
- 群控系统试运行及调试方案
评论
0/150
提交评论