国产做a爰片久久毛片a,亚洲 日韩欧美精品,中文字幕乱人伦在线视频,亚洲一区AV无码少妇电影☆

关于51单片机的地址空间溢出以及解决方法的个人看法(proteus无法仿真)

关于51单片机的地址空间溢出以及解决方法的个人看法(proteus无法仿真)

ruyue 2024-12-13 批发零售 36 次浏览 0个评论

个人看法,不喜勿喷
在51单片机程序编写中,当变量过多而且数据类型过大的话,容易在编译的时候出现以下的问题,具体表现为:

 

Program Size: data=130.0 xdata=7 code=3267
Target not created.

这样子也就是所谓的编译失败,不能生成HEX文件,更加无法烧写到程序中去,那么如何解决这个问题呢,我在网上找到了解法,网上的具体步骤如下:
1.先点击这个图标

2.在其中的memory model 将small改成compact选项,那么即可编译通过。

3.确实,我通过这种方法,解决了程序无法编译的问题

但是呢,我们将这种情况下生成的HEX文件在proteus上面导入,准备实现整体软件的功能,这个时候我们又会发现一个问题,那就是Proteus里面的程序运行不了

关于51单片机的地址空间溢出以及解决方法的个人看法(proteus无法仿真)


我们观察这个LCD1602的显示屏,发现上面是直接的黑块,这个就很奇怪了。。。我以为是LCD初始化做的不够,就去疯狂的调试LCD的程序。。。。。后来发现不是LCD的程序问题,而是你改成了了Compact模式之后还要紧接着修改RAM的地址.

像我这种菜鸡怎么会修改RAM的地址呢???我就想了另外一种解决方法.
就是在变量的数据类型上面进行修改,因为我们程序中一定会用到大量的全局变量跟局部变量,那么将变量的类型修改成为xdata类型就可以了.
例如

unsigned int xdata Count1;
unsigned int xdata Count2;
unsigned int xdata jll;

关于51单片机的地址空间溢出以及解决方法的个人看法(proteus无法仿真)

我们也不需要将所有的变量都设置成为这种类型,只要合适就好.
再将Compact类型改成small类型,之后重新编译就可以通过.
注意我们还需要在Proteus里面修改内容哦,所需要修改的是STC89C52.

右键52单片机,点击编辑属性,找到最下面一栏

然后修改XRAM的内容

将XRAM的值改成512
之后重新加载hex文件就可以出结果了

关于51单片机的地址空间溢出以及解决方法的个人看法(proteus无法仿真)

转载请注明来自石家庄天鲲化工设备有限公司 ,本文标题:《关于51单片机的地址空间溢出以及解决方法的个人看法(proteus无法仿真)》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

验证码

评论列表 (暂无评论,36人围观)参与讨论

还没有评论,来说两句吧...

Top
主站蜘蛛池模板: 鸡西市| 台湾省| 益阳市| 古田县| 正定县| 江达县| 临朐县| 朔州市| 广东省| 大连市| 平利县| 苏尼特右旗| 广平县| 信阳市| 昂仁县| 绥滨县| 蓬安县| 西乌| 新建县| 蒲江县| 泾阳县| 涞源县| 通州市| 永泰县| 渑池县| 文昌市| 凤庆县| 黄大仙区| 大同县| 肥东县| 铅山县| 平南县| 汶川县| 汝南县| 五指山市| 三亚市| 乐昌市| 遂溪县| 津市市| 南召县| 武陟县|