wanson
驱动牛犊
驱动牛犊
  • 注册日期2004-06-22
  • 最后登录2004-07-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1267回复:5

用地址数据复用的方法如何向USBD12的命令字中写入两个数据?多谢大家指教!

楼主#
更多 发布于:2004-06-23 07:59
用地址数据复用的方法如何向USBD12的命令字中写入两个数据?多谢大家指教!
wanson
驱动牛犊
驱动牛犊
  • 注册日期2004-06-22
  • 最后登录2004-07-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-06-23 13:10
这样的操作我知道了,可是引用:
--------------------------------------------------------------------------------
PDIUSBD12有两种数据总线方式:多路地址/数据总线和单地址数据总线。多路地址/数据总线ALE接单片机的ALE管脚,这样使用MOVX指令可以与D12接口,对D12的操就像对RAM操作一样。这时可以忽略A0的输入,D12在ALE的下降沿锁存地址信息。奇地址的输出为命令,偶地址的输出为数据。单地址数据总线ALE接地。A0为1时,使用MOVX输出的是命令,A0为0时,使用MOVX输出的是数据。
--------------------------------------------------------------------------------


5)ALE 和A0 的接法必须组合在一起,根据USB 芯片与MCU 之间数据地址总线情况
的不同,有两种接法:a)如果总线和地址复用,则可以将ALE 接至MCU 的ALE,A0 接高
电平,这种情况下D12 会在ALE 的下降沿锁存地址信号,直接将数据写入对应的USB 地
址码中。比如D0 是D12 的地址使能命令字,则直接将要使能的USB 地址写入D0 中,在
MCU 的ALE 下降沿,D12 先将D0 保存下来,然后再将端口地址作为数据送至D12;
为什么会截然不同呢?
zfw
zfw
驱动小牛
驱动小牛
  • 注册日期2001-12-16
  • 最后登录2006-09-01
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-06-23 11:24
直接跟2个数据就行
outportb(D12_COMMAND, 0xF3);
outportb(D12_DATA, D1);
outportb(D12_DATA, D2);
zfw
zfw
zfw
驱动小牛
驱动小牛
  • 注册日期2001-12-16
  • 最后登录2006-09-01
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-06-23 11:23
直接跟2个数据就行
outportb(D12_COMMAND, 0xF3);
outportb(D12_DATA, bConfig);
outportb(D12_DATA, bClkDiv);
zfw
kkyouking
驱动中牛
驱动中牛
  • 注册日期2004-02-23
  • 最后登录2008-02-27
  • 粉丝0
  • 关注0
  • 积分47分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-06-23 11:02
F3  是地址,调用设备层的子函数就可以,。D12的固件源程序很多的
52+PDIUSBD12开发套件 SL811单片机读写U盘套件 www.devking.cn 联系sl811hs@yahoo.com.cn QQ 14441292
wanson
驱动牛犊
驱动牛犊
  • 注册日期2004-06-22
  • 最后登录2004-07-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-06-23 10:26
void outportb(unsigned char port,unsigned char val)
{
     unsigned char xdata *ext_address;
    
 ext_address=port;
*ext_address=val;

}
outportb(0xf3,0x06);
向F3写第二个字节(时钟分频系数)该如何写,我是新手,还望各位高手指教指教。
游客

返回顶部