chopin_1998
驱动牛犊
驱动牛犊
  • 注册日期2004-04-01
  • 最后登录2005-03-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1755回复:18

D12相对c51的地址?

楼主#
更多 发布于:2004-04-29 14:38
我的是用p3.0连接A0,两个片子的ALE都置空。

现在的问题是D12对51的地址是什么?

即固件的硬件抽象层的inportb()和outportb()分别怎么写?


谢谢!!

最新喜欢:

lhaihlhaih
Linux Power!
chopin_1998
驱动牛犊
驱动牛犊
  • 注册日期2004-04-01
  • 最后登录2005-03-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-04-29 15:05
帮帮我啦!! 给个思路就行!

在南京的同志,搞定了请吃饭饭!
Linux Power!
longyinjiuxiao
驱动小牛
驱动小牛
  • 注册日期2004-03-15
  • 最后登录2004-06-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-04-29 15:09
D12的ALE能悬空吗?
不是吧?
chopin_1998
驱动牛犊
驱动牛犊
  • 注册日期2004-04-01
  • 最后登录2005-03-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-04-29 15:21
非复用方式下的。

用A0选择命令或数据。
Linux Power!
longyinjiuxiao
驱动小牛
驱动小牛
  • 注册日期2004-03-15
  • 最后登录2004-06-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-04-29 15:22
非复用要接地啊!
chopin_1998
驱动牛犊
驱动牛犊
  • 注册日期2004-04-01
  • 最后登录2005-03-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-04-29 15:28
哈哈,老了老了,才做好几天都忘了,才看了一下,是接地的。

硬件抽象层怎么写呀?
Linux Power!
longyinjiuxiao
驱动小牛
驱动小牛
  • 注册日期2004-03-15
  • 最后登录2004-06-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-04-29 15:34
我都是照周立功的做的,
可是书上没有说应该怎么连接,
所以做出来的都没有什么反应!
chopin_1998
驱动牛犊
驱动牛犊
  • 注册日期2004-04-01
  • 最后登录2005-03-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-04-29 15:34
它们是按复用的做的吧。
Linux Power!
longyinjiuxiao
驱动小牛
驱动小牛
  • 注册日期2004-03-15
  • 最后登录2004-06-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-04-29 15:38
是的,
可是我弄不明白,
为什么偶地址指的是命令,
而奇地址指的是数据?
怎么接才能符合这个要求?
我真弄不明白!
chopin_1998
驱动牛犊
驱动牛犊
  • 注册日期2004-04-01
  • 最后登录2005-03-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-04-29 15:48
对于51来说,用d12相当于扩展了一个RAM。
8个地址位,一个数据位。

按照它们的接法,0xff02 正好对应数据。


可是我的非复用,怎么玩儿呢?!◎#¥%……※×()――+


您在南京吗?有手机吗?
Linux Power!
longyinjiuxiao
驱动小牛
驱动小牛
  • 注册日期2004-03-15
  • 最后登录2004-06-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-04-29 15:50
我在杭州市,
有手机,
不过话费不多。
穷!
longyinjiuxiao
驱动小牛
驱动小牛
  • 注册日期2004-03-15
  • 最后登录2004-06-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-04-29 15:52
对于51来说,用d12相当于扩展了一个RAM。
8个地址位,一个数据位。

按照它们的接法,0xff02 正好对应数据。


可是我的非复用,怎么玩儿呢?!◎#¥%……※×()――+


您在南京吗?有手机吗?


8个地址位,一个数据位,0xff02正好对应数据,
怎么说呢?
chopin_1998
驱动牛犊
驱动牛犊
  • 注册日期2004-04-01
  • 最后登录2005-03-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-04-29 15:53
都穷,买板子的钱都搞死我了。

发几个短信还行吗?

行的话,看看我给你发的在线留言,上面有我的手机。
Linux Power!
longyinjiuxiao
驱动小牛
驱动小牛
  • 注册日期2004-03-15
  • 最后登录2004-06-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2004-04-29 15:57
当然可以发短信,
由于太穷,
我的手机的功能现在只有收发短信了:)

买板子不可以报的吗?
自己掏?
chopin_1998
驱动牛犊
驱动牛犊
  • 注册日期2004-04-01
  • 最后登录2005-03-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2004-04-29 15:59
我是做毕业设计,找谁报? 难道申请科研经费?哈哈

我要下了。135 851 09003
Linux Power!
longyinjiuxiao
驱动小牛
驱动小牛
  • 注册日期2004-03-15
  • 最后登录2004-06-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2004-04-29 16:04
毕业设计不是有经费的吗?
晚上给你发短信!

[编辑 -  4/29/04 by  longyinjiuxiao]
longyinjiuxiao
驱动小牛
驱动小牛
  • 注册日期2004-03-15
  • 最后登录2004-06-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2004-04-30 09:55
/*电路设计:
  8位并行数据线   <-----> PortA
  数据/指令控制脚A0 <-----  PortC-0
  WR         <-----  PortC-1
  RD         <-----  PortC-2
  INT_N              -----> IRQ
  CS_N,ALE直接接地

 对PDIUSBD12的写操作,
 通过函数的参数nPort区分写数据或是写指令,
 而参数nVal则是要写入PDIUSBD12的1字节内容。
*/
void outportb(unsigned short nPort,unsigned char nVal)  
//对PDIUSBD12的写操作
{
  DDRA=0xff;            // 方向寄存器,设置PortA为输出
  if(nPort)             // nPort参数区分写数据或是写指令
     PTC|=0x01;         // 置A0为1,写指令
  else
     PTC&=0xfe;         // 置A0为0,写数据
  PTA=nVal;             // 由PortA写1个字节
  PTC&=0xfd;            // 模拟WR信号下降沿(PortC-1)
  PTC|=0x02;            // 模拟WR信号上升沿(PortC-1)
}

unsigned char inportb(unsigned short nPort)
//对PDIUSBD12的读操作
{
  unsigned char nVal;
  DDRA=0x00;            // 方向寄存器,设置PortA为输入
  if(nPort)
     PTC|=0x01;         // 置A0为1
  else
     PTC&=0xfe;         // 置A0为0
  PTC&=0xfd;            // 模拟RD信号下降沿(PortC-2)
  nVal=PTA;             // 由PortA读取1个字节
  PTC|=0x04;            // 模拟RD信号上升沿(PortC-2)
  return nVal;
}

兄弟,我把摩托罗拉的程序帖出来,
你看一下。
lpbirdueng
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2004-05-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2004-05-01 18:44
再单地址下把D12的A0接到MCU的P0.0上,这样就能区分数据还是命令
oaksun
驱动牛犊
驱动牛犊
  • 注册日期2004-05-06
  • 最后登录2004-05-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2004-05-06 02:00
我也有这个问题。
区分数据与命令还能理解,
但是,它们的地址为什么是0xff02和0xff03(按周立功),而不是0xff04和0xff05或者其它什么的呢?!
游客

返回顶部