单片机应用中若干问题的解决方法

时间:2022-09-08 09:12:50

单片机应用中若干问题的解决方法

摘 要 单片机因其体积轻小、运算指令速度快、智能化程度高等多种优势,广泛应用于工业控制、仪表监测、测控等多个领域。然而由于单片机的起步较晚,其各方面的技术也并不完善,所以在实际应用中会出现各种问题。本文就单片机在其应用过程中出现的一些常见问题加以阐述并提出相应的解决方法,如抗干扰技术、提高可靠性方法、程序出轨等。

【关键词】单片机 问题 硬件 软件

20世纪80年代初期,单片机开始进入人们的视线。近30多年来,单片机普遍应用于工业领域中,各个领域中基本上都能看到单片机的踪迹。然而由于工作环境或是外界干扰等问题,单片机在应用中也暴露了很多问题,影响其运行的可靠性和准确性,并给工业生产造成严重损失。基于此,本文就单片机在实际应用过程中存在的一些常见问题进行分析论述,以提高单片机的运行效率,减少生产成本。

1 抗干扰问题

单片机在运行过程中,由于受到外界干扰,如放电干扰、高频振荡、电磁信号影响等,很容易造成程序运行紊乱,或是硬件控制失灵,数据采集误差较大等问题,严重影响着其运行的稳定性和可靠性。因而使单片机具备更好的抗干扰性能,保证单片机有效稳定运行,是设计者在设计单片机系统时需要注意的重要问题。而干扰信号对单片机产生影响是通过其I/O口进入,在通常情况下,提高单片机的抗干扰性能,主要是从硬件和软件方面着手。

硬件上抗干扰,是从电路上直接将干扰除去。即在电路设计上加上电路用以减弱或是消除干扰信号,由于干扰信号不同,则电路设计也会有所改变。针对对电源波动较敏感的单片机,选取电源稳压块,采用0.01μF滤波旁路电容,以去除耦合影响。如图1所示;而对于系统上电或是下电时,在未对单片机做处理时,其电压会从0突增到工作电压,此时系统处于超不稳定状态,程序也会乱跑,而这种情况在实际使用中,是绝不允许的。出于对系统的保护作用及延长其使用寿命,此时需用上电延时复位电路,令单片机在工作电压变得稳定后工作正常。

另外一种抗干扰方式是利用软件实现,即人为地添加程序以过滤干扰信号,进而更一步地强化单片机的抗干扰能力。首先是指令冗余抗干扰,其是在进行抗干扰系统设计实现过程中,在系统程序流关键地方以及系统运行工作到具有决定作用的指令执行处,人为地加入一些空操作指令,即NOP指令。在单片机应用系统程序运行到某个单字节指令上时,在这里添加的空操作指令NOP,使得原本应作为操作数使用的指令失效,同时也避免了改变操作数的情况;也可利用软件陷阱抗干扰技术实现抗干扰能力,其主要是通过引导设置软件陷阱的抗干扰因子,避免和控制系统程序运行中存在的干扰因素,因而使得系统稳定可靠地运行。在这里,系统软件中的陷阱主要是系统程序中的一个引导指令,这个引导指令可以在系统程序运行过程中,强制性地捕获系统程序中乱飞的程序段,并将捕获所得程序引导至错误处理程序或者是复位地址处,从而对于系统程序的安全可靠运行进行保证。

2 可靠性方法

单片机系统的功能性设计是在理论基础上完成的,然而在实际的工作环境中,由于各方面因素的制约,其工作性能并不能充分发挥,因而系统的可靠性设计就尤为重要。系统的可靠性由自身的软硬件与其所处的工作环境综合决定,因而在设计分析时,也是从这两点出发。

硬件上主要是考虑系统运行的稳定性,减少或避免外界的干扰,其方法参考上述提到的抗干扰技术,另还可以放入抑制高频的电感,以避免高频信号从电源或是地线引入;使用隔离或屏蔽方法,利用光电隔离器件将单片机的输入输出隔离开,一方面使杂乱信号不得进入单片机系统,另一方面单片机系统本身的噪声也不会以传导的方式传播出去。而屏蔽则是针对空间环境中各种辐射可能会给系统带来的干扰。

在软件方面,除了上面提到的指令冗余外,另在系统启动运行时,开始执行开机自检程序,实时检测单片机各个模块的运行使用情况。当检查内容均为正常状态时,程序才能顺利地往后依次运行,一旦出现异常情况便进行相应的措施处理。开机自检项目主要有对RAM、ROM、I/0口状态及其他接口的检测;另外可利用单片机自带的“看门狗”,记录程序运行情况,一旦单片机由于程序由于某个原因乱飞,某一程序段持续进入死循环模式,此时便可利用看门狗程序发出复位信号,单片机复位,程序也会回到起始位置开始执行。

3 程序出轨问题

程序在其运行过程中,由于会受到随机的干扰,正常的逻辑执行顺序将被打破,因而造成程序卡死或是陷入死循环的后果,其主要特征是某个数据码或是指令码,因受干扰而发生跳变使程序运行出轨,进而使得整个单片机应用控制系统失效,这很可能会给设备生产带来隐患,更可能会危及到整个系统是否能安全稳定执行。

程序出轨问题可采用上述使用“看门”狗解决,待出现不正常时,程序自动跳回到执行入口地址;另外,可使用定时中断方式对程序进行监测,定时器在程序运行正常阶段不会产生中断。而当程序出现异常时,触发中断,进而中断服务程序执行使系统复位。另外还可通过硬件电路对程序进行监测,使其恢复正常复位,系统周期性地向端口提供高低电平,一旦程序出现异常或是乱飞,则触发单稳态触发器,继而实现了系统的自动复位.。

由于单片机不如计算机运行功能强大,其在使用过程中受外部影响较大,继而其存在的问题也是不可预测的。本文主要是针对单片机应用中比较常见的问题加以论述,对单片机系统中基本上会存在的抗干扰问题、可靠性问题及程序出轨问题加以说明,使得单片机系统运行更稳定、可靠、高效率,同时也降低生产成本,提高工作效率。另外抗干扰、可靠性的提高及程序出轨问题间,各因素间都是相互影响相互制约的,在不同的工作环境下均可得到一个稳定可靠的单片机控制系统。

参考文献

[1]张军,胡孝昌.单片机应用系统抗干扰技术的研究[J].计算机量与控制,2006(03).

[2]王幸之,王雷,钟爱琴等.单片机应用系统电磁干扰和抗干扰技术[M].北京航空航天大学出版社,2006.

[3]郭天祥.51单片机C语言教程[M].电子工业出版社,2003.

作者简介

翁鹏飞(1994-),男,汉族,江西省上饶市人,四川大学电子信息学院学生,研究方向为通信工程。

邱月阳(1992-),男,汉族,四川省资中人,四川大学电子信息学院学生,研究方向为通信工程。

作者单位

四川大学电子信息学院 四川省成都市 610021

上一篇:探讨计算机技术在财务管理中的应用 下一篇:Pspice在模拟电子电路设计中的应用