第13章答案

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

13.2 如果将DAC0832接成直通工作方式,画图说明其数字接口引脚如何连接。

答:

数字接口引脚连接如图13-2所示:

图13-2 数字接口引脚连接图

13.3 对应13.2.4节的图13-9a电路,编写输出一个12位数字量的程序段。假定这12位数据在BX的低12位中。

图13-9a 2级锁存接口电路

答:

假设第1级低8位锁存的端口地址为PORT1,第1级高4位锁存的端口地址为PORT2,第2级12位锁存的端口地址为PORT3,则程序段如下:

MOV AL,BL ;取低8位数字量输出

OUT DX,AL

MOV DX,PORT2

MOV AL,BH ;取高位数字量输出

OUT DX,AL

MOV DX,PORT3 ;将12位数据同时送给DAC进行转换

OUT DX,AL

13.6 某控制接口电路如图13-16所示。需要控制时,8255A的PC7输出一个正脉冲信号,START启动A/D转换;ADC转换结束在提供一个低脉冲结束信号EOC的同时送出数字量。CPU采集该数据,进行处理,产生控制信号。现已存在一个处理子程序ADPRCS,其入口参数是在AL寄存器存入待处理的数字量,出口参数为AL寄存器给出处理后的数字量。假定8255A端口A、B、C及控制端口的地址依次为FFF8H~FFFBH,要求8255A的端口A为方式1输入、端口B为方式0输出。编写采用查询方式读取数据,实现上述功能的程序段。

图13-16 习题13.6图

答:

采用查询方式读取数据,实现上述功能的程序段如下:

;8255A初始化

MOV DX,0FFFBH

;10110000B,8255A的A组为方式1输入,端口B为方式0输出,C口高位输出MOV AL,0B0H

OUT DX,AL

;PC7口产生正脉冲,启动A/D转换

;00001110B,PC7复位

MOV AL,0EH

OUT DX,AL

;00001111B,PC7置位

MOV AL,0FH

OUT DX,AL

CALL DELAY ;保证正脉冲具有一定的宽度

;00001110B,PC7复位

MOV AL,0EH

OUT DX,AL

;查询PC4口的状态,判断A/D转换是否结束

MOV DX,0FFFAH

CHECK:

IN AL,DX

TEST AL,10H

JNZ CHECK

;A/D转换结束,读取A/D转换的结果

MOV DX,0FFF8H

IN AL,DX

;将A/D转换结果进行处理,产生控制信号

CALL ADPRCS

;启动D/A转换,进行控制

MOV DX,0FFF9H

OUT DX,AL

13.7 假设系统扩展一片8255A供用户使用,请设计一个用8255A与ADC0809接口的电路连接图,并给出启动转换、读取结果的程序段。为简化设计,可只使用ADC0809的一个模拟输入端,例如IN0。

答:

8255A与ADC0809接口的电路连接图如图13-7所示:

图13-7 8255A与ADC0809接口的电路连接图

假定8255A端口A、B、C及控制端口的地址依次为FFF8H~FFFBH。启动转换、读取结果的程序段如下:

;8255A初始化

MOV DX,0FFFBH

;10110000B,8255A的端口A为方式1输入,端口B为方式0输出,C口高位输出MOV AL,0B0H

OUT DX,AL

;PC7口产生正脉冲,启动A/D转换

;00001110B,PC7复位

MOV AL,0EH

OUT DX,AL

;00001111B,PC7置位

MOV AL,0FH

OUT DX,AL

CALL DELAY ;保证正脉冲具有一定的宽度

;00001110B,PC7复位

MOV AL,0EH

OUT DX,AL

;查询PC4口的状态,判断A/D转换是否结束

MOV DX,0FFFAH

CHECK1:

IN AL,DX

TEST AL,10H

JNZ CHECK1

CHECK2:

IN AL,DX

TEST AL,10H

JZ CHECK2

;A/D转换结束,读取A/D转换的结果

MOV DX,0FFF8H

IN AL,DX

13.2、13.3、13.6、13.7

相关文档
最新文档