dacongtou
驱动中牛
驱动中牛
  • 注册日期2002-11-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1170回复:10

新手提问的简单问题,还是关于d12命令和数据的

楼主#
更多 发布于:2002-11-19 14:25
分不多,但是重要的是帮助了一个正需要帮助的人,不是么?

我的问题还是关于那个老问题:
首先说明我是采用总线方式的,

mov dptr,#1    ;奇数地址就是命令
mov a,#d0h
movx dptr,a
mov dptr,#0   ;偶数地址就是数据
mov a,address
movx dptr,a
---------------------
问题1:movx那句是dptr还是@dptr?
问题2:取数据的时候,按上面的例子那样发送一条取数据指令后从哪个地址取2个字节的数据阿?最好给个例子。(我实在想不通怎么取了)
问题3:上面例子中写入的地址是分配给USB的首地址还是末地址阿?地址的范围是什么呢?是什么地址啊?(ram还是rom或是把d12看成的外部寄存器的地址?)


[编辑 -  11/19/02 by  dacongtou]

[编辑 -  11/19/02 by  dacongtou]
dacongtou
驱动中牛
驱动中牛
  • 注册日期2002-11-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-11-20 10:54
是不是问题太简单了,还是分给少了阿??


真的希望能给我个答案阿。我现在都快急死掉了。
zfnuaa
驱动牛犊
驱动牛犊
  • 注册日期2002-09-28
  • 最后登录2004-04-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-11-20 15:17
回答问题1:应该是MOVX @DPTR,A
问题2:MOV A,#0F4H                ;读中断寄存器的过程
       MOV DPTR,#00F3H            ;奇地址,写指令
       MOVX @DPTR,A
       MOV DPTR,#00F2H            ;偶地址,读数据
       MOVX A,@DPTR              ;从USB中断寄存器中读2数据
       MOV 20H,A                  ;该数据在A中,分别放入20H
       MOVX A,@DPTR               ;21H单片机内部RAM里
       MOV 21H,A  
问题3:上面的例子中的奇偶地址是给D12的,在这种方式中,D12的ALE要和单片机的ALE相连,D12的A0要接高电平。00F3和00F2地址是把D12看做是外部RAM,在D12内部有逻辑判断,根据ALE,和D0引脚的信号来判断是写指令还是数据。
清楚不: :D
dacongtou
驱动中牛
驱动中牛
  • 注册日期2002-11-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-11-20 16:32
还是有点不太明白,那要是我要设置模式命令应该是f3h

那么我
MOV A,#0F3H
MOV DPTR,#XXH      ;这里的XX应该添什么阿..
MOVX @DPTR,A

zfnuaa
驱动牛犊
驱动牛犊
  • 注册日期2002-09-28
  • 最后登录2004-04-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-11-21 10:59
还是00F3H,DPTR的指只有两种,00F3H(奇地址),是往D12写指令时用到的,00F2H(偶地址)是从D12读数据或往D12写数据是用到的。 :D
dacongtou
驱动中牛
驱动中牛
  • 注册日期2002-11-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-11-21 11:30
o,那你的意思就是说只要是奇地址就用00F3H,偶地址就用00F2H


是必须用这个地址还是随便那个奇地址都可以.?
xjLegend
驱动小牛
驱动小牛
  • 注册日期2002-11-04
  • 最后登录2005-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-11-21 11:33
o,那你的意思就是说只要是奇地址就用00F3H,偶地址就用00F2H


是必须用这个地址还是随便那个奇地址都可以.?


只要是奇地址就行,不一定非要用00F3H.
我想要点分,这样才有成就感嘛!
zfnuaa
驱动牛犊
驱动牛犊
  • 注册日期2002-09-28
  • 最后登录2004-04-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-11-21 11:35
楼上说的对! :D
dacongtou
驱动中牛
驱动中牛
  • 注册日期2002-11-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-11-21 15:57
可是地址的范围是什么呢?什么命令用什么地址有什么规定么?
--------------------------------------
还是00F3H,DPTR的指只有两种,00F3H(奇地址),是往D12写指令时用到的,00F2H(偶地址)是从D12读数据或往D12写数据是用到的。
----------------------------------------------
那不是不同的命令用了同样的地址吗..这样也可以么..



xjLegend
驱动小牛
驱动小牛
  • 注册日期2002-11-04
  • 最后登录2005-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-11-21 17:13
命令编码是由D12内部进行处理的,只管根据手册向该地址写就行了!
我想要点分,这样才有成就感嘛!
dacongtou
驱动中牛
驱动中牛
  • 注册日期2002-11-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-11-22 08:26
噢.我明白了.那就是说就用这个#00F3和#00F2就可以了.

谢谢各位的回答.
游客

返回顶部