当用带两级数据缓冲器的D/A转换器时,为什么有时要用三条输出指令才完成16位或12位数据转换?
【正确答案】:如果有一个D/A转换器超过8位,CPU 则通过两条输出指令向两个锁存器对应的端口地址输出数据。但是第一次执行输出指令后,D/A转换器会得到一个局部的输入,由此,输出端得到一个局部的、实际上不需要的模拟量输出。因此用两级缓冲结构来解决。CPU先用两条输出指令把数据送到第一级数据缓冲器,通过第三条输出指令使数据送到第二级数据缓冲器,从而使D/A转换器一次得到所有待转换的数据。这就是用带两级缓冲器的D/A转换器必须要用三条输出指令才能完成16位或12位数据转换的理由。