C51热启动代码的编制

发布者:Leishan最新更新时间:2024-07-25 来源: cnblogs关键字:C51  编制 手机看文章 扫描二维码
随时随地手机看文章

对于工业控制计算机,往往设有有看门狗电路,当看门狗动作,使计算机复位,这就是热启动。热启动时,一般不允许从头开始,这将导致现有的已测量到或计算到的值复位,导致系统工作异常。因而在程序必须判断是热启动还是冷启动,常用的方法是:确定某内存单位为标志位(如0x7f位和0x7e位),启动时首先读该内存单元的内容,如果它等于一个特定的值(例如两个内存单元的都是0xaa),就认为是热启动,否则就是冷启动,程序执行初始化部份,并将0xaa赋与这两个内存单元。
根据以上的设计思路,编程时,设置一个指针,让其指向特定的内存单元如0x7f,然后在程序中判断,程序如下:
void main()
{ char data *HotPoint=(char *)0x7f;
if((*HotPoint==0xaa)&&(*(--HotPoint)==0xaa))
{ /*热启动的处理 */ 
}
else
{ HotPoint=0x7e; /*冷启动的处进
*HotPoint=0xaa;
*( HotPoint)=0xaa; 
}
/*正常工作代码*/
}
然而实际调试中发现,无论是热启动还是冷启动,开机后所有内存单元的值都被复位为0,当然也实现不了热启动的要求。这是为什么呢?原来,用C语言编程时,开机时执行的代码并非是从main()函数的第一句语句开始的,在main()函数的第一句语句执行前要先执行一段’起始代码’。正是这段代码执行了清零的工作。C编译程序提供了这段起始代码的源程序,名为CSTARTUP.A51,打开这个文件,可以看到如下代码:
.
IDATALEN EQU 80H ; the length of IDATA memory in bytes. 
.
STARTUP1:
IF IDATALEN <> 0
MOV R0,#IDATALEN - 1
CLR A
IDATALOOP: MOV @R0,A
DJNZ R0,IDATALOOP
ENDIF
.
可见,在执行到判断是否热启动的代码之前,起始代码已将所有内存单元清零。如何解决这个问题呢?好在启动代码是可以更改的,方法是:修改startup.a51源文件,然后用编译程序所附带的a51.exe程序对 startup.a51编译,得到startup.obj文件,然后用这段代码代替原来的起始代码。具体步骤是(设C源程序名为HOTSTART.C):
修改startup.a51源文件(这个文件在C51LIB目录下)。
执行如下命令:
A51 startup.a51 得到startup.obj文件。将此文件拷入HOTSTART.C所在目录。
将编好的C源程序用C51.EXE编译好,得到目标文件HOTSTART.OBJ。
用 L51 HOTSTART, STARTUP.OBJ 命令连接,得到绝对目标文件HOTSTART。
用 OHS51 HOTSTART 得到HOTSTART.HEX文件,即可。
对于startup.a51的修改,根据自已的需要进行,如将IDATALEN EQU 80H中的80H改为70H,就可以使6F到7F的16字节内存不被清零。

关键字:C51  编制 引用地址:C51热启动代码的编制

上一篇:C51学习笔记
下一篇:8051单片机的GPIO

推荐阅读最新更新时间:2026-03-20 10:37

我国将编制新时期智能网联汽车产业发展规划
10月17日,由工业和信息化部、交通运输部、北京市人民政府联合主办的2024世界智能网联汽车大会在北京开幕。记者在会上了解到,工业和信息化部将编制新时期智能网联汽车产业发展规划,加快建设汽车强国。 近年来,世界主要汽车国家和地区纷纷布局智能网联汽车产业,通过政策规划、试点示范、技术创新等多种措施,加快部署、加大投入。 中国科学技术协会主席万钢在开幕式上指出,经过多年发展,我国智能网联新能源汽车产业发展取得巨大成就。面向未来,要集聚国家战略科技力量和市场创新主体,培育壮大新型零部件、新型基础设施等新质生产力,加强产业协同融合,构建产业发展新生态;推进绿色、低碳、智能制造等前沿技术创新和产业化应用,加强人工智能、大数据、数字孪生、边缘
[汽车电子]
云维保专家推荐:生产设备的点检标准该如何编制
现代化生产设备日益向高度自动化、密集型生产方向发展,设备一旦发生故障就会全面停机,影响整个产线的生产,排产计划的延误,将给企业带来严重经济损失。所以,工厂生产设备的标准化、数字化管理,在整个生产线中,发挥着重要的作用。 今天云维保设备全生命周期管理专家,来为大家分享介绍生产设备的点检标准及其编制方法,帮助企业规范化管理设备,提高设备点检工作质量,为设备的安全运行、降低生产设备事故、实现工厂生产效益最大化,奠定安全生产基础。 点检标准是点检员对设备进行预防性检查的依据,也是编制各种点检计划的依据,它规定了设备各部位的点检部位、点检项目、点检内容、点检周期、管理值、点检方法、点检分工,以及在什么状态下,进行点检等。 1、点
[工业控制]
编制PLC程序的逻辑错误
在编制PLC程序时,不管是新手还是老手,都会犯下面的这种低级错误。因为这种错误是非语法上的,所以用编程软件也不能检查出错误之处。此错误一旦发生,自己有时还很难发现,直至上机调试运行时,所控设备不能运行或运行到某个位置停止不前,才察觉出来有问题,再对PLC程序逐条逐句查找分析,或采取对程序逐条逐句执行,费时费工。 那么究竟是什么问题易使我们犯下这种低级错误呢? 继电器电气控制的固有思维,在编制程序时,某个或几个输入点采用物理常闭触点(如停止开关、行程限位开关),在程序中,仍延续继电器电气控制方式编制,即仍采用常闭接点作为导通条件使用。 下面用一个简单的启停与自锁电路示例来说明: 根据上图编制的不能运行的错误PLC程序如下
[嵌入式]
<font color='red'>编制</font>PLC程序的逻辑错误
储能用锂电池安全强标编制工作正式启动
  2022年1月18日,储能用锂电池安全强标启动会在京召开。中国电子技术标准化研究院、应急管理部沈阳消防所、中国民航科技研究院、中科院物理所和宁德时代、亿纬锂能、华为数字能源等120余家研究机构、生产企业、行业组织的代表,以“线上+线下”的方式参加会议。工业和信息化部电子信息司副司长杨旭东出席会议并讲话。   2021年12月,强制性国家标准《电能存储系统用锂蓄电池和电池组 安全要求》制定计划正式下达,该标准由工业和信息化部归口管理,由电子标准院等单位牵头起草。本次会议的召开,标志着该强标编制工作正式启动。   下一步,工业和信息化部电子信息司将指导有关技术机构加快强标制定,促进锂电产业健康有序发展。同时,还将持续推动
[新能源]
国家能源局:已完成《能源技术创新“十四五”规划》初稿编制
据国家能源局3月12日消息,针对“《能源技术创新“十四五”规划》何时发布的相关问题”的留言,国家能源局回应称,国家能源局正在组织研究编制《能源技术创新“十四五”规划》(以下简称《规划》),支撑能源领域重大技术装备创新发展。 《规划》的主要思路是聚焦保障能源安全、促进能源转型和引领能源革命等重大需求,以实现能源科技自立自强为目标,以完善能源技术创新体系为重点,以“短板”技术攻关和“前瞻性”技术创新为主线,以集中攻关一批、示范试验一批、应用推广一批“三个一批”为路径,指导行业加快关键核心技术攻关和成果产业化。 目前已完成规划初稿编制,正在抓紧与有关部门、行业内专家及企业充分沟通衔接,进一步修改完善规划文稿。待时机成熟,将在国
[新能源]
“十四五”电网规划编制计划年内完成 “新基建”加速跑
记者了解到,国家电网公司正在加紧组织开展“十四五”电网规划研究工作,计划年内完成规划报告编制,上报国家能源局。其中,被称为“新基建”重头戏的特高压将加快推进,在稳增长、调结构、惠民生中发挥更大作用。 这种“重金”布局的趋势在今年已经显现。作为电网投资的主要力量,国家电网连续上调2020年全年特高压建设项目投资规模至1811亿元,可带动社会投资3600亿元,整体规模5411亿元。在加快复工复产的同时,一批工程正在力争年内核准并开工。 一批特高压工程加速启动 3月30日,陕北—湖北±800千伏特高压直流工程湖北段项目正式开工,拉开了湖北未来三年新增近3000千米输电线路、1400万千瓦输电能力的特高压工程建设大幕。
[新能源]
编制AI产业发展路线图,上海人工智能产业发展将步入“快车道”?
昨日,上海正在编制人工智能产业发展路线图,着手建成人工智能的上海方案。上海市副市长吴清在政府新闻发布会上表示,上海还将推动上海人工智能产业投资基金的组建,进一步用好科创板,推动投资与产业的结合。 吴清表示,自去年以来,人工智能已上升为上海优先发展战略,产业发展进入“快车道”,上海初步建成为中国人工智能发展的领先地区之一。伴随着人工智能产业发展路线图的编制出台以及相关政策的落地,上海市人工智能产业发展必然将再度步入“快车道”,再一次迎来产业发展的空前利好。但是,这一番说辞的凭借以及依托何在?以下,笔者带你逐步探究。 上海市人工智能产业发展具有领先优势 此前,亿欧智库发布了一份中国人工智能产业发展20强城市榜单,分别从企业规模、政
[机器人]
长三角地区集成电路领域科技创新一体化发展规划启动编制
  6月27日下午,2018年度第三次长三角区域创新体系建设联席办公室会议在上海召开。上海市科委牵头苏浙皖三省科技部门专题研讨启动长三角地区集成电路领域科技创新一体化发展规划编制工作。上海市科委副主任干频、浙江省科技厅副厅长章一文、安徽省科技厅副厅长罗平、江苏省科技厅景茂副巡视员出席会议并讲话,三省一市科技部门相关处室负责人、集成电路领域相关企业和高校院所专家参加会议。   推进长三角地区集成电路领域科技创新,是三省一市科技部门落实习近平总书记和三省一市主要领导座谈会精神,聚焦高质量、聚力一体化服务国家战略的共同行动。上海市科委干频副主任指出,长三角一体化发展是中央确定的发展战略,按照习近平总书记对政府科技管理部门 抓战略、抓规划
[半导体设计/制造]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved