《微机原理与接口技术》课件-第7章8255并行接口_第1页
《微机原理与接口技术》课件-第7章8255并行接口_第2页
《微机原理与接口技术》课件-第7章8255并行接口_第3页
《微机原理与接口技术》课件-第7章8255并行接口_第4页
《微机原理与接口技术》课件-第7章8255并行接口_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理与接口技术第七章可编程并行接口电路8255本章学习的知识点:1)掌握并行接口8255的基本功能2)掌握并行接口8255的三种工作方式的特点和用法3)掌握并行接口8255的硬软件设计方法本章学习的难点:1)掌握8255的3种工作方式的特点和用法2)掌握8255的硬软件设计方法1、概述:8255是Intel公司生产的8位(数据线)通用可编程并行输入输出接口芯片。有三个8位的输入输出端口:端口A、端口B、端口C;有三种工作方式:方式0、方式1、方式2A口可以工作在3种工作方式:方式0、方式1、方式2B口可以工作在2种工作方式:方式0、方式1C口可以工作在1种工作方式:方式0;C口可与A口形成A组、与B口形成B组;可对A口进行置“1”或置“0”7.1可编程并行接口8255引脚功能和结构(1)与外设接口部分有三个8位的输入输出端口:端口A、端口B、端口C;有三种工作方式:方式0、方式1、方式2A口可以工作在3种工作方式:方式0、方式1、方式2B口可以工作在2种工作方式:方式0、方式1C口可以工作在1种工作方式:方式0;C口可与A口形成A组、与B口形成B组;可对A口进行置“1”或置“0”2、

内部结构

8255的内部结构框图如图7.2所示,由三部分组成。58255A的内部结构数据总线缓冲器内部控制线内部数据线D0~D7A组控制A组端口AA组端口C上部B组控制B组端口BB组端口C下部读写控制逻辑PC0~PC3PB0~PB7PC4~PC7PA0~PA7RDWRA0A1CSRESET(2)与微处理器接口部分这部分主要完成数据传送及逻辑控制。有:RD、WR、CS、RESET、D0-D7,8255的各端口地址线A0、A1。(3)内部控制部分由A、B两组控制电路组成。主要作用是根据CPU送来的控制字用以决定两组端口(A组为A口和C口的高4位,B组为B口和C口的低4位)的工作方式,也可根据控制字的要求对C口按位进行置位或复位。1)外部引线8255的外部引线如图所示D0~D7:双向数据信号线RD:读信号线WR:写信号线CS:片选信号线A0、A1:口地址选择信号线RESET:复位输入信号PA0-PA7:

A口输入输出信号线PB0-PB7:

B口输入输出信号线PC0-PC7:

C口输入输出信号线3、8255的外部引线及内部结构图7-18255的外部引线图4、8255的端口地址与微处理器接口部分的硬件电路图实例口C上半部口C下半部口A口BRDWRRESETA1A0A1A0825574LS138G1G2AG2BCBAA5M/IOA6A4A3A2D0~D7CSY0地址译码逻辑关系:G2AG1G2BCB

A0A7A6A5A4A3A2A1

A0110000XXY0=0Y1=0C0H~C3HC0H→A口C1H→B口C2H→C口C3H→控制口C0HC2HC1H&A7(1)工作方式控制字的格式5、8255的控制字

8255A芯片内有两个控制字,一类控制字用于定义个数据输入/输出端口的工作方式,称为方式选择控制字,另一类控制字用于对C端口任意一位进行置位或复位操作,又称为置位/复位控制字。例1:方式字写入控制口设8255A端口地址为0380H、0381H、0382H、0383H。要把A口指定为方式1输入,C口上半部定为输出,B口指定为方式0输出,C口下半部定为输入,则控制字应为:10110001B或0B1H。初始化程序为:MOVDX,0383HMOVAL,0B1HOUTDX,AL(2)C口置位/复位控制字的格式5、8255的控制字例如设8255A端口地址为60H~63H,现要求先置PC4为高电平,再复位PC4,则相应的程序段如下:

MOVAL,00001001B

OUT63H,AL

MOVAL,00001000B

OUT63H,AL例2:C口置位/复位控制字(写入控制口)

3种工作方式可用软件编程对控制口设置来指定。

方式0-基本的输入输出方式方式1-选通输入输出方式方式2-双向传送方式。6、8255的工作方式

1)工作方式0(基本输入输出方式)

功能:方式0不使用联络信号,也不使用中断,A口和B口可定义为输入或输出口,C口分成两个部分(高四位和低四位),C口的两个部分也可分别定义为输入或输出。在方式0,所有口输出均有锁存,输入只有缓冲,无锁存,C口还具有按位将其各位清0或置1的功能。常用于与外设无条件的数据传送或接收外设的数据。151515例用8255A控制三个发光二极管依秩序循环显示。

8255A+5V200译码器D7~D0地址线8088CPUA0A2A0PA0PA1PA2工作方式0例题A0A1CS1616PA0PA1PA28255A

PB0+5V200+5V2K译码器D7~D0地址线8088CPUA0A1A0A1思考题:用8255A控制三个发光二极管依秩序循环显示。假设开关闭合时,点亮发光二极管,开管断开时息灭二极管。CS2)工作方式1(选通输入输出方式)

A口借用C口的一些信号线用作控制和状态信号,组成A组,B口借用C口的一些信号线用作控制和状态信号,组成B组。在方式1下,C口的某些位被占用。

当A口工作于方式1且用作输出口时,C口的PC7线用作输出缓冲器满OBF信号,PC6用作外设收到数据后的响应信号ACK,PC3用作中断请求输出信号线INTR。方式1的输出:

当B口工作于方式l且用作输出口时,C口的PC1线用作输出缓冲器满OBF信号,PC2用作外设收到数据后的响应信号ACK,PC0用作中断请求输出信号线INTR。方式1下A口、B口为输出D7D6D5D4D3D2D1D01A组方式01=方式1A口0=输出C口

I/OB组方式1=方式1B口0=输出C口I/O图7.4方式1下,A、B口均为输出的信号定义控制字的设置①OBF

为输出缓冲器满信号,低电平有效。8255输出信号,当其有效时,CPU已将数据送到指定的口,用于通知外设可将数据取走。各个控制位的作用(重点掌握和理解的内容)

②ACK

为外设响应信号,低电平有效。由外设送来,有效时表明8255的数据已被外设取走。③INTR为中断请求信号,高电平有效。它是当外设将数据取走并给出应答ACK

信号之后,8255向CPU提出中断请求,让CPU输出一个新的数据。④INTE中断允许信号,高电平有效。为低时则屏蔽中断请求,即不发出中断请求信号INTR。INTE的状态由通过对C口PC6或PC2置1后A口和B口才允许中断。INTE=1,允许A口或B口向CPU申请中断,INTE=0,禁止A口或B口向CPU申请中断。

8255的中断设置方法:中端允许信号INTE是由软件通过对C口的按位置位/复位的控制字来置1或清0的设置的,PC6置1时,A口允许中断,PC2置1时,B口允许中断。注意:在方式1输出方式时,PC4和PC5的工作状态由控制字决定其为输出还是输入。设置后不影响其它位的作用。方式1下A口、B口为输入(重点掌握和理解的内容)

1)A口工作于方式1且用作输入口时,C口的PC4线用作选通输入信号线STB,PC5用作输入缓冲器满输出信号线IBF,PC3用作中断请求输出信号线INTR。2)B口工作于方式1且用作输入口时,C口的PC2线用作选通输入信号线STB,PC1用作输入缓冲器满输出信号线IBF,PC0用作中断请求输出信号线INTR。

方式1下A口、B口均为输入D7D6D5D4D3D2D1D01A组方式01=方式1A口1=输入C口I/OB组方式1=方式1B口1=输入C口I/O图7.5方式1下A、B口均为输入时的信号定义控制字的设置①STB:选通控制,输入信号。当外部设备来的8位数据送入到8255的输入缓冲器中时该位有效。在时间上,外部设备先把数据送到8255的数据口A或B,然后再送出STB信号,用于把数据锁存到8255的输入数据寄存器,等待CPU取数据。②IBF:输入缓冲器满信号,输出信号,高电平有效。当8255的输入缓冲器有新数据后,该位有效,为8255给外设的联络信号,告知外设输入的数据已被接收到,但还没被CPU取走,不能再送新的数据。该信号在STB变为低后,300NS时间内变为高电平(自动完成)。在CPU读取了数据后,RD信号撤消后的300NS时间内IBF信号才撤消,变为低电平,告知外设可输入新的数据。③INTR:为中断请求信号,高电平有效。中端请求的条件:STB变高后300ns内,并IBF信号也为高。(要等数据全部进入到输入缓冲器后才发出中断请求)④INTE:中断允许信号,高电平有效。为低时则屏蔽中断请求。INTE的状态由通过对C口PC4或PC2置1后A口和B口才允许中断。(与INTR完全不同,是无条件的,由软件对C口PC4或PC2置1即可实现中断)2828例7.2利用8255方式1实现打印机的接口

1000pf2K15321441LS123单稳电路+5VDATA0~78255APC6INTRPC3PC7PA0~PA7打印机ACKACKOBFSTROBE29298255A方式1与打印机接口时序配合PA0~PA7(DATA0~7)ACKOBFSTROBE方式1时序打印机时序30假设8255A的A、B、C口的I/O地址为FFF8H、FFFAH和FFFCH。控制端口的地址为FFFEH。以下为采用选通方式输出缓冲区BUF中的打印字符MOVDX,0FFFEH;设定A口为选通输出方式MOVAL,0A0HOUTDX,ALMOVAL,0CH;使INTEA(PC6)为0,禁止中断OUTDX,ALMOVCX,M;打印字节数送CXMOVBX,OFFSETBUF;取缓冲区首址送BXPRINT1:MOVAL,[BX];取一个数据MOVDX,0FFF8HOUTDX,AL;从A口输出MOVDX,0FFFCHPRINT2:INAL,DX;读C口TESTAL,80H;检测

A(PC7)为1否?JZPRINT2;为0,则继续检测INCBX;为1,说明数据已输出LOOPPRINT1;准备取下一个数据输出3)工作方式2(双向输入输出方式)功能:方式2是A组独有的工作方式。外设既能在A口的8条引线上发送数据,又能接收数据。此方式也是借用C口的5条信号线作控制和状态线,A口的输入和输出均带有锁存。理解内容:

图7.6方式2下的信号定义OBF:输出缓冲器满,输出,低有效。这是8255A送给外设的控制信号,有效时表示数据已送入到A口输出锁存器中,用该信号通知外设将数据取走。ACK

:应答,输入,低有效。这是外设送来的信号,有效时表示外设已经从A口输出线上将数据取走。STB:选通信号,输入,低有效。这是由外设送来的信号,有效时将由外设送来的位于A口引线的8位数据锁存到A口的输入锁存器中。INTR:中断请求,输出,高有效。这是8255A送给CPU的中断请求信号。无论是输入操作还是输出操作,当一个操作完成,要进行下一个操作时8255A都通过该引脚向CPU发中断请求信号。方式2的A口输入和输出传送各自作为一个中断源,两个中断请求信号在8255A内部相或,只产生一个中断请求通过PC3发给CPU。IBF:输入缓冲器满,输出,高有效。这是8255A送给外设的响应信号,有效时表示数据已送入到输入锁存器中,CPU可以取走。INTE1:中断允许1。它是由内部的中断控制触发器发出的允许中断或屏蔽中断的信号。INTE=l,允许A口在输出缓冲器变空(数据已被外设取走)时向CPU申请中断,让CPU输出一个新的数据;INTE=0,则屏蔽了输出中断请求,这样,即使A口的输出缓冲器已经变空了,也不能在INTR上产生中断请求信号。INTE1为0还是为1是由软件通过对PC6复位/置位来完成的,PC6=0使INTE1为0,PC6=l使INTE1为1。(由软件置1实现中断)INTE2:中断允许2。它也是由内部的中断控制触发器发出的允许中断或屏蔽中断的信号。INTE2=1,允许A口在输入数据就绪时向CPU申请中断,让CPU将数据取走;INTE2=0,则屏蔽了输入中断请求。INTE2为0还是为1是由软件通过对PC4复位/置位来完成的,PC4=0使INTE2为0,PC4=1使INTE2为1。(由软件置1实现中断)1、当K全闭合时,8支灯亮;当有一个以上K断开时,8支灯灭。例3:8255A的PA0~PA7端接有开关K0~

K7,PB0~

PB7接有8支LED发光管。端口A、B均工作在方式0下,根据开关状态控制LED灯的显示。设计任务:2、测试开关状态,控制相应的灯亮或灭。+5Vk7PA0PA7PB0PA7D0D7CSA0A1WRRD到CPU数据总线到CPU读写控制线到CPU地址总线k0ABCG1G2AG2BY0A2A3A4A7M/IOA6A5+Y7为74LS138译码电路+5VM/IORDCSA1A0WRRDPA0PA7PB0PB1PB73:8CBAG1G2AG2BWRA7A6A5A4A3A2A1A0Y4…..+5V…..K0K7D0~D7地址:90H,91H,92H,93H方式控制字:10010000=90HWRRDPB7WRY

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论