习 题 10 部分答案
10.5 设10位A/D转换器输入模拟电压的范围是0~5V,试问分辨率是多少?能分辨模拟电压的值是多少?若采用12位A/D转换器,能分辨模拟电压的值又是多少?
解:分辨率为10位,能分辨最小模拟电压为5V/1023=4.8876mV,若采用12位A/D转换器,能分辨最小模拟电压为5V/4095=1.221mV。
10.6 AD574接成单极性模拟输入时,从10Vin和20Vin输入模拟电压的最小分辨电压分别是多少?
解:①从10Vin输入模拟电压的最小分辨率:10V/4095=2.442mV
②从20 Vin输入模拟电压的最小分辨率:20V/4095=4.884mV
10.7 假设图10-10中译码器输出的地址范围为300H~301H,根据此图用汇编语言编写PC机实现A/D转换的程序段。
解:编程如下:
MOV DX,300H
OUT DX,AL;启动作12位A/D转换
CALL DELAY;调用延时子程序
MOV DX,300H
IN AL,DX;读高8位
MOV AH;AL;存入AH中
MOV DX,301H
IN AL、DX;读低4位,存于AL高4位
MOV CX,4;右移4次
ABC:CLC;CF=0
RCR AH,1
RCR AL,1
LOOP ABC;采集的12位二进制数存入AX中。
10.9 用图10-15所示的D/A转换电路产生锯齿波,试编写一段程序。
解:编程如下:
MOV DX,200H;设端口地址为200H
MOV AL、00H
OUT DX、AL
ABC:CALL DELAY;调用延时子程序
INC AL
OUT DX、AL
JMP ABC
10.10 如果模/数转换芯片转换结果的输出端不带三态输出结构,该芯片的输出端与CPU的数据线连接时如何处置?
解: 在该芯片的输出端与CPU的数据线之间增加一级三态缓冲器,并且用片选信号控制三态缓冲器的控制端。
10.5 设10位A/D转换器输入模拟电压的范围是0~5V,试问分辨率是多少?能分辨模拟电压的值是多少?若采用12位A/D转换器,能分辨模拟电压的值又是多少?
解:分辨率为10位,能分辨最小模拟电压为5V/1023=4.8876mV,若采用12位A/D转换器,能分辨最小模拟电压为5V/4095=1.221mV。
10.6 AD574接成单极性模拟输入时,从10Vin和20Vin输入模拟电压的最小分辨电压分别是多少?
解:①从10Vin输入模拟电压的最小分辨率:10V/4095=2.442mV
②从20 Vin输入模拟电压的最小分辨率:20V/4095=4.884mV
10.7 假设图10-10中译码器输出的地址范围为300H~301H,根据此图用汇编语言编写PC机实现A/D转换的程序段。
解:编程如下:
MOV DX,300H
OUT DX,AL;启动作12位A/D转换
CALL DELAY;调用延时子程序
MOV DX,300H
IN AL,DX;读高8位
MOV AH;AL;存入AH中
MOV DX,301H
IN AL、DX;读低4位,存于AL高4位
MOV CX,4;右移4次
ABC:CLC;CF=0
RCR AH,1
RCR AL,1
LOOP ABC;采集的12位二进制数存入AX中。
10.9 用图10-15所示的D/A转换电路产生锯齿波,试编写一段程序。
解:编程如下:
MOV DX,200H;设端口地址为200H
MOV AL、00H
OUT DX、AL
ABC:CALL DELAY;调用延时子程序
INC AL
OUT DX、AL
JMP ABC
10.10 如果模/数转换芯片转换结果的输出端不带三态输出结构,该芯片的输出端与CPU的数据线连接时如何处置?
解: 在该芯片的输出端与CPU的数据线之间增加一级三态缓冲器,并且用片选信号控制三态缓冲器的控制端。