- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MCS-51单片机控制系统的设计
MOV @R0, A INC R0 DONE: DJNE R2, LOP ; R2≠0, 继续比较 DJNE R3, SORT ; R3≠0, 继续循环 MOV A, R0 ADD A, SAMP ; 计算中值地址 CLR C RRC A MOV R0, A MOV DPTA, @R0 ; 存放滤波值 RET 四、 算术平均滤波 对目标参数进行连续采样, 然后求取算术平均值作为有效采样值, 该算法适用于抑制随机干扰。 按输入的N个采样数据Xi(i=1~N), 寻找一个Y, 使Y与各采样值之间的偏差的平方和最小, 即 由一元函数求极值原理, 可得 设第 i 次测量的采样值包含信号成分Si和噪声成分ni, 则进行N次测量的信号成分之和为 噪声的强度是用均方根来衡量的, 当噪声为随机信号时, 进行N次测量的噪声强度之和为 程序如下: F4: CLR A ; 清累加器 MOV R2, A MOV R3, A MOV R0, #30H ; 指向第一个采样值 FL40: MOV A, @R0 ; 取一个采样值 ADD A, R3 ; 累加到R2、 R3中 MOV R3, A CLR A ADDC A, R2 MOV R2, A JNC R0 CJNC R0, #38H, FL40 ; 累加完8次 FL41: SWAP A ; (R2R3)/8 RL A XCH A, R3 SWAP A RL A ADD A, #80H ; 四舍五入 ANL A, #1FH ADDC A, R3 RET 图.11 开关量信号采样流程 6.4.2 程序执行过程中的软件抗干扰 一、 程序“跑飞” 二、 指令冗余 三、 软件陷阱 则下面三条指令即组成一个“软件陷阱”: NOP NOP LJMP ERR “软件陷阱”一般安排在下列四种地方。 1. 未使用的中断向量区 MCS - 51 单片机的中断向量区为 0003H~002FH, 如果系统程序未使用完全部中断向量区, 则可在剩余的中断向量区安排“软件陷阱”, 以便能捕捉到错误的中断。 如某系统使用了两个外部中断INT0、INT1和一个定时器溢出中断T0, 它们的中断服务子程序入口地址分别为FUINT0、 FUINT1和 FUT0, 即可按下面的方式来设置中断向量区: ORG 0000H 0000H START: LJMP MAIN ; 引向主程序入口 0003H LJMP FUINT0 ; INT0中断服务程序入口 006H NOP ; 冗余指令 007H NOP 008H LJMP ERR ; 陷阱 0013H LJMP FUT0 ; T0中断服务程序入口 00EH NOP ; 冗余指令 00FH NOP ; 0010H LJMP ERR ; 陷阱 0013H LJMP FUINT1 ; INT1中断服务程序入口 0016H NOP ; 冗余指令 0017H NOP 0018H LJMP ERR ; 陷阱 001BH LJMP ERR ; 未使用T1中断, 设陷阱 001EH NOP
文档评论(0)