《教学课件第9章MCS51单片机IO接口的扩展》由会员分享,可在线阅读,更多相关《教学课件第9章MCS51单片机IO接口的扩展(29页珍藏版)》请在金锄头文库上搜索。
1、第9章 MCS-51单片机I/O接口的扩展9.1 I/O9.1 I/O口扩展概述口扩展概述9.2 9.2 扩展可编程并行扩展可编程并行I/OI/O芯片芯片8255A8255A9.3 9.3 扩展可编程扩展可编程RAM/IORAM/IO芯片芯片8155H8155H9.4 9.4 用锁存器缓冲器扩展并行用锁存器缓冲器扩展并行I/OI/O口口9.5 9.5 用用MCS-51MCS-51的串行口扩展并行口的串行口扩展并行口退出退出9.1 I/O口扩展概述8255: PA (8位) 、PB (8位) 、PC (8位) 命令/状态口 8155: 命令/状态口、 PA (8位) 、PB (8位) PC (6
2、位)、14位减法计数器、256字节RAM8253: 3个16位定时计数器8279: 键盘显示器接口芯片74LS373,377,244,245:锁存器74LS164、CD4094、74LS165、CD40149.2 扩展可编程并行I/0芯片8255APA (8PA (8位位) ) 、PB (8PB (8位位) ) 、PC (8PC (8位位) )命令命令/ /状态口状态口9.2.1 8255A9.2.1 8255A的结构和工作方式的结构和工作方式一、一、8255A8255A的引脚及组成结构的引脚及组成结构二、二、8255A8255A的工作方式及选择的工作方式及选择1. 1.方式选择控制字,方式选
3、择控制字,2. 2.有三种工作方式:有三种工作方式:方式方式0 0:基本输入输出方式;基本输入输出方式;方式方式1 1:选通输入输出方式;选通输入输出方式;方式方式2 2:双向传送方式双向传送方式( (仅仅A A口口) )2. C 2. C 口按位置位口按位置位/ /复位控制字复位控制字9.2.2 8031单片机同8255A的接口及应用一、一、80318031单片机与单片机与8255A8255A的接口电路如图所示。的接口电路如图所示。 PA:FF7CH PB:FF7DH PC:7EH PA:FF7CH PB:FF7DH PC:7EH 命令命令/ /状态状态:FF7FH:FF7FHA口、B口、C
4、口和控制寄存器单元地址分别为7FFCH、7FFDH、7FFEH和7FFFH。利用8255进行I/O扩展,使端口A、B、C都工作于方式0且均为输出方式,并从端口A输出一个数据,之后将PC3置为1 MOV DPTR, #7FFFH ;地址指向8255控制口MOV A, #80H ;设端口A、B、C设为方 式0的输出方式MOVX DPTR, A ;写入控制字MOV DPTR, #7FFCH ;地址指向8255端口AMOV A, #00H ;输出数据#00H传入累加器AMOVX DPTR, A ;向端口A写入数据MOV DPTR, #7FFFH ;地址指向8255控制口MOV A, #07H ;设控制
5、字,将PC3口置为1MOVX DPTR, A ;写入控制字 例9-3 在MCS-51单片机组成的系统中,如果需配接打印机,可用8255A作为接口芯片。 许多打印机都采用Centronic标准接口,这种标准接口的接口信号说明如下: DB0-DB7:数据线,单向接收; /DSTB:数据选通信号,输入; BUSY:忙信号,输出; /ACK:应答信号,输出。MCS-51单片机通过8255A与打印机的接口电路及打印机时序如图。PRINT:MOV R0,#7FH ;控制口地址送入R0 MOV A,#81H ;控制字送入A MOVX R0,A ;控制字送人控制口 MOV R1,#3FH ;RAM单元首地址送
6、R1 MOV R2,#0FH ;R2作计数器用LOOP: MOV A,R1 ;RAM单元中内容送A INC R1 ;指向下一个RAM单元 MOV R0,#7CH ;端口A地址送R0 MOVX R0,A ;A中内容送端口A,并锁存 MOV R0,#7FH ;控制口地址送入R0 MOV A,#0EH ;PC7的复位控制字送A MOVX R0,A ;PC70 MOV A,#0FH ;R2的置位控制字送A MOVX R0,A ;PC7由0变1LOOP1:MOV R0,#7EH ;端口C地址送R0 MOVX A,R0 ;读入口C的值 ANL A,#01H ;检测BUSY状态 JNZ LOOP1 ;BUS
7、Y=1跳转LOOP1 DJNZ R2,LOOP ;BUSY=0,未打完循环 9.3 扩展可编程RAM/IO芯片8155H8155: 256BRAM、命令/状态口、 PA (8位) 、PB (8位) 、PC (6位)、14位减法计数器9.3.1 8155H9.3.1 8155H的结构和工作方式的结构和工作方式一、一、8155H8155H的结构与引脚的结构与引脚地址总线:/CE=0IO/M=0, 256字节RAM: 00HFFHIO/M=1, I/O口。AD2AD1AD0寄存器000命令/状态口001A口(PA07)010B口(PB07)011C口(PC07)100定时器低8位101定时器高6位和
8、操作方式二、8155的I/O口工作方式及选择1. 1. 命令寄存器命令寄存器 81558155只只有有一一个个控控制制字字,命命令令寄寄存存器器决决定定A A口口、B B口口、C C口口和和定定时时器器/ /计计数数器器的的工工作作方方式式及及功功能能。其其位位格格式式为:为:PAPA:决决定定A A口口的的工工作作方方式式。PA=0PA=0,A A口口为为输输入入方式;方式;PA=1PA=1,A A口为输出方式。口为输出方式。PBPB:决决定定B B口口的的工工作作方方式式。PB=0PB=0,B B口口为为输输入入方式;方式;PB=1PB=1,B B口为输出方式。口为输出方式。PC2PC2、
9、PC1PC1:决定:决定PCPC口的工作方式。口的工作方式。PC2PC1 PC2PC1 (ALT1ALT1)=00=00,A A口口、B B口口为为基基本本输输入入/ /输出,输出,C C口为基本输入口;口为基本输入口;PC2PC1 PC2PC1 (ALT2ALT2)=01=01,A A口口、B B口口为为基基本本输输入入/ /输出,输出,C C口为基本输出口;口为基本输出口;PC2PC1 PC2PC1 (ALT3ALT3)=10=10,A A口口为为选选通通输输入入/ /输输出出口,口, B B口为基本输入口为基本输入/ /输出口;输出口;PC2PC1 PC2PC1 (ALT4ALT4)=1
10、1=11,A A口口、B B口口为为选选通通输输入入/ /输出口。输出口。 IEAIEA:A A口中断允许位。口中断允许位。IEA=1IEA=1允许允许A A口中断,口中断,IEA=0IEA=0禁禁止止A A口中断。口中断。 IEBIEB:B B口中断允许位。口中断允许位。IEB=1IEB=1允许允许B B口中断,口中断,IEB=0IEB=0禁禁止止B B口中断。口中断。 TM2TM2、TM1TM1:定时:定时/ /计数器命令。计数器命令。 TM2TM1=00TM2TM1=00,空操作,不影响计数器操作;,空操作,不影响计数器操作; TM2TM1=01TM2TM1=01,停止计数器计数;,停止
11、计数器计数; TM2TM1=10TM2TM1=10,定时,定时/ /计数器长度减为计数器长度减为0 0时停止计数;时停止计数; TM2TM1=11TM2TM1=11,连续方式,当计数器赋予初值后,立即,连续方式,当计数器赋予初值后,立即启动定时启动定时/ /计数器;若正在计数,则置新的方式和计数器;若正在计数,则置新的方式和长度,计数结束后按新的方式和新的时间常数计数。长度,计数结束后按新的方式和新的时间常数计数。2. 2. 状态寄存器状态寄存器状状态态寄寄存存器器由由7 7位位寄寄存存器器组组成成,其其中中6 6位位用用于于表表示示A A口口和和B B口口的的状状态态,1 1位位表表示示定定
12、时时/ /计计数数器器的的状状态。此寄存器为只读寄存器其位格式为:态。此寄存器为只读寄存器其位格式为:INTRAINTRA:A A口中断请求位。口中断请求位。BFABFA:A A口缓冲器满标志位。口缓冲器满标志位。INTEAINTEA:A A口中断允许位。口中断允许位。INTRBINTRB:B B口中断请求位。口中断请求位。BFBBFB:B B口缓冲器满标志位。口缓冲器满标志位。INTEBINTEB:B B口中断允许位。口中断允许位。TIMERTIMER:定时中断请求位。:定时中断请求位。3. PA3. PA寄存器寄存器4. PB4. PB寄存器寄存器5. PC5. PC寄存器寄存器 四、81
13、55的定时器 其中,其中,T0T0T14T14构成构成1414位计数器。定时位计数器。定时/ /计数计数器是递减计数器,对输入脉冲计数。当计数器器是递减计数器,对输入脉冲计数。当计数器计到计到0 0时,可从定时计数器的输出端输出一个时,可从定时计数器的输出端输出一个脉冲或方波。脉冲或方波。M2M1M2M1决定定时器的输出波形。决定定时器的输出波形。当当:M2M1=00M2M1=00时时,定定时时/ /计计数数器器的的输输出出波波形形为为单个方波;单个方波;M2M1=01M2M1=01时时,定定时时/ /计计数数器器的的输输出出波波形形为为连续方波;连续方波;M2M1=10M2M1=10时时,定
14、定时时/ /计计数数器器的的输输出出波波形形为为单个脉冲;单个脉冲;M2M1=00M2M1=00时时,定定时时/ /计计数数器器的的输输出出波波形形为为连续脉冲。连续脉冲。 8155 H与8031单片机的接口及应用8031单片机与并行接口8155的接口电路如图所示。 对8155地址分配如下: RAM地址:7E00H-7EFFHI/O口地址: 命令/状态寄存器的地址: 7F00HPA口的地址:7F01HPB口的地址: 7F02HPC口的地址: 7F03H定时器低8位的地址:7F04H定时器高8位的地址:7F05H设A口定义为基本输入方式,B口定义为基本输出方式,定时器作为方波发生器,对输入脉冲进
15、行24分频。81558155初始化参考程序如下:初始化参考程序如下:MOVMOV DPTR , #7F04H DPTR , #7F04H MOVMOV A , #18H A , #18H; 对计数器的低对计数器的低8 8位赋初值位赋初值 MOVX DPTR , AMOVX DPTR , A INCINC DPTR DPTR MOV A , #40H MOV A , #40H ; 设定定时器为连续方波输出设定定时器为连续方波输出 MOVX DPTR , AMOVX DPTR , A;装入定时器高;装入定时器高8 8位位 MOVMOV DPTR , #7F00HDPTR , #7F00H MOVM
16、OV A , #0C2HA , #0C2H;设定命令控制字,启动定时器;设定命令控制字,启动定时器 MOVXMOVXDPTR , ADPTR , A9.4 用锁存器缓冲器扩展并行I/0口 用锁存器扩展用锁存器扩展8 8位并行输出口位并行输出口74LS37774LS377扩展简单输出口的接口电路如下图扩展简单输出口的接口电路如下图7FFFH 用锁存器扩展选通输入的8位并行输入口0BFFFH MCS-51单片机与总线驱动器的接口74LS245是双向8位三态门缓冲器,当DIR为低电平时,A1A8的数据送至B1B8;当DIR为高电平时,B1B8的数据送至A1A8。由图可知,当/PSEN或/RD为低电平时,数据由外部设备输入至P0口;当/PSEN和/RD均为高电平时数据由总线P0口输出至外部设备。