并行接口芯片8255A.ppt

上传人:hyn****60 文档编号:87427132 上传时间:2023-04-16 格式:PPT 页数:69 大小:608.50KB
返回 下载 相关 举报
并行接口芯片8255A.ppt_第1页
第1页 / 共69页
并行接口芯片8255A.ppt_第2页
第2页 / 共69页
点击查看更多>>
资源描述

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

1、第十一章第十一章 并行接口芯片并行接口芯片8255A8255A8255A8255A是是INTELINTEL公司的产品,可编程的并行接口芯片公司的产品,可编程的并行接口芯片数据数据总线总线缓冲器缓冲器A组组A口口A组组C口口上半部上半部A组组控制控制B组组C口口下半部下半部B组组B口口B组组控制控制PA7PA0PC7PC4PB7PB0PC3PC0读读/写写控制控制WRA1A0RESETCS内部总线内部总线8CPUDBRD 11.111.111.111.1 8255A 8255A 8255A 8255A的内部结构的内部结构的内部结构的内部结构24242424根端口数据线根端口数据线根端口数据线根端

2、口数据线 接外设接外设 PA7PA0为为A口数据线口数据线 PB7PB0为为B口数据线口数据线 PC7PC0为为C口数据线口数据线 8255A8255A8255A8255A的外部引脚的外部引脚的外部引脚的外部引脚8255A8255A为双列直插式为双列直插式,40,40引脚引脚8 8 8 8根系统数据线根系统数据线根系统数据线根系统数据线 接接CPU D7D06 6根输入控制线根输入控制线 RESETRESET:复位信号,复位信号,RESET=1RESET=1时,时,82558255内部复位,所有内部内部复位,所有内部 寄存器清零,寄存器清零,A A、B B、C C三个端口自动为输入口三个端口自

3、动为输入口 CS:片选信号,:片选信号,CS=0时,该芯片被选中时,该芯片被选中 RD:来自:来自CPU的的I/O读命令读命令 WR:来自:来自CPU的的I/O写命令写命令 A1、A0:通常接:通常接CPU的地址线的地址线A1、A0 电源线电源线电源线电源线:+5V+5V,地线地线如如果果系系统统产产生生片片选选信信号号的的译译码电路如图,则:码电路如图,则:AENA9A8A7A6A5A4A3A2A1A0IORIOWCSA1A0RDWR8255AA A数据口地址数据口地址=60H=60HB B数据口地址数据口地址=61H=61HC C数据口地址数据口地址=62H=62H控制控制 口地址口地址=

4、63H=63H控制口寄存初始化命令字控制口寄存初始化命令字端口:端口:端口:端口:接口电路中能和接口电路中能和CPUCPU直接交换信息的寄存器直接交换信息的寄存器 8255A8255A有有4 4个端口寄存器个端口寄存器 8255A8255A8255A8255A的端口编址的端口编址的端口编址的端口编址注意注意注意注意:对控制寄存器不能进行读操作对控制寄存器不能进行读操作对控制寄存器不能进行读操作对控制寄存器不能进行读操作CS A1 A0 WR RD完成完成0 0 0 0 1CPUCPU数据数据A A口数据寄存器口数据寄存器0 0 1 0 1CPUCPU数据数据B B口数据寄存器口数据寄存器0 1

5、 0 0 1CPUCPU数据数据C C口数据寄存器口数据寄存器0 1 1 0 1CPUCPU送来的命令字送来的命令字控制寄存器控制寄存器0 0 0 1 0读读A A口数据口数据CPUCPU0 0 1 1 0读读B B口数据口数据CPUCPU0 1 0 1 0读读C C口数据口数据CPUCPUA A A A口可工作在方式口可工作在方式口可工作在方式口可工作在方式0 0 0 0、1 1 1 1、2 2 2 2B B B B口可工作在方式口可工作在方式口可工作在方式口可工作在方式0 0 0 0、1 1 1 1C C C C口可工作在方式口可工作在方式口可工作在方式口可工作在方式0 0 0 0 工作方

6、式工作方式适用于端口适用于端口方式方式方式方式0 0 0 0:基本型入基本型入/出出 A A口、口、B B口、口、C C口口方式方式方式方式1 1 1 1:选通型入选通型入/出出 A A口、口、B B口口方式方式方式方式2 2 2 2:双向传输双向传输 A A口口 11.211.211.211.2 8255A 8255A 8255A 8255A的工作方式简介的工作方式简介的工作方式简介的工作方式简介什么是选通型输入?(以什么是选通型输入?(以什么是选通型输入?(以什么是选通型输入?(以A A口为例)口为例)口为例)口为例)A口口定定义义为为选选通通型型输输入入时时,端端口口和和外设之间有两类信

7、号线外设之间有两类信号线 数据线数据线PA7PA0 联络线联络线IBFA、STBAIBF(Input Buffer Full)输入缓冲器满输入缓冲器满状态线状态线输输入入设设备备PA70IBFASTBA8255A口口STB(Strobe)选通信号输入选通信号输入 IBF=1,通知外设输入缓冲器已满,请不要再送数据通知外设输入缓冲器已满,请不要再送数据 只有在只有在IBF=0时时,外设才能写入数据外设才能写入数据 当当外外设设把把数数据据放放在在端端口口线线上上时时必必须伴随一个选通信号。须伴随一个选通信号。当当STB=STB=时完成数据锁存。时完成数据锁存。端端口口收收到到数数据据后后,通通过

8、过IBFIBF状状态态告知告知CPUCPU可读可读输输入入设设备备PA70IBFASTBA8255A口口什么是选通型输出什么是选通型输出什么是选通型输出什么是选通型输出?(以(以(以(以B B B B口为例)口为例)口为例)口为例)当当端端口口定定义义为为选选通通型型输输出出时时,端端口口与外设之间也有两类信号与外设之间也有两类信号 数据线数据线PB7PB0 联络线联络线OBFB、ACKBOBF(Output Buffer Full)输出缓冲器满输出缓冲器满状态线状态线ACK(Acknowledge)确认应答确认应答输输出出设设备备PB70OBFBACKB8255B口口输输出出设设备备PB70

9、OBFBACKB8255B口口CPU对对B口口执执行行OUT指指令令,把把一一个个数数8255 OBFB=,通通知知外外设设输输出出缓缓冲冲器已满器已满(即数据线上信息可用了即数据线上信息可用了)外外设设取取走走数数据据之之后后,使使ACKB=,通通知知CPU端端口口数数据据已已取取走走,可可再再送一个数送一个数什么是基本型输入什么是基本型输入什么是基本型输入什么是基本型输入?(?(?(?(以以以以B B B B口为例口为例口为例口为例)当当B B口口定定义义为为基基本本型型输输入入时时,它它相相当当于于一一个个输输入入缓缓冲冲器器,对对B B口口执执行行一一条条ININ指指令令,就就把把输输

10、入数据入数据CPUCPU对对对对B B B B口执行一条口执行一条口执行一条口执行一条ININININ指令打开控制门指令打开控制门指令打开控制门指令打开控制门PB7PB0至至CPUD7D0什么是基本型输出什么是基本型输出(以以A口为例口为例)当当A A口口定定义义为为基基本本型型输输出出时时,它为一个输出锁存器它为一个输出锁存器CPUCPU对对A A口口执执行行一一条条OUTOUT指指令令把把数据锁存在端口数据锁存在端口总之:基本型输入总之:基本型输入/出时,出时,8255和外设之间没有联络信号和外设之间没有联络信号对对A A口执行一条口执行一条OUTOUT指令锁存数据指令锁存数据DQCPPA

11、7PA0CPUD7D0DQCP1.82551.82551.82551.8255控制字控制字控制字控制字82558255有有2 2个个控控制制字字,方方式式选选择择控控制制字字,C C口口按按位位置置0/0/置置1 1命令字,控制字必须写入控制口才能有效命令字,控制字必须写入控制口才能有效 11.311.3 8255A8255A控制字与初始化编程控制字与初始化编程控制字与初始化编程控制字与初始化编程D61D5D3D1D0D2D4C口口PC3PC01=输入输入0=输出输出B组组B口口1=输入输入0=输出输出方式选择方式选择0=方式方式01=方式方式1C口口PC7PC41=输入输入0=输出输出A组组

12、A口口1=输入输入0=输出输出方式选择方式选择00=方式方式001=方式方式11X=方式方式2 方式选择控制字方式选择控制字方式选择控制字方式选择控制字A口工作在方式口工作在方式1、方式、方式2,B口工作在方式口工作在方式1时,时,D3、D0只能定义部分只能定义部分PC线的入线的入/出出A口工作在方式口工作在方式2时,时,D4不起作用不起作用C口上、下半部可以选择不同的入口上、下半部可以选择不同的入/出(都是方式出(都是方式0)注意:注意:注意:注意:C C口按位置口按位置口按位置口按位置0/10/1命令字命令字命令字命令字注注意意:C C口口按按位位置置0/10/1命命令令字字必必须须写写入

13、入控制口控制口X0XD3D1D0D2XD3D2D1位选择位选择0 0 0PC00 0 1PC10 1 0PC20 1 1PC31 0 0PC41 0 1PC51 1 0PC61 1 1PC7D0D0功能功能1 1PCXPCX置置1 10 0PCXPCX置置0 0 根根据据需需要要:把把C C口口置置0/0/置置1 1命命令令字字控控制制口口,目目的的是是禁禁止止/允许某一口提中断允许某一口提中断2.2.8255A8255A初始化编程步骤初始化编程步骤初始化编程步骤初始化编程步骤 方式选择命令字方式选择命令字控制口,目的选择某一口的工作方式控制口,目的选择某一口的工作方式例例:要要求求置置A口口

14、为为方方式式0输输出出,B口口为为方方式式0输输入入,PC74为为输输出出,PC30为输入为输入MOV AL,83HOUT 控口地址,控口地址,AL解:方式选择命令字解:方式选择命令字解:方式选择命令字解:方式选择命令字A口口方方式式0A口口输输出出B口口方方式式0B口口输输入入PC74为为输输出出PC30为为输输入入01001100一、一、方式方式0 0与时序与时序数据有效数据有效tARtIR端口数据有效端口数据有效tHRtRAtRDtDFtRRRD输入输入CS,A1,A0D7D0方式方式0 输入时序输入时序 11.411.4 8255A8255A工作方式与时序工作方式与时序工作方式与时序工

15、作方式与时序数据有效数据有效tAWtDW数据有效数据有效tWDtWAtWBtWWWR输出(端口输出)输出(端口输出)CS,A1,A0D7D0(CPU输出数据)输出数据)方式方式0 输出时序输出时序二、二、方式方式1输入(选通型输入)及时序输入(选通型输入)及时序1 0 1 1 1/0 X X XA口口方式方式11=PC7、6为入线为入线0=PC7、6为出线为出线方式选择命令字方式选择命令字输入输入PC4PC5PC3INTEAPC76PA70空闲空闲STBAIBFAINTRAA口选通型输入口选通型输入1.A口方式口方式1输入的预置输入的预置当当方方式式字字=B0H写写入入控控制制口口之之后,后,

16、A口即工作在口即工作在选通型输入选通型输入,PC7、PC6空闲,输出线?输入线?受方式字空闲,输出线?输入线?受方式字D3控制控制PA7PA0即为输入线即为输入线PC4自动定义为入线,称为自动定义为入线,称为STBAPC5自动定义为出线,称为自动定义为出线,称为IBFAPC3自动定义为出线,称为自动定义为出线,称为INTRA它们是输出线?输入线?不再受方式字它们是输出线?输入线?不再受方式字D3D3、D0D0控制控制此时:此时:PC4PC5PC3INTEAPC76PA70空闲空闲STBAIBFAINTRAA口选通型输入口选通型输入 当当INTEA=1之后,若之后,若IBFA=1,则,则A口提出

17、中断请求口提出中断请求2.A口方式口方式1输入时,输入时,A口的中断管理口的中断管理用用C口口置置0/置置1命命令令字字使使PC4=1,则则INTEA=1,允许允许A口中断口中断用用C口口置置0/置置1命命令令字字使使PC4=0,则则INTEA=0,禁止禁止A口中断口中断 INTEA为为A口口的的中中断断允允许许触触发发器器,当当A口定义为方式口定义为方式1输入时:输入时:注注意意:中中断断允允许许触触发发器器只只能能受受CPU控控制制,外外设设信信号号STBA不能使其置不能使其置0/1PC4PC5PC3INTEAPC76PA70空闲空闲STBAIBFAINTRAA口选通型输入口选通型输入1

18、X X X X 1 1 XB口方式口方式1输入输入方式选择命令字方式选择命令字PC2PC1PC0INTEBPB70STBBIBFBINTRBB口选通型输入口选通型输入3.B口方式口方式1输入的预置输入的预置当当方方式式字字=86H写写入入控控制制口口之后,之后,B口即工作在选通型输入,口即工作在选通型输入,PB7PB0即为输入线即为输入线PC2自动定义为入线,称为自动定义为入线,称为STBBPC1自动定义为出线,称为自动定义为出线,称为IBFBPC0自动定义为出线,称为自动定义为出线,称为INTRB输输出出线线?输输入入线线?不不再再受受方方式式字字D0控制控制此时:此时:STBBPC2PC1

19、PC0INTEBPB70B口选通型输入口选通型输入IBFBINTRB4.B口方式口方式1输入时的中断管理输入时的中断管理 INTEB=1之之后后,若若IBFB=1,则则INTRB=1,B口口可可提提出出中中断请求断请求 INTEB为为B口口的的中中断断允允许许触触发发器器,当当B口口工工作作在在方方式式1输入时:输入时:用用C口口置置0/1命命令令字字使使PC2=1,则则INTEB=1,允允许许B口口中中断断;用用C口口置置0/1命命令令字字使使PC2=0,则则INTEB=0,禁止禁止B口中断口中断 注注意意:中中断断允允许许触触发发器器INTEB受受CPU控控制制,外外设设信信号号STBB不

20、能使不能使INTEB置置0/1STBBPC2PC1PC0INTEBPB70B口选通型输入口选通型输入IBFBINTRB5.方式方式1输入的时序图输入的时序图方式方式1 输入时序输入时序tSITtSIBtRITtRIBtPStPHtSTSTBIBFINTRRD来自外设的来自外设的输入数据输入数据方式方式1输入操作是由输入操作是由STB=引发的,引发的,STB=后:后:外设数据外设数据8255,IBF=STBIBFINTRRD来自外设的来自外设的输入数据输入数据 满足下列条件,提中断请求:满足下列条件,提中断请求:STB信号结束(信号结束(STB脉宽可以很宽)脉宽可以很宽)IBF=1,(,(外设数

21、据确已锁存)外设数据确已锁存)INTE=1(中断允许触发器置中断允许触发器置1)STBIBFINTRRD来自外设的来自外设的输入数据输入数据 服务程序执行服务程序执行IN指令之后:指令之后:RD信号前沿使信号前沿使INTR=,后沿使后沿使IBF=0 从而结束一次数据输入过程从而结束一次数据输入过程STBIBFINTRRD来自外设的来自外设的输入数据输入数据6.方式方式1输入时,输入时,CPU8255信息交换的方式信息交换的方式 可以用中断方式可以用中断方式 可可以以用用查查询询方方式式,输输入入查查询询应应查查询询IBF,不不应应该该查查询询STB!STB脉脉冲冲是是外外设设送送来来,它它最最

22、小小可可小小到到500ns,而而在在500ns的时间内正好运行的时间内正好运行CPU的查询指令是不可能的的查询指令是不可能的三、三、方式方式1输出输出(选通型输出选通型输出)及时序及时序1 0 1 0 1/0 X X XA口方口方式式1输输出出1=PC4、5为入线为入线0=PC4、5为出线为出线方式选择命令字方式选择命令字PC6PC7PC3INTEAPC4、5PA70空闲空闲ACKAOBFAINTRAA口选通型输出口选通型输出PC6PC7PC3INTEAPC4、5PA70空闲空闲ACKAOBFAINTRAA口选通型输出口选通型输出1.A口方式口方式1输出的预置输出的预置当当方方式式字字=A0H

23、写写入入控控制制口口之之后后,A口口即即工工作作在在选选通通型型输输出方式,出方式,PC4、PC5空闲,出?入?受方式字空闲,出?入?受方式字D3控制控制PA70为输出线为输出线PC6自动定义为入线,称自动定义为入线,称ACKAPC7自动定义为出线,称自动定义为出线,称OBFAPC3自动定义为出线,称自动定义为出线,称INTRA输输出出?输输入入?不不再再受受方方式式字字D3、D0控控制制此时:此时:2.方式方式1输出时输出时A口的中断管理口的中断管理 INTEA为为A口口的的中中断断允允许许触触发发器器,当当A口定义为方式口定义为方式1 输出时:输出时:用用C口口置置0/置置1命命令令字字使

24、使PC6置置1,则则INTEA=1,允许允许A口中断口中断用用C口口置置0/置置1命命令令字字使使PC6置置0,则则INTEA=0,禁止禁止A口中断口中断 当当INTEA=1之后,若之后,若OBFA=1,则,则A口提中断口提中断 INTEA只能受只能受CPU控制,外设控制,外设ACKA信号不能改变其状态信号不能改变其状态PC6PC7PC3INTEAPC4、5PA70空闲空闲ACKAOBFAINTRAA口选通型输出口选通型输出1 X X X X 1 0 XB口方式口方式1输出输出方式选择命令字方式选择命令字ACKBOBFBINTRBPC2PC1PC0INTEBPB70B口选通型输出口选通型输出O

25、BFBPC2PC1PC0INTEBPB70B口选通型输出口选通型输出ACKBINTRB3.口方式输出的设置口方式输出的设置当方式字当方式字=84H控制口之后,控制口之后,B口即工作在选通型输出方式,口即工作在选通型输出方式,入入线线?出出线线?不不再再受方式字受方式字D0控制控制PB7PB0定义为输出线定义为输出线PC2自动定义为入线,称为自动定义为入线,称为ACKBPC1自动定义为出线,称为自动定义为出线,称为OBFBPC0自动定义为出线,称为自动定义为出线,称为INTRB此时:此时:4.方式方式1输出时,输出时,B口的中断管理口的中断管理 INTEB为为B口口的的中中断断允允许许触触发发器

26、器,当当B口工作在方式口工作在方式1输出时:输出时:用用C口口置置0/1命命令令字字使使PC2=1,则则INTEB=1,允许允许B口中断口中断用用C口口置置0/1命命令令字字使使PC2=0,则则INTEB=0,禁止禁止B口中断口中断 INTEB置置1后,后,OBFB=1,则,则INTRB=1,B口提出中断口提出中断 同样,同样,ACKB不能改变不能改变INTEB的状态,它只受的状态,它只受CPU控制控制OBFBPC2PC1PC0INTEBPB70B口选通型输出口选通型输出ACKBINTRB5.方式方式1输出的时序图输出的时序图方式方式1 输出时序输出时序tAXtWOBtAOBtAITtWBtW

27、ITOBFINTRWR输出输出ACK方式方式1输出时输出时 CPU针对针对8255数据口执行数据口执行OUT指令指令K WR信号结束后,数据出现在外设数据线上信号结束后,数据出现在外设数据线上KOBF有效(向外设通报其数据线信息可用)有效(向外设通报其数据线信息可用)K使使INTR无效,撤销中断请求无效,撤销中断请求OBFINTRWR输出输出ACK 外外设设取取走走数数据据后后,发发来来ACK,ACK信信号号前前沿沿使使OBF无效,后沿提中断。无效,后沿提中断。OBFINTRWR输出输出ACK工作在方式工作在方式1输出时端口提中断的条件:输出时端口提中断的条件:J 外设发出外设发出ACK信号且

28、使信号且使OBF=1J 中断允许触发器置中断允许触发器置1OBFINTRWR输出输出ACK6.方式方式1输出时,输出时,CPU8255交换信息的方式交换信息的方式 中断方式中断方式 查查询询方方式式:查查询询OBF,当当OBF=1(不不满满)时时可可送送下下一一个个数据数据四、四、8255的双向方式的双向方式只有只有A口可以工作在双向方式口可以工作在双向方式当当A口口工工作作在在双双向向方方式式时时,B口口可可以以工工作作在在基基本本型型I/O(不不需需要要联联络络线线),也也可可以以工工作作在在选选通通型型I/O(使使用用PC0、1、2做联络线)做联络线)00B口方式口方式0输出输出01B口

29、方式口方式0输入输入10B口方式口方式1输出输出11B口方式口方式1输入输入1.1.双向方式的设置双向方式的设置PC7PC6PC3INTE1PC20PA70PC4PC5空闲空闲INTRAACKAOBFAIBFASTBAINTE2方式选择命令字方式选择命令字1 1 X X X D2 D1 D0A口口双向双向1=PC20为入线为入线0=PC20为出线为出线A口定义为双向方式之后:口定义为双向方式之后:PA70是双向的数据线,可以分时完成数据输入是双向的数据线,可以分时完成数据输入/出出PC3自动定义为出线:自动定义为出线:INTRAPC7自动定义为出线:自动定义为出线:OBFAPC6自动定义为入线

30、:自动定义为入线:ACKAPC4自动定义为入线:自动定义为入线:STBAPC5自动定义为出线:自动定义为出线:IBFAPC20空闲空闲入入/出出线线?不不再再受受方方式式字字D3、D0的控制的控制IBFA、STBA是双向方式中的一对输入联络线是双向方式中的一对输入联络线OBFA、ACKA是双向方式中的一对输出联络线是双向方式中的一对输出联络线数据输入过程数据输入过程,数据输出过程与方式数据输出过程与方式1类似类似PC7PC6PC3INTE1PC20PA70PC4PC5空闲空闲INTRAACKAOBFAIBFASTBAINTE22.A口双向方式的中断管理口双向方式的中断管理 INTE1为为双双向

31、向方方式式中中的的输输出出中断允许触发器中断允许触发器用用C口口置置0/1命命令令字字使使PC6置置0,则则INTE1=0 用用C口口置置0/1命命令令字字使使PC6置置1,则则INTE1=1INTE1置置1后后,若若OBFA=1,则则INTRA=1,提出中断请求提出中断请求A口定义为双向方式之后:口定义为双向方式之后:INTE2INTE2为为双双向向方方式式中中的的输输入入中中断允许触发器断允许触发器用用C C口口置置0/10/1命命令令字字使使PC4PC4置置0 0,则则INTE2=0INTE2=0用用C C口口置置0/10/1命命令令字字使使PC4PC4置置1 1,则则INTE2=1IN

32、TE2=1INTE2INTE2置置 1 1后后,若若 IBFIBFA A=1=1,则则INTRINTRA A=1=1,提出中断请求提出中断请求PC7PC6PC3INTE1PC20PA70PC4PC5空闲空闲INTRAACKAOBFAIBFASTBAINTE2INTE1:双向方式中的输出中断允许触发器双向方式中的输出中断允许触发器INTE2:双向方式中的输入中断允许触发器双向方式中的输入中断允许触发器IBFA、STBA是双向方式中的一对输入联络线是双向方式中的一对输入联络线OBFA、ACKA是双向方式中的一对输出联络线是双向方式中的一对输出联络线在在IBFA=0时表示输入缓冲器空闲时表示输入缓冲

33、器空闲输入设备把数据输入设备把数据PA70,随后使随后使STBA=完成数据输入,在完成数据输入,在INTE2=1的前提下向的前提下向CPU提中断提中断CPU响应后对响应后对A口执行口执行IN指令取走数据指令取走数据CPU输入:输入:CPU对对A口执行口执行OUT指令,数据写入指令,数据写入A口口OBFA=0表示表示PA70有数据了有数据了外设取走数据后,向外设取走数据后,向ACKA送送在在INTE1=1的前提下向的前提下向CPU提出中断提出中断CPU响响应应后后再再次次执执行行OUT指指令令又又送送一一个个新新的的数数据据A口口输出:输出:方式方式0的特点:的特点:8255和外设交换信息时,不

34、需要联络线和外设交换信息时,不需要联络线;方式方式1、2的特点:的特点:8255和外设交换信息时,需要联络线和外设交换信息时,需要联络线五、五、8255小结小结1.82551.8255工作方式工作方式工作方式工作方式 A口可以工作在方式口可以工作在方式0、1、2,B口可以工作在方式口可以工作在方式0、1,不,不能工作在方式能工作在方式2,C口可以工作在方式口可以工作在方式0 C口分为口分为PC74、PC30二部分,但程序员对二部分,但程序员对C口的读写是按口的读写是按字节操作的字节操作的 A口工作在方式口工作在方式2时,时,B口只能工作在方式口只能工作在方式0、1(限制:(限制:CPU只能用查

35、询而不能用中断和只能用查询而不能用中断和B口交换数据)口交换数据)数据口工作在方式数据口工作在方式1 1、2 2时,时,CPUCPU用:用:(a)(a)查询方式:输入查询测试查询方式:输入查询测试IBFIBF,输出查询测试输出查询测试OBFOBF2.CPU2.CPU2.CPU2.CPU与与与与8255825582558255交换信息的方式交换信息的方式交换信息的方式交换信息的方式 数据口工作在方式数据口工作在方式0 0时,时,CPUCPU采用无条件传送采用无条件传送(b)(b)中中断断方方式式:由由于于82558255本本身身不不能能向向CPUCPU回回送送中中断断向向量量,所所以以必必须须用

36、用82598259管管理理。在在系系统统外外扩扩82558255时时,82558255的的INTRINTR应应接接到到系系统统机机从从82598259的的IR1IR1,作作为为用用户户中中断断来来处处理理3.3.中断允许触发器的置中断允许触发器的置0 0、置、置1 1对对程程序序员员来来讲讲:工工作作在在方方式式1 1、方方式式2 2时时,82558255内内部部有有4 4个个中中断断允允许许触触发发器器,用用“C C口口专专用用的的置置0/10/1命命令令字字”可可以以使使它们置它们置0/10/1A A口方口方式式1 1入入A A口方式口方式1 1出出B B口方口方式式1 1入入B B口方口

37、方式式1 1出出A A口双口双向向INTEAINTEAPC4PC4PC6PC6INTEBINTEBPC2PC2PC2PC2INTE1INTE1PC6PC6INTE2INTE2PC4PC4方方式式控制控制位位中断允中断允许触发器许触发器如:如:A A口工作在方式口工作在方式1 1入时,执行:入时,执行:MOV ALMOV AL,00001001B00001001BOUT 8255OUT 8255控制口,控制口,ALAL;即可使即可使INTEAINTEA置置1 1,允许中断,允许中断4.8255的初始化编程的初始化编程 工作在方式工作在方式0时:方式选择命令字时:方式选择命令字控制口控制口 工作在

38、方式工作在方式1、2时:时:a)方式选择命令字方式选择命令字控制口控制口b)允许中断(或禁止中断)的命令字允许中断(或禁止中断)的命令字控制口控制口六、六、六、六、8255825582558255应用举例应用举例应用举例应用举例例例例例:设设系系统统机机外外扩扩了了一一片片82558255、以以及及相相应应的的实实验验电电路路,如如后后页页图图所所示示。要要求求:先先预预置置开开关关K3K3K1K1为为一一组组状状态态,然然后后按按下下自自复复按按钮钮K K 产产生生一一个个负负脉脉冲冲信信号号输输入入到到PC4PC4。用用发发光光二二极极管管LEDiLEDi亮亮来来显显示示K3K3K1K1的

39、的状状态态。主主机机键键盘有任意键按下时结束演示。盘有任意键按下时结束演示。K3 K2 K1000 时时,LED1 亮亮 K3 K2 K1001 时时,LED2 亮亮K3 K2 K1010 时时,LED3 亮亮 K3 K2 K1011 时时,LED4 亮亮K3 K2 K1100 时时,LED5 亮亮 K3 K2 K1101 时时,LED6 亮亮K3 K2 K1110 时时,LED7 亮亮K3 K2 K1111 时时,LED8 亮亮K3K1闭合为闭合为0,断开为断开为1。要求要求要求要求:实验电路图(教实验电路图(教材材P347)D7D0D7D05VRESETIORIOWRDWR口地址译码口地址

40、译码218H21FHA1A1A0A082555VLED8LED7LED1PB7PB6PB0PA2PA1PA0K3K2K15V单脉冲发生器单脉冲发生器PC4KPC5IBFAINTRAPC3INTEACSSTBAA口口:218H,21CHB口口:219H,21DHC口口:21AH,21EH控口控口:21BH,21FH 端口地址端口地址设计思路设计思路设计思路设计思路D7D0D7D05VRESETIORIOWRDWR口地址译码口地址译码218H21FHA1A1A0A082555VLED8LED7LED1PB7PB6PB0PA2PA1PA0K3K2K15V单脉冲发生器单脉冲发生器PC4KPC5IBFA

41、INTRAPC3INTEACSSTBAD7D0D7D05VRESETIORIOWRDWR口地址译码口地址译码218H21FHA1A1A0A082555VLED8LED7LED1PB7PB6PB0PA2PA1PA0K3K2K15V单脉冲发生器单脉冲发生器PC4KPC5IBFAINTRAPC3INTEACSSTBA 8255工作方式的选择工作方式的选择B口应为基本型输出口应为基本型输出A口应为选通型输入口应为选通型输入设计思路设计思路设计思路设计思路D7D0D7D05VRESETIORIOWRDWR口地址译码口地址译码218H21FHA1A1A0A082555VLED8LED7LED1PB7PB6

42、PB0PA2PA1PA0K3K2K15V单脉冲发生器单脉冲发生器PC4KPC5IBFAINTRAPC3INTEACSSTBA 8255和和CPU交换信交换信息的方式息的方式设计思路设计思路设计思路设计思路CPU8255B口用无条口用无条件输出件输出D7D0RESETRDWRA1A082555VLED8LED7LED1PB7PB6PB0PA2PA1PA0K3K2K15V单脉冲发生器单脉冲发生器PC4KPC5IBFAINTRAPC3INTEACSSTBA设计思路设计思路设计思路设计思路 CPU8255A口口交换交换信息信息解法解法1:查询方式,当查询方式,当PC5=1时,表示时,表示K3K2K1的

43、值已写入的值已写入A口了口了解法解法2:中断方式,中断方式,PC3接系统从接系统从8259 IR1,按用户中断处理,按用户中断处理A口禁止中断命令字口禁止中断命令字0 X X X 1 0 0 0=08H 用查询方式编程:用查询方式编程:方式选择命令字:方式选择命令字:1 0 1 1 X 0 0 X=B0HA口口方式方式1A口口输入输入B口口方式方式0B口口输出输出B口方式口方式0输出,输出,A口选通型输入查询口选通型输入查询查询方式程序清单查询方式程序清单 .486DATA SEGMENTMESG DB 8255A READY.,0DH,0AH,$TAB DB 11111110B DB 111

44、11101B DB 11111011B DB 11110111B DB 11101111B DB 11011111B DB 10111111B DB 01111111BDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATABEG:MOV AX,DATA MOV DS,AX CALL I8255A ;8255A初始化初始化 MOV AH,9 MOV DX,OFFSET MESG INT 21H ;给出操作提示给出操作提示SCAN:MOV AH,1 INT 16H ;有键入有键入?JNZ RETURN ;有有 MOV DX,21AH IN AL,DX ;读读825

45、5A C口口 TEST AL,00100000B ;PC5=1?JZ SCAN ;NO MOV DX,218H IN AL,DX ;读读8255A A口口 AND AL,07H MOV BX,OFFSET TAB XLAT TAB ;查表查表 MOV DX,219H OUT DX,AL ;表项输出到表项输出到B口口 JMP SCANRETURN:MOV AH,4CH INT 21H ;返回返回 DOSI8255A PROC MOV DX,21BH MOV AL,0B0H OUT DX,AL ;写入工作方式字写入工作方式字 MOV AL,08H OUT DX,AL ;令令PC4=0(INTE A

46、=0)MOV DX,219H MOV AL,0FFH OUT DX,AL ;熄灭熄灭LED RETI8255A ENDPCODE ENDS END BEG 用中断方式编程用中断方式编程用中断方式编程用中断方式编程A口允许中断命令字口允许中断命令字0 X X X 1 0 0 1=09H把实验电路把实验电路8255PC3接接ISA总线总线B4端子端子以便向系统机提以便向系统机提出用户中断请求出用户中断请求B口方式口方式0输出,输出,A口方式口方式1输入,中断方式输入,中断方式方式选择命令字:方式选择命令字:1 0 1 1 X 0 0 X=B0HA口方式口方式1输入输入B口方式口方式0输出输出中断方

47、式程序清单中断方式程序清单 .486DATA SEGMENTMESG DB 8255A READY.,0DH,0AH,$TAB DB 11111110B DB 11111101B DB 11111011B DB 11110111B DB 11101111B DB 11011111B DB 10111111B DB 01111111BDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATABEG:MOV AX,DATA MOV DS,AX CLI CALL I8255A ;8255A初始化初始化 CALL WRITE0A ;置换置换0AH型中断向量型中断向量 CA

48、LL I8259 ;开放用户中断开放用户中断 MOV AH,9 MOV DX,OFFSET MESG INT 21H ;给出操作提示给出操作提示 STI ;开中断开中断SCAN:MOV AH,1 INT 16H ;有键入有键入?JZ SCAN ;无转无转 ;有返回有返回DOSSERVICE PROC ;为中断服务为中断服务 MOV AL,20H ;中断结束命令中断结束命令 OUT 20H,AL ;主主8259 POP DS POP AX IRET ;中断返回中断返回SERVICE ENDPI8255A PROC MOV DX,21BH MOV AL,0B0H OUT DX,AL ;写入方式字写

49、入方式字 MOV AL,09H OUT DX,AL ;PC4=1,(INTE A=1)MOV DX,219H MOV AL,0FFH OUT DX,AL ;熄灭熄灭LED RETI8255A ENDPWRITE0A PROC PUSH DS MOV AX,CODE MOV DS,AX MOV DX,OFFSET SERVICE MOV AX,250AH INT 21H POP DS RETWRITE0A ENDPI8259 PROC IN AL,21H AND AL,11111011B OUT 21H,AL IN AL,0A1H AND AL,11111101B OUT 0A1H,AL ;开放用户中断开放用户中断 RETI8259 ENDPCODE ENDS END BEG十 四

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

当前位置:首页 > 生活休闲 > 生活常识

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

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