• 2022-06-12
    已知某8088微机系统的I/O接口电路框图如图所示。试完成:(1)根据图中接线,写出8255、8253各端口的地址。[img=418x140]17db8cfdbac314e.png[/img](2)编写8255和8253的初始化程序。其中,8253的OUT,端输出100Hz方波,8255的A口为输出,B口和C口为输入。(3)为8255编写一个I/0控制子程序,其功能为:每调用一次,先检测PCo的状态,若[tex=3.0x1.214]hrpbySayCsK9HDKoPVHavg==[/tex],则循环等待;若[tex=3.0x1.214]qZNR0ZxeqeAgkqvZ2yqCKw==[/tex],可从PB口读取当前开关K的位置(0~7),经转换计算从A口的[tex=4.214x1.214]BAlFs0Fol8dheSvnlhDPVw==[/tex]输出该位置的二进制编码,供LED显示。
  • (1)8255的地址范围为:8000H~FFFFH。8253的地址范围为:0000H~7FFFH。(2)初始化8255MOV     DX,8003HMOV     AL,8BH;方式控制字,方式0,A口输出,B口和C口输入OUT     DX,AL;初始化8253MOV     DX,0003H;内部寄存器口地址MOV     AL,76H;计数器1,先写低8位/后写高8位,方式3,二进制计数OUT     DX,ALMOV     DX,0001H;计数器1端口地址MOV     AX,10000;设计数初值=10000OUT      DX,ALMOV     AL,AHOUT      DX,AL (3)8255控制子程序定义显示开关位置的字形译码数据 DATA     SEGMENT BUFFER      DB 3FH,06H,5BH,OFH,66H,6DH,7CH,07H DATA      ENDS ……CODE      SEGMENT ASSUME      CS:CODE,DS:DATA MAIN      PROC PUSH      DS MOV      AX,DATA MOV      DS,AX CALL      DISP POP      DS RET MAIN      ENDP ;输出开关位置的二进制码程序DISP      PROC PUSH      CX PUSH      SI XOR      CX,CX LEA      SI,BUFFER MOV      DX,8002H WAITT:IN      AL,DX TEST      AL,01HJZ      WAITT MOV      DX,8001H IN      AL,DX NEXTSHR      AL,1 INC      CX JC      NEXT DEC     CX ADD      SI,CX MOV      AL,[SI] MOV      DX,8000H OUT      DX,AL POP      SIPOP      CXRET DISP      ENDP CODE      ENDS END      MAIN 

    举一反三

    内容

    • 0

      1.已知8255的I/O地址为60H~63H。某微机执行了下述两条有关8255的指令,则这两条指令完成的操作是( )。MOV AL,10001001B OUT 63H,AL A: 输出数据到C口 B: 设置工作方式:B口工作在方式0,做输入;A口工作在方式1,做输出 C: 设置C口第4位为1 D: 设置工作方式:方式0,A、B口为输出,C口输入

    • 1

      1.已知8255的I/O地址为60H~63H。某微机执行了下述两条有关8255的指令,则这两条指令完成的操作是( )。‏MOV AL,10001001B ‏OUT 63H,AL‏‏ A: 输出数据到C口 B: 设置工作方式:B口工作在方式0,做输入;A口工作在方式1,做输出 C: 设置C口第4位为1 D: 设置工作方式:方式0,A、B口为输出,C口输入

    • 2

      8255A连接开关和发光二极管接口电路如图所示。(1)写出8255A的端口地址;(2)若A口为方式0输入,B口为方式0输出,编写8255A的初始化程序。https://p.ananas.chaoxing.com/star3/origin/5492b9c73ca4e54211002c4bfa7ddcb4.png

    • 3

      用8255的[tex=0.786x1.0]Yn3GgEZev6SOu2r4v1WnCw==[/tex]端口接8只理想开关输入二进制数,[tex=0.786x1.0]ri6gmnf1+J9dGqG5/1sV6A==[/tex]端口和[tex=0.714x1.0]J/aA9EEo0KmJFnWWfX7LmQ==[/tex]端口各接8只发光二极管显示二进制数。设计这一接口电路。编写读入开关数据(原码)送B端口(补码)和C端口(绝对值)的发光二极管显示的程序段(设8255的端口地址为[tex=5.786x1.357]IhrAhc/bWROwVVVNF0egfw==[/tex]。

    • 4

      若 8255 A 口工作于方式 1 输出, B 口工作于方式 0 输入, C 口工作于方式 0 输入,则方式控制字应为 ( )