阅读以下关于AD574(12位的A/D转换器)的叙述,回答问题1至问题3,将答案填入对应栏内。 [说明] AD574可以通过简单的三态门、锁存器接口与微机系统的系统总线相连接,也可以通过可编程接口(如8255)与系统总线相连接。由表2-1可知,AD5

admin2012-01-21  30

问题  阅读以下关于AD574(12位的A/D转换器)的叙述,回答问题1至问题3,将答案填入对应栏内。
[说明]
   AD574可以通过简单的三态门、锁存器接口与微机系统的系统总线相连接,也可以通过可编程接口(如8255)与系统总线相连接。由表2-1可知,AD574可以工作在8位,也可以工作在12位。图2-1为以8255为接口芯片,将工作于12位下的AD574接到8位ISA系统总线上。


图2-1中的连接可以简化,将AD574的CE和12/管脚接为高电平,而使和A0接地。此时只需要用来启动AD574的变换,然后通过查询STS状态来判断变换是否完成(AD574的STS管脚由高变低表明AD574变换完成)。对应的采集变换程序如下,最终结果是将变换好的数据放在BX中。请补全下面程序中的空(1)~(4),将答案填写在对应的栏目中。
   ; 对8255初始化, 此段程序放在应用程序开始的位置上
   INTI55: MOV    DX,     0063H
   MOV    AL,   1001101OB; 8255的A口8位、B口8位,以及C口的高4位均设置为输入,C口的低4位设置为输出
   OUT    DX,   AL    ; 控制字写入8255的控制寄存器
   MOV    AL,     00000001B
   OUT    DX,   AL    ; 使用位控方式将PC0置位
   ; 以下是对输入信号进行一次变换的程序
   ACQUQ: MOV    DX,     0062H
   MOV    AL,     00000000B
   OUT    DX,     AL
   MOV    AL,      (1)  B; 二进制表示
   OUT    DX,     AL    ; 由PC0输出低电平到高电平启动变换
   NOP
   NOP
   WAITS: IN    AL, DX    ; 取出AD574的STS状态
   AND    AL,    (2)  H    ; 判断变换是否结束,十六进制表示
   JNZ    WAITS
   MOV    DX, 0060H
   IN     AL, DX    ; 读取A口取得A/D变换的低8位
   MOV    BL,    (3)  ; 将A口获取的低8位放在BL中
   MOV    DX, 0061H
   IN     AL, DX    ; 读取B口数据
   AND    AL,    (4)  H    ; 取AD574数据的高4位,十六进制表示
   MOV    BH, AL
   RET

选项

答案(1)00000001(注:只要答案中的最低位为1,均可按正确对待) (2)80 (3)AL (4)0F

解析 从试题程序中可见,语句“MOV AL,(1)B”的空(1)处应填写“00000001”,因为只有这样才能完成下一条语句“OUT DX,AL”由PC0输出低电平到高电平启动变换的目的。
   由于语句“IN AL,DX”是取出AD574的STS状态至AL寄存器中,用语句“AND AL,(2)H”来判断变换是否结束。依据题意,AD574的STS管脚由高变低表明AD574变换完成,所以空(2)处应填写“80”
   语句“MOV BL,(3)”的作用是将A口获取的低8位放在BL中,因此空(3)处应填写“AL”。
   语句“AND AL,(4)H”的作用是取AD574数据的高4位,即取B口的PB0~PB3,故用十六进制表示,空(4)处应填写“0F”。
转载请注明原文地址:https://kaotiyun.com/show/uhWZ777K
0

相关试题推荐
最新回复(0)