- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MCS51系列单片机软件抗干扰技术中的误区.doc
MCS51系列单片机软件抗干扰技术中的误区 详细内容:MCS51系列单片机软件抗干扰技术中的误区摘要:文章指出了一种广泛流传的误解:在MCS-51系列单片机中,只要用指令使程序从起始地址开始执行,就可以复位单片机,摆脱干扰。通过一个简单的实验,揭示了软件复位的可靠方法。有的单片机(如8098)有专门的复位指令,某些增强型MCS-51系统单片机虽然没有复位指令,但片内集成了WATCHDOG电路,故抗干扰也不成问题。而普及型MCS-51系列单片机(如8031和8032)既然无复位指令,又不带硬件WATCHDOS,如果没有外接硬件WATCHDOG电路,就必须采用软件抗干扰技术。常用的软件抗干扰技术有:软件陷阱、指令冗余、软件WATCHDOG等,它们的作用是在系统受干扰时能及时发现,再用软件的方法使系统复位。所谓软件复位就是用一系列指令来模仿复位操作,这就是MCS-51系列单片机所特有的软件复位技术。现用一简单的实验说明,实验电路如附图所示。接于仿真插座P1.0的发光二极管LED0用来表示主程序的工作情况,接于P1。1的发光二极管LED1用于表示低级中断子程序的工作情况,接于P1。2的发光二极管LED2用来表示高级中断子程序的工作情况,接于P3。2口的按钮用来设立干扰标志,程序检测到干扰标志后故意进入死循环或掉进陷井,模仿受干扰的情况,从而检验各种复位方法的实际效果。寮验初始化程序如下:ORG 0000HSTAT: LJMP MAIN ;复位入口地址LJMP PX0 ;按钮中断向量(低级中断)ORG 000BHLJMP PT0 ;t0中断向量(低级中断)ORG 001BHLJMP PT1 ;T1中断向量(高级中断)ORG 0030HMAIN:CLR EAMOV SP,#7MOV P1,#0FFHMOV P3,#0FFHMOV TMOD,#11HCLR 00H ;干扰标志初始化SETB ET0SETB ET1SETB EX0SETB PT1SETB TR0SETB TR1SETB EALOOP: CPL P1.0 ;主程序发光二极管LED闪烁MOV R6,#80HMOV R7,#0TT1:DJNZ R7,TT1DJNZ R6,TT1SJMP LOOPPX0:SETB 00H ;设立干扰标志,模拟发生干扰PT0: CPL P1.1 ;低级中断程序发光二极管LED1闪烁RETIPT1: CPL P1.2 ;高级中断程序发光二极管LED2闪烁RETIEND实验步骤如下:1. 按上述程序启动执行,三个发光二极管都应闪烁(否则应先排除故障),表示主程序和各中断子程序正常。因模拟干扰标志未加检测,故不受按钮影响。2. 修改主程序如下,按下按钮后主程序即掉入死循环中。LOOP: CPL P1.0MOV R6,#80HMOV R7,#0HTT1: DJNZ R7,TT1DJNZ R6,TT1JNB 00H,LOOP ;受干扰否?STOP: LJMP STOP ;掉入死循环。 这时可以看到,主程序停止工作(LED0停止闪烁),而两个中断子程序继续运行(LED1和LED2继续闪烁)。3. 将定时器T1妆作软件WATCHDOG,将30H单元用作软件WATCHDOG计数器。主程序中加入一条复位软件WATCHDOG的指令。LOOP: CPL P1.0MOV 30H,#0 ;复位软件WATCHDOG计数器LOOP: CPL P1.0MOV R6,#80HMOV R7,#0HTT1: DJNZ R7,TT1DJNZ R6,TT1JNB 00H,LOOP ;受干扰否?STOP: LJMP STOP ;掉入死循环。 T1中断子程序修改如下:PT1: CPL P1.2 ;高级中断程序发光二极管闪烁INC 30HMOV A,30HADD A,#0FDHJC ERR ;达到3次否?RETIERR: LJMP STAT ;软件WATCHDOG动作当按下按钮前,程序正常运行(三个LED全闪)。按下按钮后,主程序能迅速恢复工作,但两个中断子程序被封锁,不再工作。过程如下:主程序检测到干扰后进入死循环,不能执行复位30H单元的操作,T1中断使30H不断增值,计数到3时,软件WATCHDOG执行动作,执行一条LJMP指令,使程序从头执行。MAIN过程中清除了干扰标志(表示干扰已经过去),使主程序迅速恢复工作。按理说MAIN过程中也重新设定了各个中断,并开放了它们,为什么中断不能恢复工作呢?这是因为中断激活标志的复位工作被遗忘了,因为它没有明确的位地址可供编程,直接转向0000H地址并不能完成真正的复位。软件复位是使用软件陷井和软件WAT
您可能关注的文档
最近下载
- 人教版二年级数学期末试卷.docx VIP
- 地铁疏散平台施工方案.docx VIP
- 2021中国智能家居生态发展白皮书.pptx VIP
- 中职人工智能技术应用专业人才培养模式的探索与实践报告.docx VIP
- 2025广西公需科目考试答案(3套,涵盖95_试题)一区两地一园一通道建设;人工智能时代的机遇与挑战.docx VIP
- 智能家居生态发展白皮书.pptx VIP
- 2018-2024年海峡杯数学竞赛真题及答案(三年级).pdf VIP
- 铁路线路防护栅栏(通线〔2023〕8001)下.docx VIP
- 范德堡法.doc VIP
- 2023-2024学年江苏省高中语文高三期末通关考试题详细答案和解析.docx VIP
文档评论(0)