单片机并行IO口的扩展.ppt

上传人:wuy****n92 文档编号:88515989 上传时间:2023-04-26 格式:PPT 页数:75 大小:5.39MB
返回 下载 相关 举报
单片机并行IO口的扩展.ppt_第1页
第1页 / 共75页
单片机并行IO口的扩展.ppt_第2页
第2页 / 共75页
点击查看更多>>
资源描述

《单片机并行IO口的扩展.ppt》由会员分享,可在线阅读,更多相关《单片机并行IO口的扩展.ppt(75页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第7 7章章 单片机并行单片机并行I/OI/O口的扩展口的扩展7.1 I/O7.1 I/O接口扩展概述接口扩展概述I/O(I/O(输入输入/输出输出)接口是接口是MCS-51MCS-51与外设与外设交换数字信交换数字信 息息的的桥梁桥梁。MCS-51MCS-51真正用作真正用作I/OI/O口线的口线的只有只有P1P1口的口的8 8位位I/OI/O线和线和 P3P3口的某些位线口的某些位线。在多数应用系统中,在多数应用系统中,MCS-51MCS-51单片机都需要外扩单片机都需要外扩I/OI/O接口电路。接口电路。7.1.1 I/O7.1.1 I/O口扩展的原因口扩展的原因1.I/O1.I/O信

2、息的组成信息的组成(1 1)数据信息)数据信息CPUCPU与外设交换的基本信息就是数据信息,数据的与外设交换的基本信息就是数据信息,数据的传送可采用并行传送(传送可采用并行传送(n n位同时传送)和串行传送位同时传送)和串行传送(一位一位地传送)两种形式。(一位一位地传送)两种形式。(2 2)状态信息)状态信息状态信息是指在状态信息是指在CPUCPU与外设之间交换数据时的联络与外设之间交换数据时的联络信息。信息。CPUCPU通过对外设状态信息的读取,可知其工通过对外设状态信息的读取,可知其工作状态。了解状态信息是作状态。了解状态信息是CPUCPU与与I/OI/O设备正确进行设备正确进行数据交换

3、的重要条件。数据交换的重要条件。(3 3)控制信息)控制信息控制信息指控制信息指CPUCPU发给外设命令信息,发给外设命令信息,CPUCPU通过发送通过发送控制信息控制外设的工作。控制信息控制外设的工作。2.I/O2.I/O口接口的作用口接口的作用 CPU CPU与与I/OI/O设备交换信息情况较为复杂,所以通常设备交换信息情况较为复杂,所以通常I/OI/O设备并不直接与设备并不直接与CPUCPU进行信息交换,而是通过相应进行信息交换,而是通过相应的输入的输入/输出接口(称为输出接口(称为I/OI/O接口)来进行的。接口)来进行的。I/OI/O接口接口是是CPUCPU和和I/OI/O设备之间进

4、行信息交换的中间环节,其主设备之间进行信息交换的中间环节,其主要功能如下:要功能如下:(1 1)对输入输出数据进行缓冲、隔离和锁存,实现速)对输入输出数据进行缓冲、隔离和锁存,实现速度匹配。度匹配。(2 2)完成信息格式的变换,如串并转换。)完成信息格式的变换,如串并转换。(3 3)实现电气特性的匹配。)实现电气特性的匹配。(4 4)选择设备或地址译码等。)选择设备或地址译码等。3.3.单片机单片机I/OI/O扩展的原因扩展的原因 I/O(I/O(输入输入/输出输出)接口是接口是MCS-51MCS-51与外设交换数字信息与外设交换数字信息的桥梁,的桥梁,MCS-51MCS-51系列单片机有系列

5、单片机有4 4个并行个并行I/OI/O口口(P0(P0,P1P1,P2P2,P3P3口口),但对一个稍微复杂的应用系统来说,由于,但对一个稍微复杂的应用系统来说,由于P0P0口和口和P2P2口配合使用用于系统扩展、口配合使用用于系统扩展、P3P3口是一个多功能口是一个多功能口每个引脚都具有第二功能,所以真正可供用户使用的口每个引脚都具有第二功能,所以真正可供用户使用的并行口,只有并行口,只有P1P1口,况且常常因扩展口,况且常常因扩展I2CI2C和和SPISPI等需占用等需占用P1P1口某些引脚,这使用户不得不扩展并行口以满足实际口某些引脚,这使用户不得不扩展并行口以满足实际的需要。因此,当在

6、的需要。因此,当在I/OI/O口线不够用的情况下我们需要口线不够用的情况下我们需要扩展并行扩展并行I/OI/O口。口。图7-1 并行接口连接CPU与外设示意图7.1.2 I/O7.1.2 I/O口数据的传递方式口数据的传递方式MCS-51MCS-51单片机为了实现数据的输入单片机为了实现数据的输入/输出传送,通常使输出传送,通常使用以下用以下4 4种方式传递数据。种方式传递数据。(1)(1)无无条条件件传传送送方方式式:当当外外设设和和单单片片机机能能够够同同步步工工作作时时,可可以以采采用用无无条条件件方方式式进进行行传传送送,即即数数据据可可以以随随时时进进行行传送。传送。(2)(2)查查

7、询询方方式式:查查询询方方式式又又称称为为有有条条件件传传送送方方式式,即即数数据据的的传传送送是是有有条条件件的的。在在进进行行I/OI/O操操作作之之前前,用用户户要要通通过过软软件件查查询询外外设设是是否否为为数数据据传传送送做做好好准准备备,只只有有确确认认外外设设为为数数据据传传送送做做好好准准备备。单单片片机机才才能能执执行行数数据据的的输输入入/输出(输出(I/OI/O)操作。)操作。(3)(3)中断方式:当外设和计算机进行数据交换时,中断方式:当外设和计算机进行数据交换时,外设向单片机发出中断请求。单片机接到中断请外设向单片机发出中断请求。单片机接到中断请求后,就作出响应,暂停

8、正在执行的程序,而转求后,就作出响应,暂停正在执行的程序,而转去为设备的数据输入去为设备的数据输入/输出服务。当服务完成后,输出服务。当服务完成后,程序返回,单片机再继续执行被中断的程序。程序返回,单片机再继续执行被中断的程序。(4)DMA(4)DMA方式:方式:DMA(Direct Memory AccessDMA(Direct Memory Access,直接,直接内存存取内存存取)中断方式虽提高了中断方式虽提高了CPUCPU的效率,但仍然的效率,但仍然是通过是通过CPUCPU执行程序来实现数据传送。其缺点是大执行程序来实现数据传送。其缺点是大量的数据在磁盘与内存间交换需大量的时间,高量的

9、数据在磁盘与内存间交换需大量的时间,高速速I/OI/O设备时或成组数据交换时,显得速度太慢。设备时或成组数据交换时,显得速度太慢。DMADMA方式就是在外设与内存间直接传送数据,方式就是在外设与内存间直接传送数据,DMADMA的速度取决于内存的工作速度。的速度取决于内存的工作速度。7.1.3 I/O7.1.3 I/O端口的编址方式端口的编址方式I/OI/O端口编址是给所有端口编址是给所有I/OI/O接口中的寄存器编址。接口中的寄存器编址。I/O I/O端口编址两种方式端口编址两种方式:独立编址独立编址与与统一编址统一编址。1 1独立编址方式独立编址方式 I/O I/O寄存器地址空间和存储器地址

10、空间寄存器地址空间和存储器地址空间分开编址分开编址,但需专门读写但需专门读写I/OI/O的指令和控制信号。的指令和控制信号。2 2统一编址方式统一编址方式 I/O I/O寄存器与数据存储器单元同等对待寄存器与数据存储器单元同等对待,统一编址。,统一编址。不需要专门的不需要专门的I/OI/O指令,直接使用访问数据存储器。指令,直接使用访问数据存储器。的指令进行的指令进行I/OI/O操作,简单、方便且功能强。操作,简单、方便且功能强。常用的外围常用的外围I/OI/O接口芯片有:接口芯片有:(1 1)82558255:可编程的通用并行接口电路(:可编程的通用并行接口电路(3 3个个8 8位位I/OI

11、/O口)。口)。(2 2)81558155:可编程的:可编程的IO/RAMIO/RAM扩展接口电路(扩展接口电路(2 2个个8 8位位I/OI/O口口,1,1个个6 6位位I/OI/O口口,256256个个RAMRAM字节单元,字节单元,1 1个个1414位的减法定时器位的减法定时器/计数器计数器)。)。可与可与MCS-51MCS-51单片机单片机直接连接直接连接,接口逻辑十分简单。,接口逻辑十分简单。此外,此外,74LS74LS系列的系列的TTLTTL电路电路也可以作为也可以作为MCS-51MCS-51的扩展的扩展I/OI/O口,如口,如74LS24474LS244、74LS273 74LS

12、273等。等。7.2 7.2 简单简单I/OI/O口的扩展口的扩展 简单简单I/O口的扩展是口的扩展是利用利用74LS27374LS273和和74LS24474LS244,将,将P0P0口扩展成简单的输入、输出口的电路口扩展成简单的输入、输出口的电路。如图如图7-27-2所示所示74LS27374LS273输出端接输出端接8 8个个LEDLED发光二极管,发光二极管,以以显示显示8 8个按钮开关状态个按钮开关状态,某位低电平时二极管发光。,某位低电平时二极管发光。74LS244 74LS244是缓冲驱动器,扩展输入口,是缓冲驱动器,扩展输入口,接接8 8个按钮开个按钮开关。关。74LS273

13、74LS273和和74LS24474LS244的工作受的工作受80318031的的P2.0P2.0、RDRD*、WRWR*三条控制线控制。三条控制线控制。电路的工作原理如下电路的工作原理如下:当当P2.0=0,WRP2.0=0,WR*=0(RD=0(RD*=)选中写选中写74LS27374LS273,80318031通过通过P0P0口输出数据到口输出数据到74LS27374LS273,;,;当当P2.0=0,RDP2.0=0,RD*=0(WR=0(WR*=1)=1)时选中读时选中读74LS244,74LS244,某开关某开关按下时则对应位输入为按下时则对应位输入为“0”“0”。图图7-2 7-

14、2 简单简单I/OI/O扩展实例扩展实例输出程序段:输出程序段:(1 1)汇编语言)汇编语言MOV A,#data MOV A,#data;数据;数据AAMOV DPTR,#0FEFFHMOV DPTR,#0FEFFH;I/OI/O地址地址DPTRDPTRMOVX DPTR,A MOVX DPTR,A;WRWR*为低,数据经为低,数据经74LS27374LS273口输出口输出(2 2)C C语言语言#define PORT XBYTE0 xFEFF#define PORT XBYTE0 xFEFF;A=data A=data;PORT=A PORT=A;输入程序段:输入程序段:(1 1)汇编语

15、言)汇编语言 MOV DPTR,#0FEFFH;I/O地址地址DPTR MOVX A,DPTR;RD*为低,为低,74LS244口,数口,数据读入内部据读入内部RAM(2 2)C C语言语言#define PORT XBYTE0 xFEFF;A=PORT;【例题【例题7-17-1】编写程序把按钮开关状态通过图】编写程序把按钮开关状态通过图7-27-2中的发光中的发光二极管显示出来。二极管显示出来。(1 1)汇编语言)汇编语言DDIS:DDIS:MOV DPTR,#0FEFFH MOV DPTR,#0FEFFH;输入口地址;输入口地址DPTRDPTRLP:LP:MOVX A,DPTR MOVX

16、A,DPTR ;按钮开关状态读入;按钮开关状态读入A A中中MOVX DPTR,AMOVX DPTR,A ;A A中数据送输出口中数据送输出口SJMP LP SJMP LP ;反复连续执行;反复连续执行(2 2)C C语言语言#define PORT XBYTE0 xFEFF#define PORT XBYTE0 xFEFF;whilewhile(1 1)A=PORTA=PORT;PORT=APORT=A;7.3 7.3 8255A可编程并行接口芯片扩展可编程并行接口芯片扩展I/OI/O口口8255A8255A芯片介绍:芯片介绍:8255A8255A是是IntelIntel公司生产的公司生产的

17、可编程可编程并行并行I/OI/O接口芯片,接口芯片,具有具有3 3个个8 8位位的的并行并行I/OI/O口口,3 3种工作方式种工作方式,可通过,可通过 编程改变其功能,因而编程改变其功能,因而使用灵活方便,通用性强使用灵活方便,通用性强。7.3.1.7.3.1.内部结构内部结构图7-3 8255A内部编程结构(1 1)端口)端口A A、B B、C C功能和结构上有些差异功能和结构上有些差异 PA PA口口:输出锁存和缓冲;输入锁存:输出锁存和缓冲;输入锁存 PB PB口口:输出锁存和缓冲;输入缓冲:输出锁存和缓冲;输入缓冲 PC PC口口:输出锁存;数据输入缓冲:输出锁存;数据输入缓冲 PC

18、 PC口可在软件的控制下,口可在软件的控制下,分为两个分为两个4 4位端口位端口,作为,作为PAPA口、口、PBPB口选通方式操作时的状态控制信号。口选通方式操作时的状态控制信号。(2)A(2)A组和组和B B组控制电路组控制电路A A组:组:PAPA口和口和PCPC口的上半部(口的上半部(PC7PC7PC4PC4););B B组:组:PBPB口和口和PCPC口的下半部(口的下半部(PC3PC3PC0PC0),可根据可根据“命命 令字令字”对对PCPC口口按位按位“置置1”1”或或“清清0”0”。(3)(3)数据总线缓冲器线线数据总线缓冲器线线 三态双向,作为三态双向,作为8255A8255A

19、与单片机数据线之间接口,与单片机数据线之间接口,传送数据、指令、控制命令及外部状态信息。传送数据、指令、控制命令及外部状态信息。(4)(4)读读/写控制逻辑电路线写控制逻辑电路线 该电路接收该电路接收CPUCPU发来的控制信号、发来的控制信号、RESETRESET、地址信、地址信号号A1A1、A0A0等。对端口进行读写。等。对端口进行读写。各端口的工作状态与控制信号的关系各端口的工作状态与控制信号的关系如表如表7-17-1所示。所示。表表7-1 8255A7-1 8255A端口工作状态选择端口工作状态选择A1A1A0A0RDRD*WRWR*CSCS*工作状态工作状态0 00 00 01 10

20、0读端口读端口A A:A A口数据口数据数据总线数据总线读端口读端口B B:B B口数据口数据数据总线数据总线 读端口读端口C C:C C口数据口数据数据总线数据总线0 01 10 01 10 01 10 00 01 10 00 00 01 10 00 0写端口写端口A A:总线数据总线数据AA口口写端口写端口B B:总线数据总线数据BB口口写端口写端口C C:总线数据总线数据CC口口写控制字:写控制字:总线数据总线数据控制字寄控制字寄 存器存器0 01 11 10 00 01 10 01 10 00 01 11 11 10 00 01 1数据总线为三态数据总线为三态1 11 10 01 10

21、 0非法状态非法状态1 11 10 0数据总线为三态数据总线为三态图7-4 8255A芯片引脚图7.3.2 7.3.2 引脚功能引脚功能D7D7D0D0:三态双向数据线,与单片机数据总线连接三态双向数据线,与单片机数据总线连接CSCS*:片选信号线,低电平有效,表示本芯片被选中片选信号线,低电平有效,表示本芯片被选中RDRD*:读出信号线,控制读出信号线,控制8255A8255A中数据的读出高中数据的读出高WRWR*:写入信号线,控制向写入信号线,控制向8255A8255A数据的写入。数据的写入。VccVcc:+5V+5V电源。电源。PA7PA7PA0PA0:A A口输入口输入/输出线。输出线

22、。PB7PB7PB0PB0:B B口输入口输入/输出线。输出线。PC7PC7PC0PC0:C C口输入口输入/输出线。输出线。A1A1、A0A0:地址线,用来选择地址线,用来选择8255A8255A内部的内部的4 4个端口。个端口。7.3.3 8255A7.3.3 8255A的三种工作方式的三种工作方式1.1.方式方式0 0基本的输入基本的输入/输出方式。输出方式。外设的外设的I/OI/O数据可在数据可在8255A8255A的各端口得到锁存和缓冲的各端口得到锁存和缓冲MCS-51MCS-51可对可对8255A8255A进行数据的进行数据的无条件传送。无条件传送。例如例如:从口线从口线读入一组开

23、关状态读入一组开关状态,向端口输出数字量,向端口输出数字量,控制一组指示灯的亮、灭。控制一组指示灯的亮、灭。不需要联络信号不需要联络信号,基本功能为:基本功能为:(1 1)具有两个)具有两个8 8位端口(位端口(A A、B B)和两个)和两个4 4位端口(位端口(C C的上半部分和下半部分)。的上半部分和下半部分)。(2 2)任一个端口都可以设定为输入或输出,各端口)任一个端口都可以设定为输入或输出,各端口的输入、输出可构成的输入、输出可构成1616种组合。种组合。(3 3)数据输出锁存,输入不锁存。)数据输出锁存,输入不锁存。例例 假设假设8255A8255A的的控制字寄存器地址控制字寄存器

24、地址为为FF7FHFF7FH,则令,则令A A口口和和C C口的高口的高4 4位工作在方式位工作在方式0 0输出,输出,B B口和口和C C口的低口的低4 4位位工作于方式工作于方式0 0输入输入,初始化程序:初始化程序:MOV DPTRMOV DPTR,#0FF7FH#0FF7FH ;控制字寄存器地址送;控制字寄存器地址送DPTR DPTR MOV AMOV A,#83H#83H ;方式控制字;方式控制字83H83H送送A AMOVX DPTRMOVX DPTR,A A ;83H83H送控制字寄存器送控制字寄存器2.2.方式方式1 1 选通输入选通输入/输出工作方式。输出工作方式。A A口和

25、口和B B口通常用于口通常用于I/OI/O数数据传送,据传送,C C口用作口用作A A口和口和B B口的联络线,以中断方式传口的联络线,以中断方式传送数据。送数据。(1)(1)方式方式1 1输入输入 控制联络信号如下图所示,控制联络信号如下图所示,STBSTB*与与IBFIBF构成了一构成了一对应答联络信号对应答联络信号,联络信号的功能如下图:联络信号的功能如下图:STBSTB*:选通输入,是由输入外设送来的输入信号。选通输入,是由输入外设送来的输入信号。IBFIBF:输入缓冲器满,高电平有效。表示数据已送入输入缓冲器满,高电平有效。表示数据已送入 8255A 8255A的输入锁存器,它由的输

26、入锁存器,它由STBSTB*信号的下降沿置信号的下降沿置 位,由信号的上升沿使其复位位,由信号的上升沿使其复位INTRINTR:中断请求信号,高电平有效。由中断请求信号,高电平有效。由8255A8255A输出,输出,向单片机发中断请求。向单片机发中断请求。INTE AINTE A:A A口中断允许,由口中断允许,由PC4PC4控制,控制,INTE BINTE B:B B口中断允许,由口中断允许,由PC2PC2控制。控制。A A口的方式口的方式1 1输入输入工作方式见下图。工作方式见下图。(2 2)方式)方式1 1输出输出 如下图所示。如下图所示。OBFOBF*与与ACKACK*构成了一对应答联

27、络信构成了一对应答联络信号号,各信号的功能如下:各信号的功能如下:OBFOBF*:输出缓冲器满信号,输出缓冲器满信号,8255A8255A给外设的联络信号,给外设的联络信号,外设可以将数据取走。外设可以将数据取走。ACKACK*:外设的响应信号,外设已将数据取走。外设的响应信号,外设已将数据取走。INTRINTR*:中断请求信号。表示该数据已被外设取走,中断请求信号。表示该数据已被外设取走,请求单片机继续输出下一个数据。请求单片机继续输出下一个数据。INTE AINTE A:中断允许,由:中断允许,由PC6PC6控制。控制。INTE BINTE B:中断允许,由:中断允许,由PC2PC2控制控

28、制。B B口的口的方式方式1 1输出输出如下图所示:如下图所示:3.3.方式方式2 2只有只有A A口才能设定为方式口才能设定为方式2 2。下。下图为方式图为方式2 2工作示意图。工作示意图。在方式在方式2 2下,下,PA7PA7PA0PA0为双向为双向I/OI/O总线。总线。当当输入输入时,时,PA7PA7PA0PA0受受STBASTBA*和和IBFAIBFA控制,其工作控制,其工作过程和方式过程和方式1 1输入时相同;输入时相同;当当输出输出时,时,PA7PA7PA0PA0受受OBFAOBFA*、ACKAACKA*控制,其工作控制,其工作过程和方式过程和方式1 1输出时相同。输出时相同。7

29、.3.4 8255A7.3.4 8255A的控制字的控制字8255A8255A有三种工作方式:有三种工作方式:(1)(1)方式方式0 0:基本输入输出;基本输入输出;(2)(2)方式方式1 1:选通输入输出;选通输入输出;(3)(3)方式方式2 2:双向传送(仅双向传送(仅A A口有)。口有)。1.1.工作方式选择控制字工作方式选择控制字三种工作方式由方式控制字来决定。三种工作方式由方式控制字来决定。控制字格式如下。控制字格式如下。C C口上半部分(口上半部分(PC7PC7PC4PC4)随)随A A口称为口称为A A组组,C C口下半部分(口下半部分(PC3PC3PC0PC0)随)随B B口称

30、为口称为B B组组。其中其中A A口口可工作于方式可工作于方式0 0、1 1、和、和2 2,而,而B B口口只能工作在只能工作在方式方式0 0和和1 1。例如:例如:写入工作方式控制字写入工作方式控制字95H95H可将可将8255A8255A编程为:编程为:A A口口方式方式0 0输入输入,B B口口方式方式1 1输出输出,C C口的上半部分口的上半部分(PC7PC7 PC4 PC4)输出,)输出,C C口的下半部分口的下半部分(PC3PC3PC0PC0)输入。)输入。2.C2.C口按位置位口按位置位/复位控制字复位控制字可对可对C C口口8 8位中的任一位置位中的任一位置“1”“1”或清或清

31、“0”“0”。用于。用于位控位控。【例题【例题7-27-2】如下图是在如下图是在PROTEUSPROTEUS软件中绘制的用软件中绘制的用80518051扩展扩展1 1片片82558255的电路,的电路,82558255的的PAPA口接输出设备口接输出设备(八个发光二极管)、(八个发光二极管)、PBPB口接输入设备(八个开口接输入设备(八个开关)关)PCPC口不用,均采用方式口不用,均采用方式0 0,将,将8255 B8255 B口输入的口输入的开关置的数据从开关置的数据从A A口输出,要求开关合上的对应口输出,要求开关合上的对应LEDLED亮,编出相关汇编语言和亮,编出相关汇编语言和C C语言

32、程序段。语言程序段。分析:由图分析:由图7-87-8可知,可知,P2.7=0P2.7=0才选中该片才选中该片82558255,A1 A1 A0(P2.1 P2.0)A0(P2.1 P2.0)为为00 0100 01对应对应PAPA口和口和PBPB口、为口、为1111时对应控制时对应控制口。其余地址写口。其余地址写1 1,A A口、口、B B口、控制口地址分别为口、控制口地址分别为7CFFH7CFFH、7DFFH7DFFH、7FFFH7FFFH。设定。设定PAPA口方式口方式0 0输出输出,B,B口方式口方式0 0输入,控输入,控制字制字10000010B10000010B82H82H,编程如下

33、:,编程如下:(1 1)汇编语言)汇编语言MOV DPTR,#7FFFH ;DPTRMOV DPTR,#7FFFH ;DPTR指向控制口指向控制口MOV A,#82H MOV A,#82H MOVX DPTR,A ;MOVX DPTR,A ;控制字写入控制口控制字写入控制口MOV DPTR,#7DFFH ;DPTRMOV DPTR,#7DFFH ;DPTR指向指向PBPB口口MOVX A,DPTR ;MOVX A,DPTR ;从从PBPB口输入数据口输入数据CPL A ;CPL A ;开关合上的对应开关合上的对应LEDLED亮亮DEC DPL ;DPTRDEC DPL ;DPTR指向指向PAP

34、A口口MOVX DPTR,A ;MOVX DPTR,A ;从从PAPA口输出口输出SJMP$SJMP$(2 2)C C语言语言#include#include#include#include#define COM8255 XBYTE0 x7FFF#define COM8255 XBYTE0 x7FFF#define PA8255 XBYTE0 x7CFF#define PA8255 XBYTE0 x7CFF#define PB8255 XBYTE0 x7DFF#define PB8255 XBYTE0 x7DFF#define PC8255 XBYTE0 x7EFF#define PC8255

35、 XBYTE0 x7EFF#define uchar unsigned char#define uchar unsigned charmain()main()char a;char a;COM8255=0 x82;/*COM8255=0 x82;/*写方式控制写方式控制*/*/a=PB8255;/*Ba=PB8255;/*B口输入口输入*/*/PA8255=a;/*APA8255=a;/*A口输出口输出*/*/【例题【例题7-37-3】在在82558255的的PC7PC7引脚接一个引脚接一个LED,LED,用置位用置位/复位控复位控制字使其闪烁。制字使其闪烁。8255 8255和单片机的连接同

36、例和单片机的连接同例7-27-2。由图可知,由图可知,82558255的控制口地为的控制口地为7FFFH7FFFH(1 1)汇编语言)汇编语言MOV DPTR,#7FFFH MOV DPTR,#7FFFH ;指向控制口;指向控制口MOV A,#80H MOV A,#80H ;先写方式控制字;先写方式控制字MOVX DPTR,AMOVX DPTR,AMOV A,#7FH MOV A,#7FH ;使;使PC7PC7位置位位置位PNOT:MOVX DPTR,APNOT:MOVX DPTR,AACALL DAYACALL DAYXRL A,#01H XRL A,#01H ;使;使PC7PC7位变反位变

37、反SJMP PNOTSJMP PNOT(2)C语言#include#include#define COM8255 XBYTE0 x7FFF#define uchar unsigned charmain()uchar i;COM8255=0 x80;/*设置工作方式*/while(1)COM8255=0 x7f;/*使PC7位置位*/for(i=0;i5000;i+);/*延时*/COM8255=0 x7e;/*使PC7位复位*/for(i=0;i5000;i+);/*延时*/7.3.5 7.3.5 单片机和单片机和8255A8255A的接口举例的接口举例1.1.硬件接口电路硬件接口电路 如下图

38、是如下图是80318031扩展扩展1 1片片8255A8255A的电路图。的电路图。74LS37374LS373是地是地址锁存器,址锁存器,P0.1P0.1、P0.0P0.0经经74LS37374LS373与与8255A8255A的地址线的地址线A1A1、A0A0连接;连接;P0.7P0.7经经74LS37374LS373与片选端相连,其他地址线悬空。与片选端相连,其他地址线悬空。2.2.端口地址确定端口地址确定图中图中8255A8255A各端口寄存器的地址为:各端口寄存器的地址为:A A口:口:FF7CH FF7CHB B口:口:FF7DH FF7DHC C口:口:FF7EH FF7EH控制

39、寄存器:控制寄存器:FF7FH FF7FH 3.3.软件编程软件编程例:例:要求要求8255A8255A工作在方式工作在方式0 0,且,且A A口作为输入,口作为输入,B B口、口、C C口作为输出,口作为输出,程序如下:程序如下:MOV MOV A,#90H A,#90H ;A A口方式口方式0 0输入,输入,B B口、口、;C C口输出的控制字送口输出的控制字送A AMOVMOVDPTR,#0FF7FH DPTR,#0FF7FH ;控制寄存器地址;控制寄存器地址DPTRDPTRMOVX DPTR,AMOVX DPTR,A ;方式控制字;方式控制字控制寄存器控制寄存器MOVMOVDPTR,#

40、0FF7CH DPTR,#0FF7CH ;A A口地址口地址DPTRDPTRMOVX A,DPTRMOVX A,DPTR ;从;从A A口读数据口读数据MOV DPTR,#0FF7DH MOV DPTR,#0FF7DH ;B B口地址口地址DPTRDPTRMOV MOV A,#DATA1A,#DATA1 ;要输出的数据;要输出的数据DATA1ADATA1AMOVX DPTR,A MOVX DPTR,A ;将;将DATA1DATA1送送B B口输出口输出MOV DPTR,#0FF7EH MOV DPTR,#0FF7EH ;C C口地址口地址DPTRDPTRMOV A,#DATA2MOV A,#D

41、ATA2 ;DATA2ADATA2AMOVX DPTR,AMOVX DPTR,A ;将数据;将数据DATA2DATA2送送C C口输出口输出例:例:对端口对端口C C的置位的置位/复位。复位。把把PC5PC5置位,控制字为置位,控制字为0BH 0BH MOV R1,#7FH MOV R1,#7FH ;控制口地址;控制口地址R1R1 MOVMOV A,#0BH A,#0BH ;控制字;控制字AAMOVX R1,A MOVX R1,A ;控制字;控制字控制口,控制口,PC5=1PC5=1把把PC5PC5复位,控制字为复位,控制字为0AH0AHMOV R1,#7FH MOV R1,#7FH ;控制口

42、地址;控制口地址R1R1 MOV A,#0AH MOV A,#0AH ;控制字;控制字AAMOVX R1,A MOVX R1,A ;控制字;控制字控制口,控制口,PC5=0PC5=07.4 81557.4 8155可编程并行接口芯片扩展可编程并行接口芯片扩展I/OI/O口口7.4.1 81557.4.1 8155芯片介绍芯片介绍1.1.81558155的逻辑结构的逻辑结构如下图所示。如下图所示。2.81552.8155的引脚功能的引脚功能8155H8155H的引脚功能的引脚功能(1 1)AD7AD7AD0AD0(8 8条)条)(2 2)I/OI/O总线总线(2222条)条)(3 3)控制总线(

43、)控制总线(8 8条)条)RESETRESET:复位输入线复位输入线 CECE*和和IO/MIO/M*RD RD*和和WRWR*ALE ALE:地址锁存允许地址锁存允许 TIMERIN TIMERIN和和TIMEROUTTIMEROUT*:(4 4)电源线()电源线(2 2条)条)Vcc Vcc:+5V+5V电源电源 Vss Vss:地地CECE*IO/MIO/M*A7A7A6A6A5A5A4A4A3A3A2A2A1A1A0A0所选的端口所选的端口0 01 10 00 00 0命令命令/状态寄存器状态寄存器0 01 10 00 01 1A A口口0 01 10 01 10 0B B口口0 01

44、 10 01 11 1C C口口0 01 11 10 00 0计数器低计数器低8 8位位0 01 11 10 01 1计数器高计数器高6 6位位0 00 0RAMRAM单元单元3.CPU3.CPU对对8155 I/O8155 I/O端口的控制端口的控制(1)8155(1)8155各端口地址分配各端口地址分配(2 2)81558155的命令字的命令字(3 3)81558155的状态字的状态字7.4.2 81557.4.2 8155的工作方式的工作方式1.1.存储器方式存储器方式 对片内对片内RAMRAM单元进行读写,若单元进行读写,若IO/MIO/M*=0=0和和CECE*=0=0,则,则通过通

45、过AD7AD7AD0AD0上的地址对上的地址对RAMRAM存储器任一单元读写。存储器任一单元读写。2.I/O2.I/O方式方式 8155H 8155H的的I/OI/O方式分为方式分为基本基本I/OI/O和和选通选通I/OI/O两种工作两种工作方式,如表方式,如表9-39-3所示。可对片内任一寄存器读写,所示。可对片内任一寄存器读写,端口地址由端口地址由A2A2、A1A1、A0A0三位决定(见表三位决定(见表9-29-2)。)。C C口口通用通用I/OI/O方式方式选通选通I/OI/O方式方式ALT1ALT1ALT2ALT2ALT3ALT3ALT4ALT4PC0PC0输入输入输出输出AINTRA

46、INTR(A A口口中断)中断)AINTRAINTR(A A口中断)口中断)PC1PC1输入输入输出输出ABFABF(A A口缓口缓冲器满)冲器满)ABFABF(A A口缓冲器满)口缓冲器满)PC2PC2输入输入输出输出ASTB*ASTB*(A A口选通)口选通)ASTBASTB*(A A口选通)口选通)PC3PC3输入输入输出输出输出输出BINTRBINTR(B B口中断)口中断)PC4PC4输入输入输出输出输出输出BBFBBF(B B口缓冲器满)口缓冲器满)PC5PC5输入输入输出输出输出输出BSTBBSTB*(B B口选通)口选通)表表7-2 C7-2 C口在两种口在两种I/OI/O工作

47、方式下各位定义工作方式下各位定义 (1 1)基本)基本I/OI/O方式方式(2 2)选通)选通I/OI/O方式方式 (见右图)见右图)a.a.选通选通I/OI/O输入输入b.b.选通选通I/OI/O输出输出3.3.内部定时器内部定时器/计数器及使用计数器及使用 14 14位的减位的减1 1定时器定时器/计数器计数器,计数长度计数长度和和计数方式计数方式由写入计数寄存器的控制字来确定。由写入计数寄存器的控制字来确定。计数器的两个寄存器的格式如下图。计数器的两个寄存器的格式如下图。T13T13 T0:T0:计数器长度计数器长度M2M2、M1:M1:设置定时器的设置定时器的4 4种工作方式种工作方式

48、4 4种工作方式及相应输出波形种工作方式及相应输出波形如下图。如下图。7.4.3 7.4.3 单片机与单片机与81558155接口及软件编程接口及软件编程1.1.硬件接口电路硬件接口电路2.2.编程举例编程举例8155H8155H(1)1)初始化程序设计初始化程序设计例例 若若A A口定义为基本输入方式,口定义为基本输入方式,B B口定义为基本输出方口定义为基本输出方 式,对输入脉冲进行式,对输入脉冲进行2424分频,初始化程序如下:分频,初始化程序如下:START:MOV DPTR,START:MOV DPTR,7F04H 7F04H;指针指向定时器低;指针指向定时器低8 8位位MOV A,

49、MOV A,18H18H ;计数初值;计数初值2424送送A,A,MOVX DPTR,AMOVX DPTR,A ;计数初值低;计数初值低8 8位装入定时器位装入定时器INC DPTR INC DPTR ;指针指向定时器高;指针指向定时器高8 8位位MOV A,MOV A,40H 40H ;设定时器连续方波输出;设定时器连续方波输出MOVX DPTR,AMOVX DPTR,A ;计数初值高;计数初值高6 6位装入定时器位装入定时器MOV DPTR,MOV DPTR,7F00H 7F00H ;指向命令;指向命令/状态口状态口MOV A,#0C2HMOV A,#0C2H ;设定命令控制字;设定命令控

50、制字MOVX DPTR,AMOVX DPTR,A ;A A口输入,口输入,B B口输出口输出,开定时器开定时器MOVX DPTR,AMOVX DPTR,A ;A A中数据送输出口中数据送输出口SJMP LP SJMP LP ;反复连续执行;反复连续执行7.5 7.5 单片机串行口到并行口的转换单片机串行口到并行口的转换7.5.1 7.5.1 用用74LS16574LS165扩展并行输入口扩展并行输入口例例 从从1616位扩展口读入位扩展口读入5 5组组数据(每组二个字节),数据(每组二个字节),并把它们转存到内部并把它们转存到内部RAM 20HRAM 20H开始的单元中。开始的单元中。MOV

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁