历史上的今天
今天是:2025年01月14日(星期二)
2018年01月14日 | 单片机软件陷阱介绍
2018-01-14 来源:eefocus
CPU受到干扰后,往往将一些操作数当作指令码来执行,造成程序执行混乱.我在A51的做法主要有以下几种:
1.中断向量区
ORG 0000H
START: LJMP MAIN
LJMP INT0
NOP
NOP
LJMP ERR 陷阱
LJMP TOINT
NOP
NOP
LJMP ERR 陷阱
- - - -
ORG 0040H
ERR:
-----------
2.在表格区
在表格区的最后安排5个字节的陷阱
TABEL1:
DB ------------
DB ------------
NOP
NOP
LJMP ERR
3.在未使用的ROM空间
未使用的ROM空间一般全是 0FFH,对于51来说是"MOV R7,A"的单字节指令,程序一旦弹飞到这个区域,将会飞流直下.一般在一些固定的地址加入软件陷阱,捕获弹飞的程序.
ORG 6000H
NOP
NOP
LJMP ERR
ORG 7FFBH
NOP
NOP
LJMP ERR
4.在子程序后面
XXXX:
;;;;;;;;;;
;;;;;;;;;;
RET
NOP
NOP
LJMP ERR
以及在一些长跳转的断裂点...
注: ERR子程序,应当重新设定堆栈,等一些初始化的参数,但对于RAM区的部分数据可以判断保留. 至于是否能有所作用只有天知道了.(呵呵~ ~),不过我写的程序一般是最稳定的,也许是这玩意在起作用吧!
上一篇:PT6311器件子程序
下一篇:按键控制LED亮/暗的程序
史海拾趣
|
获奖名单公布: 一等奖:潘铮 二等奖:俞路 练祥华 三等奖:徐钟娜 王志成 高巍 恭喜获奖的朋友,谢谢大家对这次研讨会的关注。 一等奖录音笔(1名); ...… 查看全部问答> |
|
引言: 单片机也称为微控制器(MCU Microcontroller Unit)是最典型、最广泛、最普及的嵌入式系统。目前我国大学,中等专业学校,职业学校,职工进修, 社会培训等,都已经广泛开设单片机教学课程和进行单片机教学。 随着SOC(片上系统)目前日新月异 ...… 查看全部问答> |
|
本人大三学生,学习的是电子类的专业.想着手嵌入式的学习.可不知道该走怎样的方向.对于单片机,我还是比较熟练的.不知是否该在硬件上继续深入,还是开始学习嵌入式系统.对于系统是一开始就学习LINUX 还是从较简单的UC/OS 学起 .想请各位高手,大虾帮忙 ...… 查看全部问答> |
|
我们要给客户做一套库存管理系统,其中要开发一套手持终端的程序,手持终端扫描条形码,便知道是何货物。 手头一点资料也没有,不知道好实现吗?请各位高手指点一下,手持终端选用啥样的好?最好给套方案,比以高分相谢 qq:415548110 msn:sunshi ...… 查看全部问答> |
|
我的程序有一个皮肤目录,现在想 编译 wince 时把这个目录和下面的文件增加到 nk.bin 中 我知道要想增加文件,只要修改 project.bib 文件即可,但是不知道增加文件夹改怎么弄?… 查看全部问答> |
|
FPGA应用设计暑期特惠班/易凡软件嵌入式培训中心 FPGA系统设计暑期班主要面向即将就业的研究生以及希望在数字逻辑设计方面进一步提高的FPGA软硬件工程师。本次培训学习时间较长,有很强的针对性,帮助学员尽快掌握 CPLD/FPGA 的开发流程和设计方法 ...… 查看全部问答> |
|
有什么无线发射接收模块工作在指定频率上呢? 因我公司有个专利频率,我想无线发射接收模块工作在这个频率上! 小弟对对无线不了解,请各位大虾提点下。。。… 查看全部问答> |
|
大家好, 我用STM32的USB功能,除端点0外增加了3个端点,1-IN,2-OUT,3-Interrup. 现在3号端点(INTERRUPT)上传的数据总是相同,用仿真器跟踪,发现是从40006000内存地址发出的数据,我的配置如下: SetEPT ...… 查看全部问答> |




