找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2247|回复: 11
打印 上一主题 下一主题
收起左侧

关于单片机模块化编程的问题

[复制链接]
跳转到指定楼层
楼主
ID:881715 发表于 2021-10-21 21:32 来自触屏版 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    大家好,最近我在学单片机模块化编程,,有一个问题求教一下,在不用模块化编程时,建立新工程时需要在工程里添加一个A.51启动文头件,为的是程序复位时把有的变量清0,请问是哪些变量特别需要这个文件用来清0,在一个问题为什么模块化编程特别强调要选择为否不能添加这个文件呢?

IMG_20211021_212158.jpg (1.88 MB, 下载次数: 25)

IMG_20211021_212158.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:592807 发表于 2021-10-22 08:51 | 只看该作者
那叫启动文件,并不是清零而是复位,每一次开机或者按下复位键时都会调用这个文件。就像酒店入住一样,入住前客服要将房间布置成标准格式,无论上一个客户将房间搞成什么样,都会布置成没有人使用过一样。
回复

使用道具 举报

板凳
ID:624769 发表于 2021-10-22 10:34 | 只看该作者
应该是 STARTUP.A51 吧?不是A.51吧?
添加不添加,编译的时候,都会把STARTUP.A51 包含进去,只是不添加的话,包含默认的。一旦添加了,就有可能会更改,那么很可能会造成一些不必要的困扰,大家都用默认的,是最好的。
回复

使用道具 举报

地板
ID:143767 发表于 2021-10-22 12:23 | 只看该作者
我从来都不添加也没见有什么问题
回复

使用道具 举报

5#
ID:972853 发表于 2021-10-22 20:24 | 只看该作者
C51的启动文件,建立运行环境的,编译器也是假设工作在初始化后的环境下,只要你用C编程就要加,与你程序结构是否模块化没有半毛钱关系。如果用汇编就不要加,自己进行必要的初始化即可。
回复

使用道具 举报

6#
ID:881715 发表于 2021-10-23 09:47 来自触屏版 | 只看该作者
njzr 发表于 2021-10-22 20:24
C51的启动文件,建立运行环境的,编译器也是假设工作在初始化后的环境下,只要你用C编程就要加,与你程序结 ...

老师这个初始化运行环境是什么意思呀?一般的手动复位算是初始化运行环境吗?
回复

使用道具 举报

7#
ID:415064 发表于 2021-10-23 10:58 | 只看该作者
初始化运行环境可以参考楼上的标准酒店布局,手动复位也算,因为手动复位是上电,运行 STARTUP.A51 布置标准环境,然后再进行main()的
回复

使用道具 举报

8#
ID:972853 发表于 2021-10-23 17:07 | 只看该作者
创造生活 发表于 2021-10-23 09:47
老师这个初始化运行环境是什么意思呀?一般的手动复位算是初始化运行环境吗?

客气了,我只是个老电工,你可以自己打开看一下没几条指令,就是个标准汇编文件,无非就是清零RAM、XRAM之类的操作,初始化一些BANK选择之类的
回复

使用道具 举报

9#
ID:881715 发表于 2021-10-28 22:51 来自触屏版 | 只看该作者
多谢各位老师指教
回复

使用道具 举报

10#
ID:972274 发表于 2021-10-29 09:16 | 只看该作者
稍微讲一下我理解的初始化。
通常单片机或其他计算机系统,在长时间断电后,上电复位,软件从头开始运行。这时,大多数情况下,默认RAM中的内容都是0x00h。这种情况下,做不做初始化,没多大关系。
当单片机或其他计算机系统运行过程中,按下复位按钮,或者断电后很快又上电,这时,会出现上次用到的RAM中的很大一部分,仍然保留了上次写入的数据或者是不确定的状态。如果自己写的程序中,能时刻记得,只要用到这些存储单元,就先初始化一下,也没问题。如果忘了,或者想省点事,STARTUP.A51就替你把活干了。
如果熟悉代码的话,看看STARTUP.A51,里面除了一些地址设置和循环的指令外,大量的都是
               CLR     A
LOOP:      MOVX    XXXX,A
               DJNZ    YYYY,LOOP
这样的代码。
回复

使用道具 举报

11#
ID:881715 发表于 2021-11-10 22:13 来自触屏版 | 只看该作者
weimeix 发表于 2021-10-29 09:16
稍微讲一下我理解的初始化。
通常单片机或其他计算机系统,在长时间断电后,上电复位,软件从头开始运行。 ...

多谢您的指教,明白了启动文件的用途万分感谢
回复

使用道具 举报

12#
ID:881715 发表于 2021-11-10 22:14 来自触屏版 | 只看该作者
感谢各位大神指教多谢
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表