ds1302用large:variables in XDATA

[复制链接]
4872|6
 楼主| liwei12400 发表于 2013-4-27 19:08 | 显示全部楼层 |阅读模式
最近在学单片机,
keil的运用还不是很熟练。
今天在看keil里的设置时发现memory model这个项。
百度过了,但是,我不明白,一个1602显示的+DS1302程序,把memory model改成large:variables in XDATA   后就没法显示出时间了。
faaaaaa 发表于 2013-4-27 22:07 | 显示全部楼层
你的单片机RAM不够大吧
这个名字2 发表于 2013-4-27 22:59 | 显示全部楼层
同求问,51单片机用ds1302在small模式下好用,但在compct或large下却不可以(程序无warning,与ds1302相关的变量全定义为data)。
 楼主| liwei12400 发表于 2013-8-12 15:04 | 显示全部楼层
好吧。时隔n久,当初的问题我已经调试出来了。因为在程序中用到了ACC累加寄存器,所以在换成large模式时用到的是外部寄存器所以会报警。改进的办法是将ACC换成其他一个变量来代替使用,这样编译就不会报错了
coody 发表于 2013-8-12 16:51 | 显示全部楼层
你用汇编么?用C语言的话,用ACC要小心
kolar93 发表于 2015-5-19 09:33 | 显示全部楼层
我也遇见过,在与ds1302有的变量那里定义为data存储空间就可以了
uchar data a,miao,shi,fen,ri,yue,nian,week,flag,temp,key1n;
data
ayb_ice 发表于 2015-5-19 12:50 来自手机 | 显示全部楼层
首先要有xdata空间
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

57

帖子

1

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