51单片机 应用ADC0809的问题

[复制链接]
4060|17
 楼主| 2sainimu78 发表于 2012-1-10 21:08 | 显示全部楼层 |阅读模式


图里画红线处

第1根红线处: 0809的首地址是怎么知道的? 从原理图中可以看出来吗? 怎么看?
第2根红线处: A装了什么? 0809启动转换不是由P2.0控制的吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
fe07fe 发表于 2012-1-10 22:47 | 显示全部楼层
ale表示把译码器当外部ram使用,p0就是地址输出口,就看做是对p0操作,控制abc。
A装了什么,代码不全。
这里有资料http://wenku.baidu.com/view/d6613103a6c30c2259019e84.html
4到5页有介绍。
 楼主| 2sainimu78 发表于 2012-1-11 17:55 | 显示全部楼层
这么一提醒
我突然悟到了前几天关于外部扩展RAM的问题

我描术一下我的理解 大家看看有没有什么不对

MOVX DPTR,#0FEF8H
然后一句MOVX @DPTR,A
P0,P2口就被占用, 用来发送外部RAM地址 P0送出的值由373锁存 P2口将保持刚才输出地址的状态至该指令结束 ,即P2=0FEH , P2.0=0 , 地址发完就自动从P0口送出A中的值 同时还使P3.6 , 即/WR 端为0  那么 当/WR与P2.0同时为0时 , 图中的0809的SC端便有了正脉冲 , 于是转换开始 ,  ALE=1, 锁存ABC的地址 ,
执行MOVX @DPTR,A 结束时 P2,P0和/WR都恢复到执行MOVX @DPTR,A之前的状态

当0809一次转换结束后,申请中断, 51进入中断服务 , 一句MOVX A,@DPTR 同样先送地址给P0和P2 ,P2的状态也将保持至该指令结束 , 送完地址后 , 使 /RD(P3.7)端为0 , /RD与P2.0同时为0时 OE端为1 ,即0809输出允许 于是就在此时0809转换的数据 就被51从P0口接收了
MOVX A,@DPTR执行结束后 P0,P2和/RD恢复到执行前的状态

是这样一个过程吗?  我的描述有任何错 请指出  谢谢了:loveliness:
fe07fe 发表于 2012-1-11 20:10 | 显示全部楼层
本书MOV DPTR,#0FEF8H  指令 与百度文库
      MOV DPTR,#0FE00H  指令  转换为二进制
1111111011111000 和
1111111000000000
在与p0和p2联系的话,
两个指令相同之处就是p0.0,p0.2,p0.3,p2.0都为低电平。符合控制adc0809相关引脚。
其实我也是临时查的,拿出说的也不能保证正确。
 楼主| 2sainimu78 发表于 2012-1-11 21:59 | 显示全部楼层
主要是想知道 MOVX @DPTR,A
MOVX A,@DPTR  这两个指令的执行过程是怎么样的

然后1楼的2个问题就可以解决了
fe07fe 发表于 2012-1-11 23:01 | 显示全部楼层
这个地方百度文库有解释。

MOVX @DPTR,A我自己的看法是把a写入地址为DPTR的单元,
MOVX A,@DPTR 把这个单元DPTR的值写入a,这个里面取p2和p0的16位,后面movx @r0,a 取p0  8位值。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
fe07fe 发表于 2012-1-11 23:22 | 显示全部楼层

根据这个也好像也不是那么回事,
MOVX @DPTR,A 只是一句空话,DPTR加1后,并没立即表现在p0,p2上,有了这句它实现了,仿真验证一下就更好了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 2sainimu78 发表于 2012-1-13 23:27 | 显示全部楼层
好吧 谢谢你呀 1楼的问题我差不多想清楚了 先不管了

不过刚发现一个问题 觉得是书上错了
题目要求是要把读到的数据存到片内RAM的40~47H
可是代码里是 MOVX @R0,A 这样存的  这样不是就存到片外了吗?
应该是MOV @R0,A吧 ?
sedatefire 发表于 2012-1-13 23:28 | 显示全部楼层
好吧,只好顶你了,为了调整我帖子的顺序
fe07fe 发表于 2012-1-14 11:05 | 显示全部楼层
R0-7八位,DPTR 16位。
 楼主| 2sainimu78 发表于 2012-1-14 13:48 | 显示全部楼层
算了吧.. 我还是另开帖吧
 楼主| 2sainimu78 发表于 2012-1-14 13:50 | 显示全部楼层
虽说FE07FE有些答非所问 不过我还是要谢谢你  谢谢了
fe07fe 发表于 2012-1-14 14:43 | 显示全部楼层
哦!是的吧,



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
fe07fe 发表于 2012-1-14 14:47 | 显示全部楼层
发个软件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
xuling425300 发表于 2012-1-19 00:32 | 显示全部楼层
0809过时的芯片了把    还要外接时钟 转换时间又慢    stc 125a60s2 的51rom62k   ram  1024很大了。还要扩展。。。
fjw0312 发表于 2013-5-22 15:36 | 显示全部楼层
我也遇到了,好几天了解决不了,我想顺便问一下,用0808可以这样练吗?迅速求助????
fjw0312 发表于 2013-5-22 15:44 | 显示全部楼层
还有一问题:是不是MOVX @DPTR,A;这条程序是单片机内就自动wr置为低电平
  MOVX  A,@DPTR;执行这条指令时单片机内就自动RD置低电平
logokfu 发表于 2013-5-22 16:09 来自手机 | 显示全部楼层
xuling425300 发表于 2012-1-19 00:32  0809过时的芯片了把 还要外接时钟 转换时间又慢 stc 125a60s2 的51rom62k ram 1024很大了。还要扩 ...

练习下时序的生成还是很不错的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

121

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部