用单片机8031和ADC0809实现AD转换,ADC的地址占用也是外部RAM地址,使用中要避免地址的重叠:
例如ADC的地址是1111 1110 1111 1000--1111 1110 1111 1111
则外部RAM的地址范围可选那些?如可改动此例的连线是外部常规RAM的地址为0000H--7FFFH?谢谢!!
利用单片机实现AD转换中的地址问题
答案:2 悬赏:20 手机版
解决时间 2021-12-18 02:08
- 提问者网友:椧運幽默
- 2021-12-17 15:08
最佳答案
- 五星知识达人网友:長槍戰八方
- 2021-12-17 15:29
从你的ADC地址看得出,0809的片选接的是片选是P2.0,(0809的片选好像没有直接的端口,是逻辑产生的),如果你改变片选端将他接在P2.1上,那么他的地址就是1111 1101 1111 1000--1111 1101 1111 1111,看出有什么区别了吧.
RAM地址是0000 0000 0000 0000--0111 1111 1111 1111,可以理解成他的片选是P2.7,当P2.7为低电平时选中RAM,所以要选中ADC,只有当P2.7为高电平时选中才不会地址冲突,将P2.7引出,接一个反相器,(三极管就可以了,只要反逻辑),接在ADC片选上.这样,当P2.7为0 选中RAM P2.7为1 经反相器后变为0,ADC则有效.
RAM地址是0000 0000 0000 0000--0111 1111 1111 1111,可以理解成他的片选是P2.7,当P2.7为低电平时选中RAM,所以要选中ADC,只有当P2.7为高电平时选中才不会地址冲突,将P2.7引出,接一个反相器,(三极管就可以了,只要反逻辑),接在ADC片选上.这样,当P2.7为0 选中RAM P2.7为1 经反相器后变为0,ADC则有效.
全部回答
- 1楼网友:洒脱疯子
- 2021-12-17 16:15
你说的应该是同一时刻进行两路ad转换吧
有两种办法,一个就是用两个ad转换芯片,两路模拟量分别接一个。用单片机控制两个ad芯片同时启动转换,这样基本可以实现采集到同一时刻的两路模拟量值。
另一种办法就是用两个采样保持器(lf398),来暂时保存模拟量的瞬时值。两个保持器后面接模拟多路转换器,模拟多路转换器后面接一个ad转换器。过程是这样的:要采集之前先给两个采样保持器一个保持信号,紧接着选择多路开关通道,紧接着启动ad转换器。分别选择多路开关的两个通道,来取得两路模拟量的值。因为有采样保持器的存在,可以保证采集到的模拟量是同一时刻的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯