1、昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件本章要点:本章要点:l 掌握掌握MCS-51单片机的端口单片机的端口P0P3结构及其应用;结构及其应用;l 理解并行接口扩展方法;理解并行接口扩展方法;l 理解理解Intel 8255A并行接口并行接口I/O芯片结构及其应用芯片结构及其应用:l 芯片结构,引脚功能;芯片结构,引脚功能;l 控制方式,控制命令(控制字);控制方式,控制命令(控制字);了解可编程芯片的应用;了解可编程芯片的应用;掌握键盘掌握键盘I/O接口,接口特点,扩展方法及其应用;接口,接口特点,扩展方法及其应用;掌握掌握MCS-51单片机中断系统结构;单片
2、机中断系统结构;(重点)掌握(重点)掌握MCS51单片机内部定时器单片机内部定时器/计数器结构,控计数器结构,控制命令,学会定时器制命令,学会定时器/计数器的编程与应用。计数器的编程与应用。昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件4.1 MCS51的片内并行接口的片内并行接口(端口端口)一、片内并行接口结构一、片内并行接口结构MCS-51系列单片机共有系列单片机共有4个个8位双向位双向I/O端口端口(P0P3),每,每个端口有个端口有8条线,共条线,共32条线。每一条条线。每一条I/O线都可以单独用于输入线都可以单独用于输入或输出。这或输出。这4个端口为单片机与
3、外围元件或外围设备的信息交换个端口为单片机与外围元件或外围设备的信息交换提供了多功能的输入提供了多功能的输入/输出通道,是单片机构成应用系统、扩展输出通道,是单片机构成应用系统、扩展功能的基础。功能的基础。P0、P1、P2、P3口与口与MCS51内部数据存储器统一编址;内部数据存储器统一编址;端口地址为:端口地址为:80H、90H、0A0H、0B0H;P0、P1、P2、P3中各位均可位寻址。中各位均可位寻址。昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件(一一)P1口口(P1.0P1.7):准双向准双向I/O口口(内置上拉电阻内置上拉电阻)每位由一个数据锁存器、两个三
4、态缓冲器和一个输出驱动电每位由一个数据锁存器、两个三态缓冲器和一个输出驱动电路。输出驱动电路有一个场效应管路。输出驱动电路有一个场效应管T和一个上拉电阻组成。只能和一个上拉电阻组成。只能作为通用作为通用I/O口使用。输出时一切照常,仅在作输入口用时应先口使用。输出时一切照常,仅在作输入口用时应先对其写对其写“1”。P1口输出级可驱动口输出级可驱动4个个LSTTL门电路。门电路。一个一个LSTTL的低电平驱动电流为的低电平驱动电流为0.36mA,高电平驱动电流,高电平驱动电流为为20A。P1口的一位结构图口的一位结构图 21DQCK/Q读引脚读引脚读锁存器读锁存器写锁存器写锁存器内部总线内部总线
5、VccP1.X引脚引脚内部上拉电阻内部上拉电阻T记住:准双向记住:准双向I/O口口(线线),在用作输入口,在用作输入口(线线)使用时,必须先对其写入使用时,必须先对其写入“1”。昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件21DQCK/Q读引脚读引脚读锁存器读锁存器写锁存器写锁存器内部总线内部总线VccP1.X引脚引脚内部上拉电阻内部上拉电阻TP1口的输出操作口的输出操作110截截止止(2)输出数据输出数据=1 时时=1001饱饱和和(1)输出数据输出数据=0 时时=0昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件21DQCK/Q读引脚读引
6、脚读锁存器读锁存器写锁存器写锁存器内部总线内部总线VccP1.X引脚引脚内部上拉电阻内部上拉电阻TP1P1口的输入操作口的输入操作(1)(1)输入数据时,必须先对其写输入数据时,必须先对其写“1”1”使使 T T 截止。截止。110截截止止(2)输入引脚状态数据。输入引脚状态数据。昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件(二二)P0口口(P0.0P0.7):双向双向I/O(内置场效应管上拉)(内置场效应管上拉)P0口是一个多功能口,它除了可以作为普通的口是一个多功能口,它除了可以作为普通的I/O口之外,还具备了第口之外,还具备了第二功能,即在对单片机的总线扩展的
7、时候作为地址二功能,即在对单片机的总线扩展的时候作为地址/数据总线端口数据总线端口,低低8位地址位地址信息和数据分时使用信息和数据分时使用P0口,通过地址锁存器对地址进行锁存。口,通过地址锁存器对地址进行锁存。每位由一个数据锁存器、两个三态缓冲器、一个输出驱动电路和一个输每位由一个数据锁存器、两个三态缓冲器、一个输出驱动电路和一个输出控制电路组成。输出驱动电路有两个场效应管出控制电路组成。输出驱动电路有两个场效应管T1和和T2组成,其工作状态组成,其工作状态受输出控制电路的控制。控制电路由一个与门、一个反相器和模拟转换开关受输出控制电路的控制。控制电路由一个与门、一个反相器和模拟转换开关MUX
8、组成。组成。P0口输出级可驱动口输出级可驱动8个个LSTTL门电路。门电路。P0P0口的一位结构图口的一位结构图P 0.X引脚引脚21DQCK/Q读引脚读引脚读锁存器读锁存器写锁存器写锁存器内部总线内部总线地址地址/数据数据控制控制34VccT1T2昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件 P0口作为口作为8 8位准双向位准双向I/OI/O口口 当当CPU使控制端使控制端=0时,模拟开关时,模拟开关MUX下合,使输出驱动器下合,使输出驱动器T2与锁存器端与锁存器端Q接通,这时接通,这时P0口作为口作为8位准双向位准双向I/O口使用。因为控口使用。因为控制端制端=
9、0使与门使与门3输出为输出为0,则,则T1管截止,使输出驱动器工作于漏管截止,使输出驱动器工作于漏极开路的工作方式。因此,极开路的工作方式。因此,P0在作为输出口使用时,必须外接上在作为输出口使用时,必须外接上拉电阻拉电阻(30010K),才能输出高电平。,才能输出高电平。110截截止止(3)输入数据输入数据:必须先对其写必须先对其写“1”使使T2截止。截止。110截截止止=1(2)输出数据输出数据=1001饱饱和和=0(1)输出数据输出数据=0P0P0作为输出口使用时作为输出口使用时,必须外接上拉电阻必须外接上拉电阻,才能输出电平。才能输出电平。P 0.X引脚引脚21DQCK/Q读引脚读引脚
10、读锁存器读锁存器写锁存器写锁存器内部总线内部总线地址地址/数据数据控制控制=034VccT1T2截止截止昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件P 0.X引脚引脚21DQCK/Q读引脚读引脚读锁存器读锁存器写锁存器写锁存器内部总线内部总线地址地址/数据数据控制控制=134VccT1T2P0P0口的地址口的地址/数据分时复用功能数据分时复用功能当当P0口作为地址口作为地址/数据分时复用总线时,数据分时复用总线时,CPU使控制端使控制端=1时,时,模拟开关模拟开关MUX上合,把反相器输出与上合,把反相器输出与T2接通,同时把与门解锁,接通,同时把与门解锁,输出的地址
11、或数据信号通过与门输出的地址或数据信号通过与门3驱动驱动T1管,同时通过反相器管,同时通过反相器4驱动驱动T2管,完成地址或数据的输出。输入数据时,三态缓冲门管,完成地址或数据的输出。输入数据时,三态缓冲门1打开,端口引脚上的数据读到内部数据总线。打开,端口引脚上的数据读到内部数据总线。=0101截截止止饱饱和和=0(1)输出地址)输出地址/数据数据=0 时时=0=1010饱饱和和截截止止=0(2)输出地址)输出地址/数据数据=1 时时=1=1(3)输入数据时)输入数据时=10昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件(三三)P2口口(P2.0P2.7):准双向准
12、双向I/O口(内置上拉电阻)口(内置上拉电阻)寻址外部程序存储器和数据存储器时分时作为双向寻址外部程序存储器和数据存储器时分时作为双向8位数据位数据口和输出低口和输出低8位地址复用口;不使用外部存储器可作为位地址复用口;不使用外部存储器可作为8位准双向位准双向I/O口使用。口使用。每位由一个数据锁存器、两个三态缓冲器、一个输出驱动电每位由一个数据锁存器、两个三态缓冲器、一个输出驱动电路和一个输出控制电路组成。输出驱动电路由一个场效应管路和一个输出控制电路组成。输出驱动电路由一个场效应管T和和上拉电阻组成,其工作状态受输出控制电路的控制。控制电路一上拉电阻组成,其工作状态受输出控制电路的控制。控
13、制电路一个反相器个反相器3和模拟转换开关和模拟转换开关MUX组成。组成。P2口输出级可驱动口输出级可驱动4个个LSTTL门电路。门电路。Vcc21DQCK/Q读引脚读引脚读锁存器读锁存器写锁存器写锁存器内部总线内部总线地址高地址高8位位控制控制P2.X引脚引脚3内部上拉电阻内部上拉电阻TP2口的一位结构图口的一位结构图 昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件Vcc21DQCK/Q读引脚读引脚读锁存器读锁存器写锁存器写锁存器内部总线内部总线地址高地址高8位位控制控制=0P2.X引脚引脚3内部上拉电阻内部上拉电阻T P2口作为口作为8 8位准双向位准双向I/OI/
14、O口口 当当CPU使控制端使控制端=0时,模拟开关时,模拟开关MUX左合,这时左合,这时P2口作为口作为8位准双向位准双向I/O口使用。其工作原理与口使用。其工作原理与P0口相同。口相同。=000饱饱和和(1)输出数据输出数据=001=0=111截截止止(2)输出数据输出数据=110=011截截止止(3)输入数据输入数据:必须先对其写必须先对其写“1”使使T截止。截止。11=1昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件21DQCK/Q读引脚读引脚读锁存器读锁存器写锁存器写锁存器内部总线内部总线地址高地址高8位位控制控制=1P2.X引脚引脚3内部上拉电阻内部上拉电阻
15、TVcc P2口作为地址总线口作为地址总线 当当CPU使控制端使控制端=1时,模拟开关时,模拟开关MUX右合,右合,P2口作为地址口作为地址总线使用,输出高总线使用,输出高8位地址位地址(A8A15)。=0=0饱饱和和(2)输出地址输出地址=001=1=1截截止止(1)输出地址输出地址=110昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件 (四四)P3口口(P3.0P3.7):双功能口:双功能口(内置上拉电阻内置上拉电阻)P3口为双功能口,第一功能,该口为口为双功能口,第一功能,该口为8位准双向位准双向I/O口;第二功能,该口口;第二功能,该口每根线的功能为下表所列的
16、功能,输出级可驱动每根线的功能为下表所列的功能,输出级可驱动4个个LSTTL电路。电路。P3口第二功能表口第二功能表21DQCK/Q读引脚读引脚读锁存器读锁存器写锁存器写锁存器内部总线内部总线第二功能输出第二功能输出P3.X引脚引脚3内部上拉电阻内部上拉电阻Vcc第二功能输入第二功能输入4P3口的一位结构图口的一位结构图 引引 脚脚第第 二二 功功 能能 引引 脚脚第第 二二 功功 能能 P3.0RxD:串行口接收数据输入端串行口接收数据输入端P3.4T0:外部计数脉冲输入端外部计数脉冲输入端 0P3.1TxD:串行口发送数据输出端串行口发送数据输出端P3.5T1:外部计数脉冲输入端外部计数脉
17、冲输入端 1P3.2INT0:外部中断申请输入端外部中断申请输入端 0P3.6WR:写外设控制信号输出端写外设控制信号输出端P3.3INT1:外部中断申请输入端外部中断申请输入端 1P3.7RD:读外设控制信号输出端读外设控制信号输出端昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件21DQCK/Q读引脚读引脚读锁存器读锁存器写锁存器写锁存器内部总线内部总线第二功能输出第二功能输出=1P3.X引脚引脚3内部上拉电阻内部上拉电阻Vcc第二功能输入第二功能输入4P3口作为口作为8 8位准双向位准双向I/OI/O口口(第一功能第一功能)当当P3口作为通用的口作为通用的I/O口
18、使用时口使用时(第一功能第一功能),工作原理与,工作原理与P1口相同;但第二功能线必须保持高电平,使与非门口相同;但第二功能线必须保持高电平,使与非门3的输出由锁的输出由锁存器的输出决定。同时,作为通用输入口或使用时,相应位的存器的输出决定。同时,作为通用输入口或使用时,相应位的锁存器和第二功能输出端线都必须为锁存器和第二功能输出端线都必须为“1”。11截截止止(3)输入数据输入数据:必须先对其写必须先对其写“1”使使T截止。截止。10=1=000饱饱和和(2)输出数据输出数据=001=0=111截截止止(1)输出数据输出数据=110=0昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术
19、教学课件教学课件21DQCK/Q读引脚读引脚=0读锁存器读锁存器写锁存器写锁存器内部总线内部总线=1第二功能输出第二功能输出P3.X引脚引脚3内部上拉电阻内部上拉电阻Vcc第二功能输入第二功能输入4P3口作为口作为第二功能第二功能当当P3口作为第二功能使用时,相应位的锁存器必须为口作为第二功能使用时,相应位的锁存器必须为“1”态,态,使与非门使与非门3的输出由第二功能线的状态决定。同时,作为第二功的输出由第二功能线的状态决定。同时,作为第二功能输入口使用时,相应位的锁存器和第二功能输出端线都必须为能输入口使用时,相应位的锁存器和第二功能输出端线都必须为“1”。=111截截止止(1)第二功能输出
20、数据第二功能输出数据=110=001饱饱和和(2)第二功能输出数据第二功能输出数据=0111截截止止(3)第二功能输入数据第二功能输入数据:锁存器和第二功能输出自动写锁存器和第二功能输出自动写“1”使使T截止。截止。10昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件 4.2 扩展并行扩展并行I/O口与口与8255A并行接口芯片并行接口芯片输入输入/输出扩展器输出扩展器通用可编程通信接口通用可编程通信接口带有带有16K位位EPROM的可编程的可编程并行接口并行接口可编程通用定时可编程通用定时/计数器计数器名称及功能名称及功能8243825187558253型号型号带有带
21、有I/O口、定时器和口、定时器和2K位静位静态态RAM的可编程并行接口的可编程并行接口8155/8156可编程键盘可编程键盘/显示器接口显示器接口8279可编程中断控制器可编程中断控制器8259可编程并行接口可编程并行接口8255名称及功能名称及功能型号型号在单片机应用系统中,单片机本身的资源如在单片机应用系统中,单片机本身的资源如I/O口、定时口、定时/计数器、串行口计数器、串行口往往不能满足要求。因此需要在单片机上扩展其它外围接口芯片。往往不能满足要求。因此需要在单片机上扩展其它外围接口芯片。为了简化系统设计,提高微机系统的可靠性,近年来,外围接口电路已向为了简化系统设计,提高微机系统的可
22、靠性,近年来,外围接口电路已向组合化方向发展,使外围接口电路进了一个新时期,其特点是:组合化方向发展,使外围接口电路进了一个新时期,其特点是:专用化:专用化:开发生产了大量为各种微处理器专用的接口芯片;开发生产了大量为各种微处理器专用的接口芯片;复杂化:复杂化:复杂程度大大提高,集成度和复杂程度不亚于微处理芯片;复杂程度大大提高,集成度和复杂程度不亚于微处理芯片;智能化:智能化:许多外围接口芯片具有许多外围接口芯片具有“智能智能”,以代替微处理器的某些功能,以代替微处理器的某些功能,甚至某些接口芯片本身内部还有自身的微处理器。甚至某些接口芯片本身内部还有自身的微处理器。组合化:组合化:所谓组合
23、化,就是将多种接口组合在一个外围接口芯片内。所谓组合化,就是将多种接口组合在一个外围接口芯片内。Intel公司为配合该公司的处理器芯片,开发了大量外围接口芯片。其中有公司为配合该公司的处理器芯片,开发了大量外围接口芯片。其中有一些可以与一些可以与MCS-51单片机直接接口,如下表所示。单片机直接接口,如下表所示。MCS-51单片机常用外围芯片一览表单片机常用外围芯片一览表昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件一、扩展并行一、扩展并行I/O接口接口例如使用三态门电路例如使用三态门电路74LS244扩展输入口和输出口,电路如扩展输入口和输出口,电路如图所示。图所示
24、。输入可用以下程序:输入可用以下程序:MOV DPTR,#0BFFFHMOVX A,DPTR 输出可用以下程序:输出可用以下程序:MOV DPTR,#07FFFHMOVX DPTR,A昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件例如使用例如使用8D触发器触发器74LS373扩展输入口和输出口,电路如图扩展输入口和输出口,电路如图所示。所示。输入可用以下程序:输入可用以下程序:MOV DPTR,#0BFFFHMOVX A,DPTR 输出可用以下程序:输出可用以下程序:MOV DPTR,#07FFFHMOVX DPTR,A昆明学院昆明学院单片机原理与接口技术单片机原理与
25、接口技术教学课件教学课件二、可编程并行二、可编程并行I/O接口芯片接口芯片8255AIntel 8255A是为是为8080/8085微机系统设计的可编程通用并行微机系统设计的可编程通用并行接口电路,也可用于接口电路,也可用于MCS-51系列单片机扩展并行系列单片机扩展并行I/O接口。接口。8255A是是8位并行位并行I/O接口芯片,有接口芯片,有24条条I/O引脚,分成引脚,分成A,B两大组(每组两大组(每组12条),允许独立编程,工作方式分为方式条),允许独立编程,工作方式分为方式0、1和和2三种。三种。使用使用8255A可实现以下各项功能:可实现以下各项功能:(1)并行输入或输出并行输入或
26、输出8位数据;位数据;(2)实现输入数据的锁存和输出数据的缓冲;实现输入数据的锁存和输出数据的缓冲;(3)提供多个通信接口联络控制信号(如中断提供多个通信接口联络控制信号(如中断请求、外设准备好及选通脉冲等);请求、外设准备好及选通脉冲等);(4)通过读取状态字可实现程序对外设的查询。通过读取状态字可实现程序对外设的查询。昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件(一一)8255A的结构的结构PA3 PA4PA3 PA4PA2 PA5PA2 PA5PA1 PA6PA1 PA6PA0 PA7PA0 PA7RD WRRD WRGNDGND D0D0A1A1 D1D1A
27、0A0 D2D2PC7PC7 D3D3PC6PC6 D4D4PC5PC5 D5D5PC4PC4 D6D6PC0PC0 D7D78255PC2PC2 PB7PB7PC3PC3 PB6PB6PB0 PB5PB0 PB5PB1 PB4PB1 PB4PB2 PB3PB2 PB3CSCS RESETRESETPC1PC1 VCCVCC(a)引脚功能引脚功能A组端口A口(8)A组端口C上半部(4)B组端口B口(8)B组端口C下半部(4)B组控制A组控制数据总线缓冲器读写控制逻辑DBRDWRA1A0RESETCSPAPC7PC4PC3PC0PB8位内部数据总线内内部部逻逻辑辑外外部部接接口口(b)内部结构框
28、图内部结构框图昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件1.端口端口PA、PB、PCPA、PB和和PC 均是一个均是一个8位位I/O端口。通常,端口。通常,PA、PB作为作为I/O端口,端口,PC口分口分高高4位位和和低低4位。位。作为控制作为控制/状态信息端口状态信息端口,高高4位可与位可与PA口合为一组口合为一组(A组组),低低4位可与位可与PB口合为一组口合为一组(B组组)。2.工作方式控制电路工作方式控制电路控制电路分为:控制电路分为:A组和组和B组工作方式控制电路。组工作方式控制电路。A和和B两组共两组共用控制命令寄存器,用来接收用控制命令寄存器,用来接
29、收CPU的控制字的控制字(命令命令),根据控制字,根据控制字决定两端口的工作方式。决定两端口的工作方式。3.数据总线缓冲器数据总线缓冲器作为作为8255A与系统总线之间的接口,用来传送数据、控制命与系统总线之间的接口,用来传送数据、控制命令和状态信息;令和状态信息;4.读读/写控制逻辑电路写控制逻辑电路接收接收CPU发来的控制信号发来的控制信号RD、WR、RESET、CS和地址信和地址信号号A1、A0等。等。8255A内部结构包括三个并行内部结构包括三个并行I/O输出端口,两个工作方式控输出端口,两个工作方式控制电路,一个读制电路,一个读/写控制电路和写控制电路和8位总线缓冲器。位总线缓冲器。
30、昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件(二二)8255A的引脚功能的引脚功能1234ABCD4321DCBATitleNumberRevisionSizeA4Date:10-Nov-2004Sheet of File:E:单 片 机 教 案 CHP5图 CHAP5.ddbDrawn By:D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512
31、PC611PC710RD5WR36A09A18RESET35CS6GND7VCC268255A.RESET复位信号复位信号,输入、高电平有效。,输入、高电平有效。B.D7D0数据总线数据总线,双向、三态。,双向、三态。D7D0是是8255A与与CPU交换数据、控制字交换数据、控制字/状态字的数状态字的数据总线;据总线;C.CS片选信号片选信号,输入、低电平有效。当为,输入、低电平有效。当为低电平时,该低电平时,该8255A被选中,被选中,D7D0可以与可以与CPU交换信息,否则,交换信息,否则,D7D0处于高阻态;处于高阻态;D.RD读信号读信号,输入、低电平有效。控制,输入、低电平有效。控制
32、8255A送出数据或状态信息到数据总线;送出数据或状态信息到数据总线;E.WR写信号写信号,输入、低电平有效。控制把,输入、低电平有效。控制把数据总线的数据或控制信息写入数据总线的数据或控制信息写入8255A;F.A1,A0端口选择信号端口选择信号,输入。根据,输入。根据A1,A0的不同,将数据总线与不同的的不同,将数据总线与不同的I/O端口、控制端口、控制寄存器和状态寄存器相连寄存器和状态寄存器相连 1.CPU控制信控制信号号昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件8255A端口地址及工作状态选择表端口地址及工作状态选择表从从82558255的的I/OI/O口
33、读有效口读有效82558255对系统总线呈高阻态对系统总线呈高阻态控制寄存器只能写不能读控制寄存器只能写不能读82558255对系统总线呈高阻态对系统总线呈高阻态初始化初始化82558255时必做的工作时必做的工作向向82558255的的I/OI/O口写有效口写有效说说 明明数据总线高阻数据总线高阻XX未选中未选中XX1无效无效10写入控制字写入控制字01控制寄存器控制寄存器11写入写入C口口C口口01写入写入B口口B口口10写入写入A口口01A口口00读读C口内容口内容C口口01读读B口内容口内容B口口10读读A口内容口内容10A口口000CPU操作功能操作功能WRRD所选端口所选端口A0A
34、1CS操作选择操作选择端口选择端口选择2.并行并行I/O端口信号端口信号A.PA7PA0端口端口A的并行的并行I/O数据线,双向。数据线,双向。B.PB7PB0端口端口B的并行的并行I/O数据线,双向。数据线,双向。C.PC7PC0端口端口C的并行的并行I/O数据线,双向。当数据线,双向。当8255A工作与方式工作与方式0时,时,PC7PC0为两组并行为两组并行I/O数据线。当数据线。当8255A工作与方式工作与方式1或方式或方式2时,时,PC7PC0分为两组,分别作端口分为两组,分别作端口A和端口和端口B的联络控制线,此时每根线将赋的联络控制线,此时每根线将赋予新的功能。予新的功能。昆明学院
35、昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件(三三)8255A的控制字和状态字的控制字和状态字8255A共有两个共有两个控制字控制字和一个和一个状态字状态字,控制字控制字用来选择工作用来选择工作方式或对方式或对C口控制。状态字用来反映口控制。状态字用来反映8255A的工作状态。的工作状态。两个两个控制字控制字均在均在A1A0=11的情况下发送,共用一个端口地址。的情况下发送,共用一个端口地址。若若控制字控制字的最高位的最高位(D7)是是1,表示是,表示是工作方式控制字工作方式控制字;若最高位;若最高位(D7)是是0,表示是,表示是按位置数控制字按位置数控制字。控制字就是CP
36、U发给可编程器件的控制命令或者初始化命令。其格式(命令中每一位的取值),由可编程器件规定。昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件0 0X XX XX XD D3 3D D2 2D D1 1D D0 0按按位位置置位位控控制制字字标标志志位位7 76 65 54 43 32 21 10 0D D3 3 1 11 11 11 10 00 00 00 0D D2 2 1 11 10 00 01 11 10 00 0D D1 1 1 10 01 10 01 10 01 10 0位位选选择择置置位位标标志志0 0-置置0 01 1-置置1 1(b)按位置数控制字格式按位
37、置数控制字格式1 1D D6 6D D5 5D D4 4D D3 3D D2 2D D1 1D D0 0A A组组方方式式选选择择0 00 0方方式式0 00 01 1方方式式1 11 10 0方方式式2 2端端口口A A1 1-输输入入0 0-输输出出端端口口C C(上上半半部部)1 1-输输入入0 0-输输出出B B组组方方式式选选择择0 0-方方式式0 01 1-方方式式1 1端端口口B B1 1-输输入入0 0-输输出出端端口口C C(下下半半部部)1 1-输输入入0 0-输输出出工工作作方方式式控控制制字字标标志志位位(a)工作方式控制字格式工作方式控制字格式昆明学院昆明学院单片机原
38、理与接口技术单片机原理与接口技术教学课件教学课件8255A没有专门的状态字,工作于方式没有专门的状态字,工作于方式1或方式或方式2时,读取时,读取PC口的数据,即得状态字。当状态字中有效信息不满口的数据,即得状态字。当状态字中有效信息不满8位时,位时,所缺的即为对应所缺的即为对应PC口口C引脚的输入电平。引脚的输入电平。PC7PC6PC5PC4PC3PC2PC1PC0OBFAINTE1IBFAINTE2INTRAINTE3IBFB/OB FBINTRBB组中中断断请请求求输输出出输输入入缓缓冲冲器器满满输输出出缓缓冲冲器器满满输输入入、输输出出请请求求允允许许输输出出缓缓冲冲器器满满输输入入缓
39、缓冲冲器器满满输输出出请请求求允允许许输输入入请请求求允允许许中中断断请请求求输输出出A A组组8255A状态字格式状态字格式昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件(四四)8255A的工作方式的工作方式1.方式方式0(基本输入(基本输入/输出方式)输出方式)方式方式0不需要选通信号。不需要选通信号。PA、PB、PC74和和PC30中任一端口中任一端口都可以通过方式控制字设定为输入或输出端口,共有都可以通过方式控制字设定为输入或输出端口,共有8种组合。种组合。昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件方式方式1下,共有下,共有2个口
40、,分为个口,分为A组组和和B组组,由编程设定为输入,由编程设定为输入或输出,或输出,A组组包括包括A口口和和PC74,PC74 作为作为A口输入口输入/输出的选输出的选通信号和应答信号。同理,通信号和应答信号。同理,B组组包括包括B口口和和PC30,PC30作为作为B口输入口输入/输出的选通信号和应答信号。当输出的选通信号和应答信号。当8255A工作于方式工作于方式1时时A口和口和B口的功能完全相同。口的功能完全相同。2.方式方式1(选通输入(选通输入/输出方式)输出方式)表表8255A的的C口联络控制信号线口联络控制信号线OBFAXOBFAI/OPC7ACKA(INTE1)XACKA(INT
41、EA)I/OPC6XIBFAI/OIBFAPC5XSTBA(INTE2)I/OSTBA(INTEA)PC4INTRAINTRAINTRAINTRAPC3I/OI/OACKB(INTEB)STBB(INTEB)PC2I/OI/OOBFBIBFBPC1I/OI/OINTRBINTRBPC0输出输出输入输入输出输出输入输入方式方式2(仅用于仅用于A口口)方式方式1(A口、口、B口口)C口的位口的位昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件方式1数据选通输入时序tSTtPHtRIBtRITtSIBtSIBSTBIBFRDtPS外设输入的数据INTRA.方式方式1输入方式输
42、入方式选通选通(应答式应答式)输入过程输入过程输入缓输入缓冲器空冲器空IBF=0可以接可以接收数据收数据数据准数据准备好备好发锁存发锁存脉冲脉冲STB=0数据存数据存入输入入输入缓冲器缓冲器IBF=1供查询供查询STB=1IBF=1RD=1产生中产生中断请求断请求中断响中断响应或程应或程序查询序查询读走输读走输入数据入数据昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件B.方式方式1输出方式输出方式选通选通(应答式应答式)输出过程输出过程输出缓输出缓冲器空冲器空OBF=1可以输可以输出数据出数据输出数据输出数据准备好准备好通知外设通知外设OBF=0撤销中断撤销中断请求请
43、求外设取外设取走数据走数据发应答发应答信号信号ACK=0撤销撤销数数据准备据准备好信号好信号产生中产生中断请求断请求方式1数据选通输出时序tWITtSIBtWBtAOBtAKtAITWROBFACKINTR数据输出数据稳定取取数数完完成成中断响中断响应或程应或程序查询序查询输出数输出数据据昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件当当A口工作于方式口工作于方式2下时,下时,PC73的分配如图,选通信号和的分配如图,选通信号和应答信号的功能与方式应答信号的功能与方式1的含义相同。仅的含义相同。仅A口才可以工作于方式口才可以工作于方式2。2.方式方式2(仅(仅A口选通
44、双向方式)口选通双向方式)昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件(五五)8031和和8255的接口方法的接口方法1234ABCD4321DCBATitleNumberRevisionSizeA4Date:16-Nov-2004Sheet of File:E:单片机教案CHP5图CHAP5.ddbDrawn By:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021
45、P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD108031D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE1174LS373图5-25 8031与8255A的连接图D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710
46、RD5WR36A09A18RESET35CS68255A8255的的PA口、口、PB口、口、PC口,控制口的一个地址可分别选为口,控制口的一个地址可分别选为7CH,7DH,7EH,7FH。昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件(六六)8255A的应用举例的应用举例例:例:使用使用8031扩展扩展8255A与打印机接口的电路。与打印机接口的电路。8255A的的片选线为片选线为P0.7,打印机与,打印机与8031采用查询方式交换数据。打印机采用查询方式交换数据。打印机的状态信号输入给的状态信号输入给PC7,打印机忙时打印机忙时BUSY=1,打印机的数据输打印机的数
47、据输入采用选通控制,当入采用选通控制,当STB上出现负跳变时数据被打入,并开始上出现负跳变时数据被打入,并开始处理输入的数据,同时置处理输入的数据,同时置BUSY为高电平,当数据处理完,置为高电平,当数据处理完,置BUSY为低电平。要求编写向打印机输出为低电平。要求编写向打印机输出80个数据的程序。设个数据的程序。设8255A的的PA、PB、PC和控制寄存器口地址分别为和控制寄存器口地址分别为7CH、7DH、7EH、7FH。打印数据在内部。打印数据在内部RAM 20H开始的连续单元中。开始的连续单元中。昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件B.中断方式:在此方
48、式下,中断方式:在此方式下,8255A的的A口可工作于方式口可工作于方式1输出输出或方式或方式2,此时,可用,此时,可用“输出缓冲器满输出缓冲器满”信号信号OBFA作打印机选通作打印机选通脉冲脉冲STB,而用打印机状态信号,而用打印机状态信号BUSY作应答信号作应答信号ACKA,INTRA作为中断请求信号。操作时,作为中断请求信号。操作时,CPU先发一个打印数据到先发一个打印数据到A口,然口,然后等待打印机处理完发回应答信号后等待打印机处理完发回应答信号ACKA引发中断,引发中断,CPU响应中响应中断再发下一个打印数据。此时接口电路应做相应的修改。断再发下一个打印数据。此时接口电路应做相应的修
49、改。解:因为,打印机的数据是用解:因为,打印机的数据是用STB的负跳变输入,且打印机的负跳变输入,且打印机处理输入数据时,处理输入数据时,BUSY为高电平,空闲时为高电平,空闲时BUSY为低电平。为低电平。所以可以使用所以可以使用BUSY信号作为打印机的状态信号,决定是否送信号作为打印机的状态信号,决定是否送数到打印机。解决这个问题可以采用以下两种方法:数到打印机。解决这个问题可以采用以下两种方法:A.程序查询方式:在此方式下,程序查询方式:在此方式下,8255A的的A口工作于口工作于方式方式0输出输出,C口的上半部工作于输入方式,口的上半部工作于输入方式,C口的下半部工作于输出口的下半部工作
50、于输出方式,方式,B口没有使用可置为方式口没有使用可置为方式0输入。接口的电路见图输入。接口的电路见图5-28。操作时,先检查打印机状态,若忙操作时,先检查打印机状态,若忙(BUSY=1)循环等待;若空循环等待;若空闲闲(BUSY=0)送打印数据到送打印数据到A口,然后发口,然后发STB选通脉冲。检查打选通脉冲。检查打印机状态,等待打印机处理完,再发下一个打印数据。印机状态,等待打印机处理完,再发下一个打印数据。昆明学院昆明学院单片机原理与接口技术单片机原理与接口技术教学课件教学课件1234ABCD4321DCBATitleNumberRevisionSizeA4Date:16-Nov-200