使用8250作串行接口时,若要求以1200bps的波特率发送一个字符,字符格式为7个数据位,一个停止位,一个奇校验位,试编写初始化程序。
MOV DX, 3FBH ;线路控制寄存器
MOV AL, 10000000B ;访问波特率因子寄存器
OUT DX, AL
MOV DX, 3F8H ;设置分频系数低字节
MOV AL, 60H
OUT DX, AL
INC DX ;设置分频系数高字节
MOV AL, 0
OUT DX, AL
MOV DX, 3FBH ;线路控制寄存器
MOV AL, 00001010B ;7个数据位,一个停止位,一个奇校验位
OUT DX, AL
设8255的端口A、B、C和控制寄存器的地址为F4H、F5H、F6H、F7H,要使A口工作于方式0输出,B口工作于方式1输入,C口上半部输入,下半部输出,且要求初始化时PC6=0,试编写初始化程序。
MOV AL, 10001110B ;A方式0输出,B方式1输入,C高输入低输出
OUT 0F7H,AL
MOV AL, 00001100B ;PC6置0
OUT 0F7H,AL
试述8237的DMA请求/响应握手过程。
答:当外设要求以DMA方式为它服务时,发DMA请求信号DREQ到DMAC。DMAC检查该信号是否被屏蔽及其优先权,如确认该信号有效则向CPU发送总线请求信号HRQ(连到CPU的HOLD);每个总线周期结束时CPU检测HOLD,如为高电平,则响应HOLD请求进入保持态,使三态总线CPU侧呈高阻状态,并以总线保持响应信号HLDA通知DMAC。
4,使用8237的通道3,实现从内存到I/O设备的传送,其中传送的数据所在的内存单元为20000H~20FFFH。
MOV AL,0 ;清除先/后触发器
OUT 0CH,AL
OUT 6,AL ;地址20000H的低16位写入基地址寄存器
OUT 6,AL
MOV AL,2
OUT 83H,AL ;地址20000H的高4位写入页面寄存器
MOV AX,1000H ;传送的字节数
DEC AX
MOV 7,AL ;写入基字节计数器
MOV AL,AH
OUT 7,AL
MOV AL,01001011B ;写模式寄存器
OUT 0BH,AL
MOV AL,00000011B ;清除通道3屏蔽
OUT 0AH,AL
WAIT:
IN 08,AL ;读状态寄存器
AND AL,08 ;测试通道3状态
JZ WAIT
MOV AL,00000111B ;完成后屏蔽通道3
OUT 0AH,AL
MOV DX, 3FBH ;线路控制寄存器
MOV AL, 10000000B ;访问波特率因子寄存器
OUT DX, AL
MOV DX, 3F8H ;设置分频系数低字节
MOV AL, 60H
OUT DX, AL
INC DX ;设置分频系数高字节
MOV AL, 0
OUT DX, AL
MOV DX, 3FBH ;线路控制寄存器
MOV AL, 00001010B ;7个数据位,一个停止位,一个奇校验位
OUT DX, AL
设8255的端口A、B、C和控制寄存器的地址为F4H、F5H、F6H、F7H,要使A口工作于方式0输出,B口工作于方式1输入,C口上半部输入,下半部输出,且要求初始化时PC6=0,试编写初始化程序。
MOV AL, 10001110B ;A方式0输出,B方式1输入,C高输入低输出
OUT 0F7H,AL
MOV AL, 00001100B ;PC6置0
OUT 0F7H,AL
试述8237的DMA请求/响应握手过程。
答:当外设要求以DMA方式为它服务时,发DMA请求信号DREQ到DMAC。DMAC检查该信号是否被屏蔽及其优先权,如确认该信号有效则向CPU发送总线请求信号HRQ(连到CPU的HOLD);每个总线周期结束时CPU检测HOLD,如为高电平,则响应HOLD请求进入保持态,使三态总线CPU侧呈高阻状态,并以总线保持响应信号HLDA通知DMAC。
4,使用8237的通道3,实现从内存到I/O设备的传送,其中传送的数据所在的内存单元为20000H~20FFFH。
MOV AL,0 ;清除先/后触发器
OUT 0CH,AL
OUT 6,AL ;地址20000H的低16位写入基地址寄存器
OUT 6,AL
MOV AL,2
OUT 83H,AL ;地址20000H的高4位写入页面寄存器
MOV AX,1000H ;传送的字节数
DEC AX
MOV 7,AL ;写入基字节计数器
MOV AL,AH
OUT 7,AL
MOV AL,01001011B ;写模式寄存器
OUT 0BH,AL
MOV AL,00000011B ;清除通道3屏蔽
OUT 0AH,AL
WAIT:
IN 08,AL ;读状态寄存器
AND AL,08 ;测试通道3状态
JZ WAIT
MOV AL,00000111B ;完成后屏蔽通道3
OUT 0AH,AL