日志档案

发表于 2008-3-20 10:25:57

1

标签: C51  XBYTE  

C51里面XBYTE的使用

1. 首先给个链接,C51的用户向导,http://www.keil.com/support/man/docs/c51/c51_xbyte.htm ,瞒有用。
2. 这个主要是在用C51的P0,P2口做外部扩展时使用,其中XBYTE [0x0002],P2口对应于地址高位,P0口对应于地址低位。一般P2口用于控制信号,P0口作为数据通道。
   比如:P2.7接WR,P2.6接RD,P2.5接CS,那么就可以确定个外部RAM的一个地址,想往外部RAM的一个地址写一个字节时,地址可以定为XBYTE [0x4000],其中WR,CS为低,RD为高,那就是高位的4,当然其余的可以根据情况自己定,然后通过
XBYTE [0x4000] = 57;
这赋值语句,就可以把57写到外部RAM的0x4000处了,此地址对应一个字节。

系统分类: 单片机   |   用户分类: 单片机   |   来源: 原创   |   【推荐给朋友】

    阅读(748)    回复(4)  

投一票您将和博主都有获奖机会!

  • 2008-4-1 10:15:27

    你好 看了你的说明,我还是有很多不明白的地方,我是个新手,能不能指教一下? QQ:56222420 Email:56222420@qq.com

  • cyzgood

    2008-4-2 17:05:04

    请把不明白的地方具体指出来

  • 2008-4-5 11:12:54

    P2.7接WR,P2.6接RD,P2.5接CS,那么就可以确定个外部RAM的一个地址 这是怎么确定地址的呢?就是说我现在知道硬件是怎么接的,怎么确定这个地址的值?

  • cyzgood

    2008-4-5 21:07:21

    对于这个问题,个人理解是这样的:对于地址的确定,其实还是P0,P2口16根线确定的,当你执行XBYTE [0x4000] = 57;这条语句时,首先通过0x4000来确定16根线的状态,也就唯一确定了外部的一个地址,那么此时由于P2.7接WR,P2.6接RD,P2.5接CS,即WR为低,RD为高,CS为低,对应的是一个写状态,然后接着才会把57通过P0口写到0x4000这个位置.