第2个回答 2011-05-19
我们的外部地址线对应的是P2和P0口 高八位是P2 低八位是P0
这个7FF8表示 但执行MOVX 指令时 在地址选通时P2口输出7FH,P0口输出为F8H
为什么要这么接呢,这个就与ADC0809的CS,A0,A1,A2与单片机的连接方式相关
比如P2.7接ADC0809的CS,P2.6接A0,P2.5接A1,P2.4接A2,P3.6接WR,P3.7接RD
那么当我们要选通第7通道进行转换时,CS=0,A0=1,A1=1,A2=1,所以P2口的高4为应该是7,其他的管脚电平随便什么都可以,你可以是7FH,也可以是70H。习惯上我们喜欢吧没有用的脚置高,这样可以省电,^_^
MOV DPTR,#7FF8H
MOVX @DPTR,A
就等效于
MOV P0,#F8H
MOV P2,#7FH;
;SETB ....如果你接了外部锁存器的话,此时将锁存器的OE置高
MOV P0,#F8H
CLR P3.6
SETB P3.6
这样就把00的数据写到了ADC0809的数据通道了