目录
七段发光二级管显示器接口(重点)
打印机适配器(重点)
例题
补充两个芯片(了解)
数据输出寄存器
数据输入三态缓冲器
七段发光二级管显示器接口(重点)
灯泡的题最难就是7段数码管。重点要知道共阴极和共阳极
共阴极(接地) 1亮
共阳极(接电源)0亮
每一个都是一个灯泡
dp g f e d c b a
dp一般我们不用,始终保持为0
如果想让共阴数码管显示一个零,只有G不要
0011 1111 (3FH)
例如:如果要想显示9,只有E不要
0110 1111 (6FH)
如果端口号是380H。三句话就可以让他显示9
MOV DX,380H MOV AL,6FH OUT DX,AL
也就是几个灯泡,知道它什么时候亮就行
打印机适配器(重点)
程序查询程序出题知道那个端口是干什么的,都是通过数据线交互
378H数据口 (把要打印的数据送这个端口)
379H状态口 ( 打印机是忙还是闲,通过这个端口获取状态) 。8位的状态。我们只需要看最高位,最高位为0忙,最高位为1是闲。通过跟80H做测试,就可以完成
37AH控制口 (打不 打印把控制送这个端口) 。同样是8位的控制。
正常情况下只需要把01H送控制口就可以打印。
出题难的时候:需要给它一个脉冲信号。送两次数据 先给一个1,再给一个零。有的时候要送两次。
2位3位为1。 也就是 0000 1101(0DH) 高电平 ,0000 1100 低电平,给出一个下降沿(0CH)
例题
1:我想打印字符A
;判断打印机是否忙 MOV DX,379H NEXT: IN AL,DX TEXT AL,80 JZ NEXT;不忙往下走 MOV AL,'A' MOV DX,378H OUT DX,AL;准备数据送数据口 ;给控制口送数据开始打印 MOV DX,37AH MOV AL,01H OUT DX,AL
2:在中断输入/输出方式下,外设的()线可用于向CPU发出中断请求信号。
A:地址 B:状态 C:数据 D:其他
3:下列关于I/O端口独立编址的说法,正确的是()
A:译码电路较简单 B:I/O端口占用内存空间
C:程序设计的灵活性好 D:不需要专用的I/O指令
4:程序查询I/O的流程总是按()的次序完成一个字符的传输
A:写数据端口,读/写控制端口 B:读状态端口,读/写数据端口
C:写控制端口,读/写状态端口 D:随I/O接口的具体要求而定
5:查询式I/O外设状态信息通过CPU的()
A:数据总线读入 B:某条控制线读入
C:地址总线 D:状态线
6: 在8086/8088微机系统中,将AL内容送到I/O接口中,使用的指令是()
A:IN AL,端口地址 B:MOV AL,端口地址
C:OUT AL,端口地址 D:OUT 端口地址,AL
7:CPU与外设传送数据,当外设传送数据速率极高时,应采用下列()形式
A:直接传送 B:程序查询 C:中断控制 D:DMA
8:在DMA传送过程中完成数据传送功能是由()
A:CPU执行从存储器读出的指令
B:DMAC执行从存储器读出的指令
C:外部设备中的控制部件直接控制
D:DMAC的硬件直接控制
9:在一个采用查询方式输入数据打的I/O接口中,8位数据端口地址为2000H,一位状态端口地址为2002H,外设数据准备好信号高电平有效,接至数据总线的D7位。写出查询输入1000字节的数据存入内存单元BUFFER为首地址的程序段
;判断外设是不是准备好,注意第七位就是最高位 MOV DX,2002H NEST:IN AL,DX TEST AL,80H JZ NEXT ;准备好了开始读数据 MOV CX,1000;送计数初值 MOV SI,OFFSET BUFFER;获取地址指针 MOV DX,2000H NEXT1:IN AL,DX MOV [SI],AL;送到内存单元 INC SI;指针后移 LOOP NEXT1
补充两个芯片(了解)
数据输出寄存器
数据输入三态缓冲器