打印

51单片机 应用ADC0809的问题

[复制链接]
3281|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
2sainimu78|  楼主 | 2012-1-10 21:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
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相关引脚。
其实我也是临时查的,拿出说的也不能保证正确。

使用特权

评论回复
5
2sainimu78|  楼主 | 2012-1-11 21:59 | 只看该作者
主要是想知道 MOVX @DPTR,A
MOVX A,@DPTR  这两个指令的执行过程是怎么样的

然后1楼的2个问题就可以解决了

使用特权

评论回复
6
fe07fe| | 2012-1-11 23:01 | 只看该作者
这个地方百度文库有解释。

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

使用特权

评论回复
7
fe07fe| | 2012-1-11 23:22 | 只看该作者

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

使用特权

评论回复
8
2sainimu78|  楼主 | 2012-1-13 23:27 | 只看该作者
好吧 谢谢你呀 1楼的问题我差不多想清楚了 先不管了

不过刚发现一个问题 觉得是书上错了
题目要求是要把读到的数据存到片内RAM的40~47H
可是代码里是 MOVX @R0,A 这样存的  这样不是就存到片外了吗?
应该是MOV @R0,A吧 ?

使用特权

评论回复
9
sedatefire| | 2012-1-13 23:28 | 只看该作者
好吧,只好顶你了,为了调整我帖子的顺序

使用特权

评论回复
10
fe07fe| | 2012-1-14 11:05 | 只看该作者
R0-7八位,DPTR 16位。

使用特权

评论回复
11
2sainimu78|  楼主 | 2012-1-14 13:48 | 只看该作者
算了吧.. 我还是另开帖吧

使用特权

评论回复
12
2sainimu78|  楼主 | 2012-1-14 13:50 | 只看该作者
虽说FE07FE有些答非所问 不过我还是要谢谢你  谢谢了

使用特权

评论回复
13
fe07fe| | 2012-1-14 14:43 | 只看该作者
哦!是的吧,



使用特权

评论回复
14
fe07fe| | 2012-1-14 14:47 | 只看该作者
发个软件。 C51.zip (1.09 MB)

使用特权

评论回复
15
xuling425300| | 2012-1-19 00:32 | 只看该作者
0809过时的芯片了把    还要外接时钟 转换时间又慢    stc 125a60s2 的51rom62k   ram  1024很大了。还要扩展。。。

使用特权

评论回复
16
fjw0312| | 2013-5-22 15:36 | 只看该作者
我也遇到了,好几天了解决不了,我想顺便问一下,用0808可以这样练吗?迅速求助????

使用特权

评论回复
17
fjw0312| | 2013-5-22 15:44 | 只看该作者
还有一问题:是不是MOVX @DPTR,A;这条程序是单片机内就自动wr置为低电平
  MOVX  A,@DPTR;执行这条指令时单片机内就自动RD置低电平

使用特权

评论回复
18
logokfu| | 2013-5-22 16:09 | 只看该作者
xuling425300 发表于 2012-1-19 00:32  0809过时的芯片了把 还要外接时钟 转换时间又慢 stc 125a60s2 的51rom62k ram 1024很大了。还要扩 ...

练习下时序的生成还是很不错的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

121

帖子

1

粉丝