如何用C代码操作51的片外RAM啊

[复制链接]
3423|15
 楼主| huangli211 发表于 2008-9-20 17:02 | 显示全部楼层 |阅读模式
还有比如把一锁存器挂在D0总线上怎么用C语言操作
xuyaqi 发表于 2008-9-20 17:07 | 显示全部楼层

XBYTE[0x8000]=0x55;

 楼主| huangli211 发表于 2008-9-20 17:11 | 显示全部楼层

在KEIL里吗

XBYTE[0x8000]=0x55在KEIL里怎么用啊
hotyong 发表于 2008-9-20 17:31 | 显示全部楼层

re

就是这样用的呀,,再在后面加个分号就可以了
XBYTE[0x8000]=0x55;

只不过一般为了便于修改,使用宏定义
#define myExRam XBYTE[0x8000]

.
.
.

main()
{
..
.
myExRam=0x55;
..

}
 楼主| huangli211 发表于 2008-9-20 21:33 | 显示全部楼层

我刚刚用hotyong 给的方法性不同拉

宏定义的时候没问题
可在代码里不可以使用 
使用就报C202错误
hyhjjg 发表于 2008-9-20 21:51 | 显示全部楼层

那里地方不要先定义吗

nin124 发表于 2008-9-21 02:59 | 显示全部楼层

#include加了没有啊.

hotyong 发表于 2008-9-21 09:36 | 显示全部楼层

nin124说得对

要加  #include<absacc.h>
差点忘了!
 楼主| huangli211 发表于 2008-9-21 10:33 | 显示全部楼层

我把INCLUDE那句家上了

0
xuyaqi 发表于 2008-9-21 11:25 | 显示全部楼层

去掉“XBYTE[0x8000];”后面的分号“;”。

hyhjjg 发表于 2008-9-21 21:54 | 显示全部楼层

谢谢XUYAQI朋友

没有发现错误
hyhjjg 发表于 2008-9-21 22:05 | 显示全部楼层

我在KEIL里面看到有定义好的P口地址

如下
        1    P1=0xFA;
        2    P0=0X20;
        3    exram=0x30;
        4    P2=0x80;
        5    P3=0x81;
        6    P1=0XFF;
1,2,4,5,6在仿镇的时候都可以看到端口的变化,可是用4句代码无法显示出来
是什么原因那?
xuyaqi 发表于 2008-9-22 14:33 | 显示全部楼层

exram=0x30;要在外存看,看图。

 楼主| huangli211 发表于 2008-9-22 16:06 | 显示全部楼层

谢谢xuyaqi朋友

那么如果想把数据写到8004H地址的外设
宏定义应当为下面的数值把
#define myExRam XBYTE[0x8004]

hotyong 发表于 2008-9-22 16:40 | 显示全部楼层

是的

那么如果想把数据写到8004H地址的外设
宏定义应当为下面的数值
#define myExRam XBYTE[0x8004]
 楼主| huangli211 发表于 2008-9-22 20:24 | 显示全部楼层

谢谢hotyong

您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

86

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部