书签 分享 收藏 举报 版权申诉 / 60
上传文档赚钱

类型[工学]可编程外围接口芯片8255A及其应用课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:5102251
  • 上传时间:2023-02-11
  • 格式:PPT
  • 页数:60
  • 大小:550.02KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《[工学]可编程外围接口芯片8255A及其应用课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    工学 可编程 外围 接口 芯片 8255 及其 应用 课件
    资源描述:

    1、 8255A 8255A是是INTERINTER系列的并行接口芯片。它是可系列的并行接口芯片。它是可编程的,可以通过软件来设置芯片的工作方式。编程的,可以通过软件来设置芯片的工作方式。数据端口数据端口A、B、C1.8255A内部包含3个8位的输入输出端口A、B和C,用于与外设交换数据或进行通信联络。2.端口A包含一个8位的数据输入锁存器和一个8位的数据输出锁存器缓冲器,因此A口作输入、输出可以同时锁存数据。3.端口B包含一个8位的数据输入输出锁存器和一个8位的数据输入缓冲器,输出数据可以锁存,输入数据也可锁存,但输入/输出不能同时锁存。4.端口C包含一个8位的数据输入缓冲器和一个8位的数据输出

    2、锁存器,无输入锁存功能,当它被分成两个4位端口时,每个端口有一个4位的输出锁存器。2、A组和B组控制逻辑1.8255A的端口A和端口C的高4位(PC7PC4)由A组控制逻辑管理,端口B和端口C的低4位(PC3PC0)由B组控制逻辑管理。2.这两组控制电路都从读/写控制逻辑接受命令信号,从内部数据总线接收控制字,然后向各有关端口发出相应的控制命令,控制每个端口的工作方式。3.还可以根据CPU的命令字对端口C的每一位按位进行置位或复位。3、数据总线缓冲器1.双向三态的8位缓冲器,用作8255A和系统数据总线之间的接口。2.当片选信号 CS=0 时,通过这个缓冲器和与之相连的8位数据总线D7D0,从

    3、CPU接收的数据或控制字,向CPU传送外设的数据或状态信息。3.当片选信号 CS=1 时,数据总线缓冲器与外部总线D7D0之间为高阻状态,即电气隔离状态;RESETRESET:复位信号,低电平有效。:复位信号,低电平有效。D D7 7D D0 0:和数据线相连。:和数据线相连。CSCS:芯片选择信号,低电平有效。芯片选择信号,低电平有效。RDRD:芯片读出信号,低电平有效。芯片读出信号,低电平有效。WRWR:芯片写入信号,低电平有效。芯片写入信号,低电平有效。A A1 1、A A0 0:端口选择信号。:端口选择信号。A A1 1A A0 0=00,=00,选中端口选中端口A;A;A A1 1A

    4、 A0 0=01,=01,选中端口选中端口B;B;A A1 1A A0 0=10,=10,选中端口选中端口C;C;A A1 1A A0 0=11,=11,选中控制端口选中控制端口;4 4、读写控制信号、读写控制信号A1A0操 作00001端口A数据总线00101端口B数据总线01001端口C数据总线01101非法状态00010数据总线端口A00110数据总线端口B01010数据总线端口C01110数据总线控制字寄存器0XX11数据总线高阻态1XXXXCSRDWR8255A的控制字的控制字8255A8255A控制字分为两类。控制字分为两类。n 芯片各端口的芯片各端口的方式选择控制字方式选择控制字

    5、,它可以,它可以使使8255A8255A的的3 3个数据端口工作在不同的工作个数据端口工作在不同的工作方式。方式。n C C端口端口置位置位/复位控制字复位控制字,它可以使,它可以使C C端口端口中的任何一条口线进行置位或复位,而不中的任何一条口线进行置位或复位,而不影响其他各位的状态。影响其他各位的状态。2.2.0 D7 D6 D5 D4 D3 D2 D1 D01=置置10=置置0端口端口C置置1/0控制字控制字0 0 0 PC00 0 1 PC10 1 0 PC20 1 1 PC31 0 0 PC41 0 1 PC51 1 0 PC61 1 1 PC7图、端口图、端口C置置1/0控制字控制

    6、字例例1:设:设A端口工作方式端口工作方式0,输出,输出,B端口工作于方式端口工作于方式0,输入。,输入。方式选择控制字:方式选择控制字:1 0 0 0 1/0 0 1 1/0 =10000010=82H 方方式式选选择择A口口方方式式0A口口输输出出C口口高高位位不不用用B口口方方式式0B口口输输入入C口口低低位位不不用用:设:设8255A的控制口地址为的控制口地址为00EEH,要求对,要求对端口端口C的的PC7置置1,则控制字,则控制字00001111B=0FH,要求对端口要求对端口C的的PC3置置0,控制字为,控制字为00000110B=06H。n下面的程序可以实现上述要求:下面的程序可

    7、以实现上述要求:MOV AL ,0FH ;对对PC7置置1的控制字的控制字 MOV DX ,00EEH ;控制口地址送控制口地址送DX OUT DX ,AL ;对对PC7置置1操作操作 MOV AL ,06H ;对对PC3置置0的控制字的控制字 OUT DX ,AL ;对对PC3进行置进行置0的操作的操作 适用于不需要用应答信号的简单输入输出场合。适用于不需要用应答信号的简单输入输出场合。在这种方式下,在这种方式下,A口和口和B口可作为口可作为8位的端口,位的端口,C口的高口的高4位和低位和低4位可作为两个位可作为两个4位的端口。位的端口。这这4个端口中的任何一个可作输入或者输出,个端口中的任

    8、何一个可作输入或者输出,从而构成从而构成16种不同的输入输出组态。在实际应种不同的输入输出组态。在实际应用时,用时,C口的两半部分也可以合在一起,构成口的两半部分也可以合在一起,构成一个一个8位的端口。这样位的端口。这样8255A可构成可构成3个个8位的端位的端口,或两个口,或两个8位、两个位、两个4位的端口。位的端口。CPU与这些端口交换数据时,可以直接用输入与这些端口交换数据时,可以直接用输入指令从指定端口读取数据,或用输出指令将数指令从指定端口读取数据,或用输出指令将数据写入指定的端口。据写入指定的端口。由于输入不能锁存,在用由于输入不能锁存,在用IN指令读取数据时,指令读取数据时,所得

    9、到的数据是信号有效时端口线上的状态。所得到的数据是信号有效时端口线上的状态。在输出方式下,用在输出方式下,用OUT指令把指令把CPU的数据写入的数据写入端口时,信号把数据锁存到该端口的输出锁存端口时,信号把数据锁存到该端口的输出锁存器中,输出口线上的数据会一直保持不变,直器中,输出口线上的数据会一直保持不变,直到再次改变锁存器的值为止。到再次改变锁存器的值为止。A口和B口均可工作于输人或输出方式,这两个8位数据口的输入、输出数据都能锁存。C口被定义为A口、B口的联络信号,PC0PC2作端口B的状态和控制线,PC3PC7作端口A的状态和控制线,用于提高数据交换性能。方式1下输入、输出的操作时序与

    10、引脚定义不同。在采用中断方式进行输入/输出的场合,如果外部设备能为8255A提供选通信号或着数据接收应答信号,则通常使用8255A的端口工作方式1的情况。STB(Strobe)选通信号,低电平有效,)选通信号,低电平有效,它是由外设送给它是由外设送给8255A的。当该信号有效的。当该信号有效时,时,8255A将外部设备通过端口数据线将外部设备通过端口数据线PA7PA0或或PB7PB0输入的数据送到对输入的数据送到对应端口的输入锁存器中。应端口的输入锁存器中。IBF(Input Buffer Full):输入缓冲器):输入缓冲器满信号,高电平有效,满信号,高电平有效,8255A输出给外设输出给外

    11、设的应答,要求外设不能再送数据。的应答,要求外设不能再送数据。INTR(Interrupt Request):中断请求信):中断请求信号,高电平有效,号,高电平有效,8255A输出给输出给CPU的中的中断请求信号。只有当断请求信号。只有当STB、IBF和和INTE三三者都高时,者都高时,INTR才能被置为高电平。才能被置为高电平。INTE(Interrupt Enable):中断允许信):中断允许信号,为号,为1时,使端口处于中断允许状态,而时,使端口处于中断允许状态,而为为0时,使端口处于中断屏蔽状态。没有外时,使端口处于中断屏蔽状态。没有外部引出脚。用软件才能使这两个触发器置部引出脚。用软

    12、件才能使这两个触发器置或清或清0。INTE_A由由C口按位操作控制字口按位操作控制字通过对通过对PC4位的置位位的置位/复位来控制,复位来控制,INTE_B通过通过PC2位控制。位控制。例:例:MOVAL,0000 1001BOUTCTRL_PORT,AL;INTEA1 RDPA7PA0INTE APC4PC5PC3PC6.PC7I OINTRAIBFASTBA来自外设的选同信号输入端来自外设的选同信号输入端去外设的输入缓冲区满信号去外设的输入缓冲区满信号送往送往8259A8259A的中断请求信号的中断请求信号中断允许信号中断允许信号,INTE,INTE由置位由置位STB(PC4)STB(PC

    13、4)操作置操作置“1”1”A口方式口方式1输入有关信号的规定输入有关信号的规定10 11 1/0 D7 D6 D5 D4 D3 D2 D1 D0方式方式1PC7.PC61=输入输入0=输出输出端口端口A输入输入11 1 D7 D6 D5 D4 D3 D2 D1 D0端口端口B输入输入方式方式1 RDINTE BPC2PC1PC0PB7PB0STBBIBFBINTRBB口口方式方式1输入输入有关信号的规定有关信号的规定选通信号输入端,来自外设选通信号输入端,来自外设输入缓冲区满信号,送往外设输入缓冲区满信号,送往外设送往送往8259A8259A的中断请求信号的中断请求信号中断允许信号中断允许信号

    14、,INTE,INTE由置位由置位/复位复位STB(PC2)STB(PC2)操作置操作置1/01/0tSTtSIBtSITtPHtRITtRIBtPSIBFINTRPA7 PA0PB7 PB0STBRD1234D7 D0方式方式1输入输入选通输入时序选通输入时序在方式1下,CPU用输入指令对C口进行读操作得到C口状态字,其中存有端口C的握手信号的状态。D7D6D5D4D3D2D1D0XXXXXINTEBIBFBINTRBB组方式1输入状态字为:D7D6D5D4D3D2D1D0I/OI/OIBFAINTEAINTRAXXXA组方式1输入状态字为:OBF(Output Buffer Full)输出缓

    15、冲器满信号,)输出缓冲器满信号,低电平有效,输出。当它为低电平时,表示低电平有效,输出。当它为低电平时,表示CPU已将数据写到已将数据写到8255A的指定输出端口,即数据已的指定输出端口,即数据已被输出锁存器锁存,并出现在端口数据线被输出锁存器锁存,并出现在端口数据线PA7PA0或或PB7PB0上,通知外设可将数据取上,通知外设可将数据取走。走。ACK(Acknowledge):外设的应答信号,低):外设的应答信号,低电平有效,由外设送给电平有效,由外设送给8255A。当它为低电平时,。当它为低电平时,表示表示CPU输出到输出到8255A的的A口或口或B口的数据已被外口的数据已被外设接受。设接

    16、受。INTR(Interrupt Request):中断请求信):中断请求信号,高电平有效,号,高电平有效,8255A输出给输出给CPU的中的中断请求信号。只有当断请求信号。只有当ACK、OBF和和INTE三三者都高时,者都高时,INTR才能被置为高电平。才能被置为高电平。INTE(Interrupt Enable):中断允许信):中断允许信号,为号,为1时,使端口处于中断允许状态,而时,使端口处于中断允许状态,而为为0时,使端口处于中断屏蔽状态。没有外时,使端口处于中断屏蔽状态。没有外部引出脚。用软件才能使这两个触发器置部引出脚。用软件才能使这两个触发器置或清或清0。INTE_A由由C口按位

    17、操作控制字口按位操作控制字通过对通过对 PC6 位的置位位的置位/复位来控制,复位来控制,INTE_B通过通过 PC2 位控制。位控制。10 10 1/0 D7 D6 D5 D4 D3 D2 D1 D0方式方式1PC4.PC51=输入输入0=输出输出端口端口A输出输出A口方式口方式1输出有关信号的规定输出有关信号的规定WRPA7PA0INTE APC3PC6PC7PC4.PC5I OINTRAOBFAACKA输出缓冲区满信号,去外设输出缓冲区满信号,去外设外设响应信号外设响应信号,来自外设来自外设中断请求信号中断请求信号中断允许信号中断允许信号,INTE,INTE由由PC6(ACKPC6(AC

    18、KA A)置置“1”,INTR1”,INTR有效有效11 0 D7 D6 D5 D4 D3 D2 D1 D0端口端口B输出输出方式方式1WRINTE BPC0PC2PC1PC7PC0ACKBOBFBINTRB中断允许信号中断允许信号,INTE,INTE由由ACKACKB B(PC2)(PC2)置置“1”,INTR1”,INTR有效有效输出缓冲区满信号,高电平有效输出缓冲区满信号,高电平有效外设响应信号外设响应信号,是外设送给是外设送给8255A的的中断请求信号中断请求信号B口方式口方式1输出有关信号的规定输出有关信号的规定方式1输出选通输出时序tWITtAITtAOBtWOBINTR1234W

    19、ROBFACKtWB来 自 CPU的 数 据5D7 D0PA7 PA0PB7 PB0输 出 的 数 据在方式1下,CPU用输入指令对C口进行读操作得到C口状态字,其中存有端口C的握手信号的状态。B组方式1输出状态字为:A组方式1输出状态字为:D7D6D5D4D3D2D1D0XXXXXINTEBINTRBBOBFD7D6D5D4D3D2D1D0INTEAI/OI/OINTRAXXXAOBF只有只有A口可以工作于这种方式。在这种方口可以工作于这种方式。在这种方式下,式下,CPU与外设交换数据时,可在单一与外设交换数据时,可在单一的的8位端口数据线位端口数据线PA7PA0上进行,既可上进行,既可以通

    20、过以通过A口把数据传送到外设,又可以从口把数据传送到外设,又可以从A口接收从外设送过来的数据,而且输入口接收从外设送过来的数据,而且输入和输出数据均能锁存。和输出数据均能锁存。端口端口A工作于方式工作于方式2时,端口时,端口C的高的高5位位(PC3PC7)作作A口的联络控制信号,方式口的联络控制信号,方式2看成是看成是A口方式口方式1输出和方式输出和方式1输入的结输入的结合。合。B口可工作在方式口可工作在方式0或方式或方式1,与,与A口无关。口无关。3、方式2双向传输方式 D7 D6 D5 D4 D3 D2 D1 D011端口端口A方式方式B组方式组方式0=方式方式01=方式方式1PC2PC0

    21、1=输入输入0=输出输出端口端口B1=输入输入0=输出输出PC2PC0PC4PC5PC6PC7PC3 INTE1 INTE2I O IBFA STBA ACKA OBFA INTRAWRRDPA7 PA0方式方式2的控制信号的控制信号输出缓冲区满信号输出缓冲区满信号外设收到数据外设收到数据,发响应信号发响应信号外设准备好数据外设准备好数据,发选通信号发选通信号8255A8255A收到数据收到数据,向外设向外设发输入缓冲区满信号发输入缓冲区满信号方式2时序tWITtAOBtWOBINTRA输出有效1234WRtSIB输入有效5OBFAACKASTBAIBFARDPA7PA0tSITtRIB678

    22、输出数据输入数据D7D0D7D6D5D4D3D2D1D0INTEOIBFAINTEIINTRAXXXAOBF注:方式2下,输入、输出都可能通过同一个INTR向CPU提出中断请求,因此在检测到INTR有效时,应该通过查询OBF、IBF状态位,以判断是输出中断还是输入中断。例例1 1、键盘接口、键盘接口IOM/A7A6A5A4A3A0A2A1D7D0RDWRG1CBAG2AG2BA1A0D7D0RDWR5YCS8086系统74LS138+5VPA0PA1PA2PA3PC4PC5PC6PC70123456789ABCDEF1列2列3列4列1行2行3行4行8255A如何检测是否有键按下?如何检测是否有

    23、键按下?1.把所有行线都输出低电平;把所有行线都输出低电平;2.当所有按键都没有按下时,所有列线都不当所有按键都没有按下时,所有列线都不与行线连接,而是通过上拉电阻直接挂在与行线连接,而是通过上拉电阻直接挂在+5V,这时读取列线只能得到高电平,这时读取列线只能得到高电平,PA3PA0=1111。3.如果至少有一个键按下,则如果至少有一个键按下,则PA3PA0中中至少有一个是至少有一个是0。把行线全定为低电平,。把行线全定为低电平,再比较列线是否都是高电平,就可知是否再比较列线是否都是高电平,就可知是否有键按下。有键按下。如何确定按下的是哪个键?如何确定按下的是哪个键?1.当有键按下时,采用逐行

    24、检查的方法来确定按当有键按下时,采用逐行检查的方法来确定按下的按键。下的按键。2.检查第检查第r行时,只把该行线设为低电平,其余行行时,只把该行线设为低电平,其余行线都是高电平,然后读取列线的状态。线都是高电平,然后读取列线的状态。3.如果列线都是高电平,则该行上的按键都没有如果列线都是高电平,则该行上的按键都没有被按下;如果第被按下;如果第c条列线等于低电平,则可确定条列线等于低电平,则可确定第第r行、第行、第c列交叉处的按键被按下。列交叉处的按键被按下。4.并称此时的行线、列线状态为并称此时的行线、列线状态为行码行码、列码列码,把,把行码放在前,列码放在后,形成按键行码放在前,列码放在后,

    25、形成按键扫描码扫描码,它表示按键的行列位置。例如,按键它表示按键的行列位置。例如,按键“9”在第在第3行、第行、第2列,其扫描码为列,其扫描码为1101 1011=DBH。5.这种依次按行检查的方法称为行扫描法。这种依次按行检查的方法称为行扫描法。n按键扫描码表示了按键在矩阵中的位置,按键扫描码表示了按键在矩阵中的位置,并不表明并不表明按键功能按键功能含义。例如,按键含义。例如,按键“7”,它的扫描码为它的扫描码为BEH,其功能却是数字,其功能却是数字“7”,称其称其键值键值为为“7”。n在矩阵键盘中,按键的扫描码是唯一确定在矩阵键盘中,按键的扫描码是唯一确定的,但每个按键的键值可能有不同的定

    26、义。的,但每个按键的键值可能有不同的定义。n为了便于实现从扫描码到键值的转换,根为了便于实现从扫描码到键值的转换,根据键值从小到大的顺序,依次存放按键的据键值从小到大的顺序,依次存放按键的扫描码,形成按键扫描码表。扫描码,形成按键扫描码表。n获得按键扫描码后,把它与表中的数据依获得按键扫描码后,把它与表中的数据依次比较,相等时对应的顺序号就是该键的次比较,相等时对应的顺序号就是该键的键值。键值。n按键的抖动与处理按键的抖动与处理1.按键开关通常为机械弹性开关,均利用了按键开关通常为机械弹性开关,均利用了机械触点的闭合、断开作用。由于机械触机械触点的闭合、断开作用。由于机械触点的弹性作用,在闭合

    27、及断开的瞬间均伴点的弹性作用,在闭合及断开的瞬间均伴随有一连串的抖动,抖动时间的长短由按随有一连串的抖动,抖动时间的长短由按键的机械弹性决定,一般键的机械弹性决定,一般510ms;2.操作人员的压键、释键操作表现为按键稳操作人员的压键、释键操作表现为按键稳定闭合、断开,反映在电平上就是稳定的定闭合、断开,反映在电平上就是稳定的低电平、高电平。为了确保低电平、高电平。为了确保CPU对一次击对一次击键动作只确认一次压键,必须消除抖动的键动作只确认一次压键,必须消除抖动的影响。按键操作有几种?影响。按键操作有几种?n软件消除抖动的方法软件消除抖动的方法1.在第一次检测到有键按下时,执行一段延在第一次

    28、检测到有键按下时,执行一段延时时10ms的子程序以后再读取键盘状态,的子程序以后再读取键盘状态,进行比较;进行比较;2.如果两次的状态电平保持一致则认为真正如果两次的状态电平保持一致则认为真正有键稳定按下,从而消除抖动的影响。有键稳定按下,从而消除抖动的影响。3.如果两次的状态不一致,重复前两个步骤如果两次的状态不一致,重复前两个步骤;-;定义各端口地址A_PORTEQU0FFE0H;A口地址B_PORTEQU0FFE2H;B口地址C_PORTEQU0FFE4H;C口地址CTRL_PORTEQU0FFE6H;控制口地址;-;数据段,单个按键扫描码表DATASEGMENTTABLE DB077H

    29、,07BH,07DH,07EHDB0B7H,0BBH,0BDH,0BEH DB0D7H,0DBH,0DDH,0DEHDB0E7H,0EBH,0EDH,0EEHDATAENDS;-STACKSEGMENT;堆栈段DW100 DUP(0)TOP_STACKLABELWORDSTACKENDS;-;-CODESEGMENT;代码段;代码段ASSUMECS:CODE,DS:DATA,SS:STACKMAINPROCFARSTART:MOVAX,STACKMOVSS,AXLEASP,TOP_STACKMOVAX,DATAMOVDS,AX;初始化:;初始化:A组方式组方式0,A口输入,口输入,C口高口高4

    30、位输出位输出MOVDX,CTRL_PORT MOVAL,10010000BOUTDX,AL;检查是否所有键都弹起;检查是否所有键都弹起MOVAL,00HMOVDX,C_PORTOUTDX,AL;所有行线等于;所有行线等于0WAIT_OPEN:MOVDX,A_PORTINAL,DXANDAL,0FHCMPAL,0FHJNEWAIT_OPEN;所有键都弹起;所有键都弹起MOV AL,00H;检查是否有键被按下;检查是否有键被按下MOV DX,C_PORTOUTDX,AL;所有行线等于;所有行线等于0WAIT_PRES:MOV DX,A_PORTINAL,DXANDAL,0FHCMP AL,0FHJ

    31、EWAIT_PRESMOV AH,AL;有键按下时,消抖;有键按下时,消抖MOV CX,16EAHLOOP$INAL,DXANDAL,0FHCMP AL,AHJNEWAIT_PRES;不相等,抖动状态;不相等,抖动状态;稳定状态,确定是哪个键被按下;稳定状态,确定是哪个键被按下MOVCL,0EFH;指向第一行;指向第一行NEXT_ROW:MOVDX,C_PORTMOVAL,CLOUTDX,ALMOVDX,A_PORTINAL,DXANDAL,0FH;低;低4位等于列码位等于列码CMPAL,0FHJNEENCODEROLCL,01;指向下一行;指向下一行JMPNEXT_ROW;检查下一行;检查下

    32、一行ENCODE:ANDCL,0F0H;组成按键扫描码;组成按键扫描码ORAL,CL;AL=扫描码扫描码;根据;根据扫描码扫描码查找查找键值键值NEXT_TRY:MOVBX,000FHCMPAL,TABLEBXJEFINDDECBXJNSNEXT_TRY;MOVAH,001H ;出错标志;出错标志JMPEXITFIND:MOVAL,BL;AL=键值键值0FMOVAH,00HEXIT:HLT;方式方式1输入输入n假设假设8255A的的A、B、C、控制端口地址分别为、控制端口地址分别为70H、71H、72H、73H,PA7PA0分别与分别与PB7PB0对应连接,对应连接,PC4与与PC0连接,连接

    33、,PC3、PC5都悬空。对于以下程序段,指出缓冲区都悬空。对于以下程序段,指出缓冲区BUFFER的内容。的内容。;-START:MOVAL,10111000BOUT73H,ALMOVBX,0000HMOVAL,01HOUT73H,AL MOVAL,00HOUT73H,AL;STB=0MOVAL,88HOUT71H,AL;PA=PB=88HINAL,70H;AL=A口锁存器值口锁存器值=PA7PA0=88HMOVBUFFERBX,ALINCBXMOVAL,01HOUT73H,AL;STB=01,A口锁存口锁存88HINAL,70H;AL=A口锁存器值口锁存器值=88HMOVBUFFERBX,AL

    34、INCBXMOVAL,77HOUT71H,AL;PA=PB=77HINAL,70H;AL=锁存器值锁存器值=88H PA=77HMOVBUFFERBX,AL;-运行结果运行结果BUFFER中数据为:中数据为:88H、88H、88H。方式1输出:打印机接口P C3P C2P C1P C0P B7P B0D A T A7D A T A0STBACK打 印 机8 2 5 9 A 的 I R3未 用8 2 2 5 5 AB U S YINITP C4P C5D A T AACKSTBB U S Y打 印 数 据;定义各端口地址PORT_AEQU2F8H;8255A端口A地址PORT_BEQU2FAH;

    35、8255A端口B地址PORT_CEQU2FCH;8255A端口C地址PORT_CTRL EQU 2FEH;8255A控制口地址PORT_0EQU2F0H;8259A偶地址PORT_1EQU2F2H;8259A奇地址;-STACKSEGMENT;堆栈段DW50 DUP(0)TOP_POINTERLABELWORDSTACKENDS;-DATASEGMENT;数据段 MESS_1DB “This is test!”DB 0DH,0AHMESS_LENEQU$-MESS_1PRNT_DONEDB0POINTERDW0000HCOUNTDB0PRNT_ERRDB0DATAENDSCODESEGMENT

    36、;代码段;代码段ASSUMECS:CODE,DS:DATA,SS:STACKMAINPROCFARSTART:MOVAX,STACKMOVSS,AXLEASP,TOP_ POINTERMOVAX,DATAMOVDS,AX;填写中断向量表;填写中断向量表MOVAX,0000HMOVES,AXMOVBX,00AHSHLBX,1SHLBX,1MOVAX,OFFSET PRNT_INTMOVES:BX,AXMOVAX,SEG PRNT_INTMOVES:BX+2,AX;8259A:边沿触发,单片,非缓冲,非自动:边沿触发,单片,非缓冲,非自动EOI,;8088CPU,允许请求,允许请求IR2MOVDX

    37、,PORT_0 MOVAL,00010011BOUTDX,ALMOVDX,PORT_1 MOVAL,08HOUTDX,ALMOVAL,00000001BOUTDX,ALMOVAL,11111011BOUTDX,AL;8255A:A口方式口方式0输入,输入,C口高口高4位输出,位输出,B口方式口方式1输出,输出,C口低口低4位输入位输入MOVDX,PORT _ CTRLMOVAL,10010100BOUTDX,ALMOVAL,00001001B;OUTDX,AL;初始化打印机,给出负脉冲;初始化打印机,给出负脉冲(PC5=INIT)MOVDX,PORT_CTRLMOVAL,00001011BOU

    38、TDX,AL;=1MOVAL,00001010BOUTDX,AL;=0 MOVCX,17H;延时;延时50usLOOP$MOVAL,00001011BOUTDX,AL;=1;初始化后,;初始化后,PA=XXXX0101,否则,认为错误,否则,认为错误MOVPRINT_ERR,0MOVDX,PORT_A INAL,DXANDAL,0FHCMPAL,00000101BJZSEND_ITMOVCX,16EAH;延时;延时LOOP$INAL,DXANDAL,0FHCMPAL,00000101BJZSEND_ITMOVPRINT_ERR,01H;打印机出错;打印机出错JMPFINSEND_IT:;初始化

    39、发送数据;初始化发送数据MOVAX,OFFSET MESS_1MOVPOINTER,AXMOVPRNT_DONE,0MOVCOUNT,MESS_LENMOVAL,00000101BMOVDX,PORT_CTRLOUTDX,AL;置位;置位INTEBSTIWAIT_INT:JMPWAIT_INTFIN:NOP;结束;结束MOVAH,4CHINT21HMAIN ENDPPRNT_INTPROCNEAR;中断服务程序;中断服务程序PUSHAXPUSHBXPUSHDXSTIMOVDX,PORT_BMOVBX,POINTERMOVAL,BXOUTDX,ALMOVDX,PORT _ CTRLMOVAL,00001000BOUTDX,ALMOVAL,00001001BOUTDX,ALINCPOINTERDECCOUNTJNZNEXTDONE:MOVAL,00000100BMOVDX,PORT_CTRLOUTDX,ALMOVPRNT_DONE,1NEXT:MOVAL,20HMOVDX,PORT_0OUTDX,ALPOPDXPOPBXPOPAXIRETPRNT_INT ENDPCODEENDSEND作业nP354:3,4,5

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:[工学]可编程外围接口芯片8255A及其应用课件.ppt
    链接地址:https://www.163wenku.com/p-5102251.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库