第八次作业参考答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.使用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

2.设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

3.试述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

相关文档
最新文档