单片机系统软件抗干扰方法:在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究。1、软件抗干扰方法的研究在工程实践中,软件抗干扰研究的内容主要是: 消除模拟输入信号的嗓声(如数字滤波技术); 程序运行混乱时使程序重入正轨的方法。本文针对后者提出了几种有效的软件抗干扰方法。1.1 指令冗余CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。若“飞”到了三字节指令,出错机率更大。在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。通常是在双字节指令和三字节指令后插入两个字节以上的NOP。这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当作操作数执行,程序自动纳入正轨。此外,对系统流向起重要作用的指令如RET、RETI、LCALL、LJMP、JC等指令之前插入两条NOP,也可将乱飞程序纳入正轨,确保这些重要指令的执行。1.2 拦截技术所谓拦截,是指将乱飞的程序引向指定位置,再进行出错处理。通常用软件陷阱来拦截乱飞的程序。因此先要合理设计陷阱,其次要将陷阱安排在适当的位置。1.2.1 软件陷阱的设计当乱飞程序进入非程序区,冗余指令便无法起作用。通过软件陷阱,拦截乱飞程序,将其引向指定位置,再进行出错处理。软件陷阱是指用来将捕获的乱飞程序引向复位入口地址0000H的指令。通常在EPROM中非程序区填入以下指令作为软件陷阱:
上传时间: 2013-10-29
上传用户:大三三
编译原理的一个小实例 YACC(Yet Another Compiler-Compiler)是LALR(1)分析器的自动生成工具,它的第一版于70年代初发表,是美国贝尔实验室的软件产品(作者为S.C.Johnson) YACC将一前后文无关文法转换为一LALR(1)分析表,并提供使用该分析表进行语法分析的总控程序yyparse().
标签: Compiler-Compiler Another YACC LALR
上传时间: 2013-12-16
上传用户:jing911003
语法分析器lex和词法分析器yacc的C++语言实现 1.Lex (1)Lex输入文件的解析 (2)正规表达式的解析 (3)一个正规表达式到NFA的转换算法实现 (4)多个NFA的合并 (5)NFA的确定化和最小化算法实现 (6)返回状态与返回内容的对应 2.Yacc (1)Yacc输入文件的解析 (2)上下文无关文法到对应LR(1)文法的下推自动机的构造 (3)LR(1)文法的下推自动机到相应分析表的构造 (4)LR(1)总控程序的构造(查表程序) (5)符号表的构建与相应管理程序 (6)语义动作程序的加入 环境:Visual Studio.NET 2003
上传时间: 2013-12-09
上传用户:zxc23456789
ST套件上0-99秒计时,比较准的!(由网友wonderfulsf提供) ST套件上0-99秒计时,比较准的! 这是我学习PIC完成的第一个程序烧在了ST套件上不错,0-99秒计时 如果用MPLAB模拟,用stopwach计时非常准 ST套件上0-99秒表程序,根据原0-99键控程序上改写的,初学练习
上传时间: 2015-12-14
上传用户:FreeSky
自动驾驶仪是无人机飞行控制系统的核心,采用ARM 处理器和MEMS传感器件设计小型无人机自动驾驶仪符合飞 控系统的高精度、小型化、数字化发展趋势,具有很好的应用 前景。
上传时间: 2016-04-07
上传用户:lz4v4
用一门面向对象语言建立一个针对LL(1)文法分析构造演示器,输入定义好的文法,进行分析后在内存中建立其存储结构,判断其能用LL(1)文法分析后,建立其分析过程。 为此我们将本任务分解为以下内容: (1)文法的建立; (2)上下文无关文法的判定; (3)消除文法中一切左递归的算法; (4)文法二义性的判定; (5)LL(1)文法的判定; (6)消除直接左递归; (7)消除间接左递归; (8)直接左公因子的改造; (9)间接左公因子的改造; (10)递归子程序的构造; (11)根据布尔矩阵求Follow集; (12)能导出ε的非终结符; (13)根据定义构造First集; (14)根据关系图构造First集; (15)根据定义构造Follow集; (16)根据关系图构造Follow集; (17)Select集的构造; (18)预测分析表的构造; (19)总控程序的构造; (20)语法树的演示; (21)根据总控程序输出语法树; (22)根据布尔矩阵求First集。 我所要完成的任务是 语法树的演示。
上传时间: 2016-07-30
上传用户:kelimu
LL(1)语法分析器,在任何时候,总控程序都是按照栈顶符号X和当前输入符号a行事的。对于任何(X,a),总控程序每次都执行下述三种可能的动作之一: 若X=a=’#’,则宣布分析成功,停止分析过程; 若X=a≠’#’,则把X从栈顶逐出,让a指向下一输入符号; 若X是一个非终结符,则查看分析表M。若M中存放着一条关于X的产生式,那么,首先把X逐出栈顶,然后,把产生式的右部符号按反序一一推进栈,同时做这个产生式相应的语义动作(目前不管)。若M[X,a]中存放着一条出错标志,则调用出错诊查程序Error。
上传时间: 2013-12-09
上传用户:13160677563
matlab的FDC工具箱,对飞控系统很有帮助。
上传时间: 2014-01-09
上传用户:yoleeson
PLC_FX:是PLCL_FX编程手册,手册是PDF格式的,本手册是编写FX系列微型可编程控制器用的顺控程序指令说明书
上传时间: 2013-12-26
上传用户:从此走出阴霾
四旋翼飞行器电路原理图,包含飞控板和电调电路图
上传时间: 2013-12-13
上传用户:咔乐坞