7.21 8259A在采用边沿触发方式时,为了防止IR端有毛刺产生中断,因此通常也要求有足
够的脉冲宽度,这一点由8259A的内容性能所决定,所以,中断控制器的初始化命令字中虽用边沿器触发,但是,中断请求信号却是个脉冲信号,你认为,这种情况下,设置边沿触发器方式和设置电平触发方式相比,有什么优点?
24
第八章 DMA控制器
8.1 试说明在DMA方式时内存往外设传输数据的过程。 8.2 对一个DMA控制器的初始化工作包括哪些内容? 8.3 DMA控制器8237A什么时候作为主模块工作?什么时候作为从模块工作?在这两种情况
下,各控制信号处于什么状态?
8.4 8237A有哪几种工作方式?各自用在什么场合?
8.5 什么叫DMA控制器的自动预置功能?这种功能是用得很普遍的,举一个例子说明它的使
用场合。
8.6 用DMA控制器进行内存到内存的传输时,有什么特点? 8.7 DMA控制器8237A是怎样进行优先级管理的?
8.8 设计8237A的初始化程序。8237A的端口地址为0000-000FH,设通道0工作在块传输
模式,地址加1变化,自动预置功能;通道1工作于单字节读传输,地址减1变化,无自动预置功能;通道2、通道3和通道1工作于相同方式。然后对8237A设控制命令,使DACK为高电平有效,DREQ为低电平有效,用固定优先级方式,并启动8237A工作。
8.9 8237A在进行单字节方式DMA传输和块方式DMA传输时,有什么区别? 8.10 什么是DMA传送?DMA传送与中断方式传送的基本区别是什么?
8.11 用简化框图形式表示一个DMA系统的基本构成,请标明DMA控制器与CPU、系统总线
及外设连接的关键信号。
8.12 8237A上设有一个READY控制端以适应慢速存储器或外设的需要,这是否与DMA的快
速传送宗旨相违背?为什么? 8.13 DMA操作过程中,DMA控制器将代替CPU控制系统总路线,根据它的这一任务,请列出
DMA控制器必须具有的几项功能。
8.14 单字节传送、成组传送与请示传送三种DMA方式在传送方式、DMA请示方面有什么差
别?
8.15 图中是一个DMA系统框图,DMA控制器是个可编程器件,外设也由一个可编程接口电
路控制。请在各框图间连上必要的线,并标明它胶的名称。(附图6-55)
8.16 ADSTB信号与AEN有什么不同?它们各自起什么作用?
8.17 一个系统需要接6个用DMA控制的外设,如何用8237A实现这个系统的连接,请画出
连接图,并说明方式控制字应如何设置。如用固定优先级请列出你所设计方案中6个设备的优先级排列。
8.18 8237A在实行存储器与存储器之间传输时,与存储器和外设之间的传输有什么不同? 8.19 8237A采用压缩时序方式,试估算在最好情况下传送10KB数据需要多少时间?再试用
最高效的程序衽同样数量数据的传输,大约要多少时间?(时钟都以5MHz算)
8.20 8237A为了在16位以上的微机系统中应用,必须设计适当的页面地址寄存器。如个人
计算机中那样设计,请问:
(1) 如何知道什么时候该换页?如何换页? (2) 换页时应对DMA控制器作什么处理?
(3) 如果通道0也需要页面地址,如何获得RA、RB的控制信号?
8.21 在个人计算机中8237A的通道2为什么设置成单字节传送?如果用成块传送会发生什
么问题?如何解决?
25
第九章 计数器/定时器和多功能接口芯片
9.1 概述怎样用软件方法和硬件方法来进行定时。
9.2 8253计数器/定时器中,时钟信号CLK和门脉冲信号GATE分别起什么作用? 9.3 说明8253在6种工作模式下的特点,并举例说明使用场合。 9.4 8253工作于模式4和模式5时有什么不同?
9.5 编程将8253计数器0设置为模式1,计数初值为3000H;计数器1设置为模式2,计数
初值为2010H;计数器2设置为模式4,计数初值为4030H;计数器3设置为模式3,计数初值为5060H。
9.6 CPU对DMA控制器的总线请求响应要比对中断请求响应快,请分析其原因。
9.7 下面是一个8253的初始化程序段。8259的控制口地址为46H,3个计数器端口地址分
别为40H,42H,44H。在8259初始化前,先将8259A的所有中断进行屏蔽,8259A的奇地址端口为81H。请对下面程序段加详细注释,并以十进制数表示出各计数器初值。 INI: CLI
MOV AL, 0FFH OUT 81H, AL MOV AL, 36H OUT 46H, AL MOV AL, 0 OUT 40H, AL MOV AL, 40H OUT 40H, AL MOV AL, 54H OUT 46H, AL MOV AL, 18H OUT 42H, AL MOV AL, 0A6H OUT 46H, AL MOV AL, 46H OUT 44H, AL MOV AL, 80H OUT 44H, AL
9.8 下面是一个用8253作为定时器的发音程序,程序中已经加了部分注释。请对8259的有
关程序段加上注释,并画出整个程序的流程图。8253的控制口地址为46H,3个计数器端口地40H、42H、44H,8255A的B端口接扬声器驱动电路,B端口的地址为61H。 SOUND: PUSHF CLI
OR DH, DH ; DH中为发长音的个数 JZ K3 ; 如不发长音,则转k3
K1: MOV BL, 6 ; 如发长音,则置长音计数器 CALL BEEL ; 调用发音程序
K2: LOOP K2 ; 发音之间留一点间隙 DEC DH ; 长音发完否
26
JNZ K1 ; 否,则继续
K3: MOV BL, 1 ; 如发完长音,则置短音计数器 CALL BEEL ; 调用发音程序
K4: LOOP K4 ; 发音之间留一点间隙 DEC DL ; 继续发短音吗 JNZ K3 ; 是,则继续
K5: LOOP K5 ; 否,则留一个间隙 POPF ; 标志恢复 RET ; 返回 BEEL: MOV AL, B6H OUT 46H, AL MOV AX, 533H OUT 44H, AL MOV AL, AH OUT 44H, AL
IN AL, 61H ; 取扬声器驱动信息 MOV AH, AL
OR AH, 03 ; 接通扬声器 OUT 61H, AL ; 扬声器驱动
SUB CX, CX ; 一次发音时间定时 K7: LOOP K7
DEC BL ; BL中为发音计数值 JNZ K7 ; 如未结束则继续发音
MOV AL, AH ; 如发音结束,则恢复B端口信息 OUT 61H, AL RET ;
9.9 根据你的了解,时钟在计算机系统中起到什么作用? 9.10 8284A的震荡频率与CLK,PLCK输出频率有什么关系?
9.11 8284A中有几个输入信号与时钟所同步?为什么需要这种同步?
9.12 8253定时/计数器有几种工作方式?请说明这些工作方式有些什么特点? 9.13 8253的每个通道有一个GATE端,请说明它有什么作用? 9.14 请把一个8253与8086CPU相连,地址为2FF0~2FF3H。
9.15 设一个8253的计数器0产生20ms的定时信号,试对它进行初始化编程。 9.16 让一个计数器3工作在单稳态方式,让它产生脉冲宽度为15ms(设输入频率为2MHz)。 9.17 为了用8253测量一个事件的持续时间长短,一般都将事件的持续时间转换成一定的脉
冲宽度,试设计测量此脉冲宽度时间的硬件电路和初始化编程。
9.18 利用8253的记时功能,结合软件方法设计一个能记秒,分,小时的时钟。
9.19 试设计一个记时器方案,它应能对场内的长跑成绩进行记时,要求精度达1/100秒,
且能记录运动员每跑一圈的成绩。
27
第十章 模/数和数/模转换
10.1 为什么要把A/D,D/A转换器与微机的接口作为专门问题的研究?它与前面所讲的并行
接口有何异同点?
10.2 在A/D、D/A转换器指标中,精度与分辨率有什么区别?
10.3 D/A转换器与微处理机接口中,最关键的问题是什么?应如何解决? 10.4 参照教材中的锯齿波发生器例,自行设计一个三角波发生器,用8086汇编写出程序(地
址自定)。如果要产生正弦波信号,在软件设计思想上有什么变化? 10.5 电流输出型与电压输出型D/A转换器有什么不同?
10.6 在D/A转换器输出端为什么总是要加平滑电路?试看为一个输出最高频率为3000Hz
的转换器设计一个简单的平滑电路。
10.7 A/D转换器为什么先要对模拟信号采样?采取频率是如何确定的?如一个信号的最高
频率为5KHz,采样频率应为多少?
10.8 ADC0808与AD574A都是A/D转换器,试比较它们的异同点。
10.9 A/D转换器与CPU相连时,关键问题是什么?如何保证CPU与A/D转换芯片的时间关
系能实现正确的配合? 10.10 有一个温度检测系统,在炉窖中设置了八个温度传感器。假设它们的温度变化范围为
800℃~2800℃。请问:
(1)如用ADC0808进行转换,分辨率可达多少?
(2)如果觉得一片ADC0808的分辨率不够,用两片同时工作是否使分辨率提高,误差小?为什么?
(3)如果使温度检测的误差不超过1℃,应选用多少位的A/D转换芯片? (4)如果选用16位的A/D转换芯片,测量误差可以减小到什么程度? 10.11 根据教材上所画的AD574A与8086CPU连接的情况,请你:
(1)说明它占用地址的情况及每个控制信号所起的作用。 (2)用8086汇编语言设计程序,使从转换芯片中读入100组数据(每组数据12位),并把它们存放在一个叫Buffer的缓冲区内。 (3)如果使用STS信号对CPU作中断控制,请修改硬件和软件设计。( 以上由 ? 输入 )
10.12 什么叫分辨率? 什么叫相对转换精度?
10.13 在 T型电阻网络组成的D/A转换器中,设开关K0, K1, K2, K3, K4分别对应一位二
进制数,当二进制数据为10110时,流入运算放大器的电流为多少? 画出这个T型网络。
10.14 用带两极数据缓冲器的D/A转换器时,为什么有时要用3条输出指令才完成16位或
12位数据转换?
10.15 使用 DAC0832进行数/模转换时,有哪两种方法可对数据进行锁存? 10.16 在数字量和模拟量并存的系统中,地线连接时要注意什么问题? 10.17 设计一个电路和相应程序完成一个锯齿波发生器的功能,使锯齿波呈负向增长,并且
锯齿波周期可调。
10.18 什么叫模/数转换精度?什么叫转换率?什么叫分辨率?
10.19 参考《微型计算机技术及应用》一书中图10.12说明计数式A/D转换的工作原理。 10.20 双积分式A/D转换的原理是什么? 10.21 参考《微型计算机技术及应用》一书中图10.14说明逐次逼近式A/D转换的工作原理。
28