单片机系统的软硬件开发
单片机控制系统的设计与调试方法

单片机控制系统的设计与调试方法一、前言单片机控制系统是现代电子技术中的一种重要的应用,它具有体积小、功耗低、成本低等优点,被广泛应用于各种领域。
本文将介绍单片机控制系统的设计与调试方法。
二、硬件设计1. 确定系统功能需求在进行单片机控制系统的硬件设计前,需要确定系统的功能需求。
这包括了系统所要实现的功能以及所需要使用的传感器和执行器等。
2. 选择适当的单片机芯片根据系统的功能需求和性能要求,选择适当的单片机芯片。
常见的单片机芯片有8051系列、PIC系列、AVR系列等。
3. 设计电路图根据所选单片机芯片和外围器件,设计电路图。
电路图应包括主控芯片、外设接口电路、时钟电路等。
4. PCB设计根据电路图进行PCB布局和布线设计。
在进行PCB设计时应注意防止信号干扰和功率噪声等问题。
5. 制作PCB板完成PCB设计后,可以通过打样或委托加工来制作PCB板。
6. 组装调试将所选单片机芯片及外围器件进行组装,并进行调试。
在调试时需要注意电路连接是否正确、电源电压是否稳定等问题。
三、软件设计1. 确定系统的软件功能需求在进行单片机控制系统的软件设计前,需要确定系统的软件功能需求。
这包括了系统所要实现的功能以及所需要使用的算法和数据结构等。
2. 编写程序框架根据所选单片机芯片和外围器件,编写程序框架。
程序框架应包括初始化函数、主循环函数等。
3. 编写具体功能模块根据系统的软件功能需求,编写具体功能模块。
例如,如果系统需要测量温度,则需要编写一个测量温度的函数。
4. 调试程序完成程序编写后,进行调试。
在调试时需要注意程序是否能够正确运行、是否存在死循环等问题。
四、系统调试1. 确定测试方法在进行单片机控制系统的调试前,需要确定测试方法。
测试方法应包括了测试步骤和测试工具等。
2. 进行硬件测试对单片机控制系统进行硬件测试。
硬件测试应包括了电路连接是否正确、电源电压是否稳定等问题。
3. 进行软件测试对单片机控制系统进行软件测试。
简述单片机的开发过程

简述单片机的开发过程
单片机是一种高度集成的微处理器,它能完成各种控制和处理任务。
单片机开发的过程可以分为五个阶段:需求分析、系统设计、电路设计、软件设计和调试测试。
1.需求分析
首先需要明确开发需要实现的目标,对控制系统所需的输入输出进行分析,确定系统要具备的功能。
这个阶段需要了解物理特性和工程参数等等。
2.系统设计
系统设计阶段是在需求分析的基础上,制订出具体的设计方案。
确定单片机选型,确定合适的外设。
系统设计考虑电源电路、外设接口、通信接口等等。
3.电路设计
电路设计阶段需要根据系统设计,画出原理图和PCB图,设计单片机控制电路和外设驱动电路等电路板。
电路设计中需要注意各个信号线的阻抗匹配,布线和毫米波滤波器的设置等等。
4.软件设计
软件设计阶段需要对单片机程序模块化设计,程序模块划分、模块间调用关系确定、程序语言选择等等。
该阶段需要十分精细化,由于单片机空间、运算能力都较小,所以设计时需要注意代码的复杂度和程序效率。
5.调试测试
调试测试阶段通常包括软件调试和硬件调试两个部分。
软件调试需要先编译程序,上传到单片机上,通过仿真器或者硬件调试器进行程序测试。
硬件调试则需要根据设计图信号测试点,用仪器等方法连通单片机和外设进行硬件调试。
综上所述,单片机开发是一个系统,复杂性较高的工作,需要在每一步细致、精准和认真。
到了调试测试阶段时,我们应该重视问题发现和排查问题问题能力。
只有在每个阶段都付出最大的努力,才能保证开发出高质量的产品。
简述单片机应用研发过程和研发工具

简述单片机应用研发过程和研发工具
一、单片机应用研发过程
单片机是现代电子技术中的一种基础芯片,它具有体积小、功耗低、性能优良等特点,广泛用于电子设备和控制领域。
单片机应用研发过程主要包括以下几个步骤:
1.需求分析:根据实际需求确定单片机应用的功能和性能要求,包括硬件和软件方面。
2.系统设计:设计单片机应用的整体框架和模块,包括硬件电路的设计和软件系统的设计。
3.原型开发:根据系统设计方案,制作单片机应用的实际原型,并进行测试和调试。
4.功能测试:对原型进行功能测试,确保单片机应用能够正常工作,并满足设计要求。
5.性能优化:对单片机应用进行性能优化,提高响应速度和稳定性。
6.批量生产:对单片机应用进行批量生产,并进行质量控制和测试。
二、单片机应用研发工具
单片机应用研发需要使用一些专门的工具,包括硬件工具和软件工具。
1.硬件工具:硬件工具主要包括PCB设计软件、万用表、示波器、逻辑分析仪等。
2.软件工具:软件工具主要包括单片机编程工具、仿真软件、调试工具等。
常用的单片机编程工具包括Keil、IAR、CodeWarrior等。
这些工具提供了丰富的API库和编程环境,方便开发人员进行单片机应用开发和调试。
仿真软件可以模拟单片机硬件电路和软件系统,帮助开发人员进行系统设计和调试。
调试工具可以帮助开发人员定位单片机应用的问题,提高开发效率。
总之,单片机应用研发需要使用各种工具和技术,需要开发人员具备扎实的硬件电路和软件编程知识,才能开发出稳定、高效的单片机应用。
简述单片机系统的开发流程

简述单片机系统的开发流程单片机系统是指由单片机芯片、外围电路和软件程序组成的一种嵌入式系统。
单片机系统的开发流程包括硬件设计、软件开发和系统调试等多个阶段。
1. 硬件设计阶段硬件设计是单片机系统开发的第一步,主要包括电路设计和PCB设计两个部分。
(1) 电路设计:根据系统需求,选择合适的单片机芯片和外围器件,设计电路原理图。
在电路设计过程中,需要考虑功耗、时钟频率、IO口数量、通信接口等因素,并根据需求进行电源供应、时钟电路、外设接口电路等设计。
(2) PCB设计:根据电路原理图,进行PCB的布线设计。
通过布线设计,将电路原理图中的元器件进行合理的布局和连接,以满足信号传输、电源供应等要求。
在PCB设计过程中,需要注意信号完整性、电源稳定性、阻抗匹配等问题。
2. 软件开发阶段软件开发是单片机系统开发的核心部分,主要包括编写程序和调试两个环节。
(1) 编写程序:根据系统需求和硬件设计,选择合适的开发工具和编程语言,编写单片机的软件程序。
在编写程序过程中,需要了解单片机的指令集、寄存器配置、中断处理等相关知识,并根据需求实现系统的各项功能。
(2) 调试:将编写好的软件程序下载到单片机芯片中,通过调试工具进行调试。
调试过程中,可以通过单步执行、断点调试等方式,逐步检查程序的运行情况,发现并解决程序中的错误和问题。
调试完成后,可以对系统的功能进行验证和优化。
3. 系统调试阶段系统调试是单片机系统开发的最后一步,主要包括硬件调试和软件调试两个环节。
(1) 硬件调试:通过仪器设备和测试工具,对硬件电路进行测试和验证。
主要包括电源稳定性、信号传输、外设功能等方面的测试。
在硬件调试过程中,可以使用示波器、逻辑分析仪等工具对信号进行观测和分析,发现并解决硬件电路中的问题。
(2) 软件调试:在硬件调试完成后,对软件程序进行全面的功能测试。
通过输入不同的参数和数据,验证系统的各项功能是否正常运行。
在软件调试过程中,可以使用调试工具和仿真器对程序进行调试和测试,以确保系统的稳定性和可靠性。
毕业论文-基于STM32单片机的最小硬件系统的软硬件设计与实现

基于STM32单片机的最小硬件系统的软硬件设计与实现摘要随着人们生活水平的提高,人们对消费电子的需求也越来越高,智能硬件和移动平台的成熟,也为STM32的发展提供了基础和动力。
系统采用ARM Cortex-M3内核的STM32F103VET6作为微控制器,设计了CH340 USB 下载电路,JLINK下载电路供下载调试代码,结合DS18B20、VS838、红外遥控、蜂鸣器、LED发光管、RS232、RS485以及板载TFT液晶等外围设备,以及对这些外设的编程控制,实现了温度计、上下位机通信、红外遥控器、定时时钟、触摸画板、TFT液晶显示等集成与一板的功能。
关键词:STM32F103VET6,TFT液晶,DS18B20AbstractAlong with living standard enhancement, the people to expend electronic the demand to be also getting higher and higher. Intelligent mobile platform mature, also provide the foundation and driving force for the development of STM32.The system adopts ARM Cortex-M3 as STM32F103VET6’s kernel as the controller to combined with DS18B20, VS838, infrared remote control, buzzer, LED luminou tube,RS232, RS485 and the onboard TFT LCD and other peripheral equipment, as well as peripheral programming control, realized the thermometer, serial communication, infrared remote control,timing clock, drawing board, touch TFT liquid crystal display is integrated with a function.Key words: STM32F103VET6,TFT LCD, DS18B20目录第1章系统概述与硬件电路设计 (1)1.1系统的总体架构 (1)1.2电源模块 (1)1.3微控制器模块 (2)1.4 TFT液晶显示模块 (4)1.5红外遥控模块 (6)1.6 USB供电下载电路 (7)1.7蜂鸣器电路 (8)1.8 RS232电路 (8)第2章系统选型与软件设计 (10)2.1系统元器件选型及参数介绍 (10)2.1.1 系统微控制器选型 (10)2.1.2系统温度传感器选型 (10)2.1.3系统USB转串口芯片选择 (11)2.1.4系统显示器选择 (12)2.2系统软件设计 (14)2.2.1 软件编程环境介绍 (14)2.2.2系统设计总流程 (14)2.2.3 TFT液晶驱动 (15)2.2.4 DS18B20温度传感器驱动 (18)第3章系统PCB设计与制作 (22)3.1 Altium Designer软件介绍 (22)3.2系统原理图与PCB印刷线路板绘制 (22)3.3 PCB的布局与布线 (23)3.4 设计规则检查(DRC) (24)第4章系统的安装与调试 (25)4.1硬件调试 (25)4.2软件调试 (25)4.3 系统实物制作效果图 (25)第5章总结与体会 (27)5.1总结 (27)5.2体会 (27)致谢 (29)附录一程序代码 (30)附录二实物效果图 (36)第1章系统概述与硬件电路设计1.1 系统的总体架构STM32F103VET6的最小硬件系统主要包括了电源电路和微控制电路已经各种外设电路和下载电路组成,其系统框图如图1.1所示。
单片机开发的要求和标准

单片机开发的要求和标准
单片机开发的要求和标准主要包括以下几个方面:
1. 电气特性:单片机开发需要满足一定的电气特性,例如供电电压、工作电流、IO电平和电流等。
2. 硬件接口:单片机需要提供各种硬件接口,包括通用IO口、定时器、串口、模拟输入输出等,以便与其他外部硬件进行连接和通信。
3. 软件开发环境:单片机需要提供完善的软件开发环境,包括编译器、调试器和集成开发环境等,以方便开发者进行代码编写、调试和测试。
4. 编程语言和开发工具:单片机开发可以使用多种编程语言进行开发,常见的有汇编语言和C语言。
同时,还需要提供相
应的开发工具,例如编译器、调试器和仿真器等。
5. 性能和功能:单片机的性能和功能也是开发的要求和标准之一。
开发者需要根据具体的应用需求选择和设计单片机,以满足要求的性能和功能。
6. 可靠性和稳定性:单片机开发需要考虑可靠性和稳定性,以确保系统的正常运行和长期稳定。
这包括电路设计的稳定性、软件的错误处理和容错能力等。
7. 标准规范:单片机开发需要遵循一定的标准规范,例如电气
标准、通信协议、代码规范等。
这有助于提高开发的效率和可维护性,以及确保开发的产品符合相关的法规和要求。
总之,单片机开发的要求和标准涉及电气特性、硬件接口、软件开发环境、编程语言和开发工具、性能和功能、可靠性和稳定性、以及标准规范等方面。
只有满足这些要求和标准,才能开发出可靠、稳定和高性能的单片机应用产品。
单片机开发工具介绍

单片机开发工具介绍单片机开发工具是指用于设计和开发嵌入式系统的软件和硬件工具。
它们为工程师提供了一种便捷和高效的方式来进行单片机的编程和调试。
本文将介绍几种常见的单片机开发工具,包括集成开发环境(IDE)、编译器、调试器和仿真器等。
一、集成开发环境(IDE)集成开发环境是用于编写、组织和管理单片机代码的软件工具。
它通常包含代码编辑器、编译器、调试器和其他辅助工具。
常见的单片机开发工具IDE有Keil μVision、IAR Embedded Workbench和Code Composer Studio等。
1. Keil μVisionKeil μVision是一种流行的嵌入式系统开发工具,适用于多种不同的单片机架构。
它提供了直观的图形用户界面,方便工程师编写、调试和测试代码。
Keil μVision还集成了许多功能强大的插件和库文件,方便用户快速开发出高效且可靠的嵌入式系统。
2. IAR Embedded WorkbenchIAR Embedded Workbench是一套全面的单片机开发工具,支持多种不同的单片机芯片。
它具有先进的编译器和调试器,能够提供高效和稳定的单片机开发环境。
IAR Embedded Workbench还具备丰富的代码优化功能,可帮助工程师减少代码大小和提高系统性能。
3. Code Composer StudioCode Composer Studio是德州仪器(Texas Instruments)开发的一款用于MSP430和其他TI单片机的集成开发环境。
它提供了丰富的编译器、调试器和分析工具,帮助工程师快速开发和调试嵌入式系统。
Code Composer Studio还支持多种外围设备和通信接口,方便用户在开发过程中进行扩展和调试。
二、编译器编译器是将源代码转换成可执行文件的工具。
它将工程师编写的高级语言代码转换成特定单片机指令集所能识别的低级机器码。
常见的单片机编译器有Keil C Compiler、IAR C/C++ Compiler和GCC等。
单片机的软件开发工具与环境介绍

单片机的软件开发工具与环境介绍单片机是指集成在单个芯片上的微型计算机系统。
它具备较小的体积、低功耗、低成本以及较强的功能等特点,被广泛应用于各个领域。
在单片机的开发过程中,选择合适的软件开发工具和环境非常关键。
本文将介绍几种常用的单片机软件开发工具与环境。
一、Keil μVisionKeil μVision是一款由Keil Software公司推出的嵌入式系统开发工具。
它是一套集成开发环境(IDE),包含了编译器、调试器、仿真器等功能模块,可以实现单片机程序的编写、编译以及调试。
KeilμVision支持多种芯片系列,如STMicroelectronics的STM32系列、NXP的LPC系列等。
其可视化界面友好,功能强大,被广泛应用于单片机软件开发领域。
二、IAR Embedded WorkbenchIAR Embedded Workbench是由IAR Systems推出的单片机开发工具。
它提供了完整的软件开发流程,包括编写、编译、调试和优化等环节。
IAR Embedded Workbench支持多种单片机系列,如Texas Instruments的MSP430系列、Renesas的RL78系列等。
该工具具有较高的代码生成效率和卓越的调试功能,可以帮助开发者提高开发效率和代码质量。
三、MPLAB X IDEMPLAB X IDE是由Microchip公司开发的一款集成开发环境。
它主要用于开发与Microchip单片机相关的应用程序。
MPLAB X IDE支持多种编程语言,如C、C++以及汇编语言。
该工具提供了丰富的调试功能和模拟器功能,并能够与硬件调试器(如PICkit)结合使用,使得开发者可以更加方便地进行单片机程序的开发和调试。
四、Arduino IDEArduino IDE是一款面向Arduino单片机的开发工具。
Arduino是一种开源的电子原型平台,广泛应用于各个领域的快速原型开发。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机应用系统的软硬件开发
单片机应用系统的软硬件开发
林卫星 宁波大学信息科学与工程学院自动化系( !"#$"")
$%&’()*’ L78; :E:CD 8; MNJM9OPCP CQ:CD8CJMC 8J B7C PC;8RJ EJP DCE98,EB8NJ NS E::98MET9C ;U;BCV W8B7 E %&’ SDNV ;NSBWEDC EJP 7EDPWEDC 8JBN DC98ET898BUX@J C;:CM8E99U :DNT9CV; EDC EJE9U,CP B7EB EDC ;98R7BCP CE;89U TU E PC;8RJY CDX@B 8; ;NVC ZE9OET9C DCSCDCJMC; 8J NDPCD BN PC;8RJ EJ E::98MET9C ;U;BCV W8B7 E ;8JR9C[M78: V8MDNMNV:OBCDX +,-./(0&\%&’, PC;8RJ NS ;NSBWEDC EJP 7EDPWEDC, V8QCP 9EJROERC :DNRDEVV8JR , DC98ET898BU
P6
单片机应用系统的软硬件开发
条 !"# 指令, 可保护其后的指令不被拆散。若某指令 前插入两条 !"# 指令,则这条指令就不会被前面冲 下来的失控程序拆散, 并将被完整执行, 从而使程序走 上正轨。 但不能加入太多的冗余指令, 以免明显降低程 序正常运行的效率。 因此, 常在一些对程序流向起决定 作用的指令之前插入两条 !"# 指令,以保证跳飞的 程序迅速纳入正确的控制轨道。此类指令有: $%&、
(%&’),新型的 %&’ 的优势表现在时钟频率的进一 步提高 ( 从 *%+, 提高到 -.%+,) , 指令执行速度的提 高 ( 从 "$ 个机器周期到 * 个机器周期, 甚至到 " 个机 器周期 ), 处理器相关功能的提高 ( 如增加了数学处理、
《 工业控制计算机》 !""! 年 #$ 卷第 % 期
$%
’!(
种将 & 语言和汇编语言混合编程的办法, 可充分发挥 各自语言的优点, 取长补短, 开发出高质量的单片机应 用程序。这一多种语言的混合编程思想在开发出高质 量的应用程序中非常有用, 笔者的课题组用 & 语言和 汇编语言混合编程实现大型烘箱温度控制与检测系统
’!(
、 一阶滞后滤波等。 这是最正规的单 $)最好选用总线不外引的单片机,
摘 要 本文结合作者多年的实际开发单片机应用系统的体会, 从硬件开发、 软件编程、 可靠性设计以及开发手段等方面做 了归纳式叙述, 尤其是普通开发者容易忽视的地方做了较细致的分析, 这对单片机应用系统的 开 发 者 无 疑 具 有 一 定 价 值 的参考作用。 关键词: 单片机, 硬件设计, 软件编程, 可靠性
在开发过程中,建议使用高、中档单片机仿真工 具, 因为它具有如下特点:
!因支持高级语言的调试,提供全数据类型的查
看和修改。
"支持多家软件公司汇编和编译产生的目标代码
格式。
#中高档仿真器的人机界面有四个档次: 4"+ 下
的简单命令行和批处理文件; 4"+ 下的窗口命令行;
$%&’、 ()*((、 +,-#、 ,.、 ),!% 等 。 在 某 些 对 系 统 工
的性能价格比。 ( $)扩展接口的开发方式 扩 展 接 口 的 开 发 尽 可 能 采 用 6?4、 >6A2 ( 或 这类器件都有开发平台的支持 开 &654)等器件开发。 发难度较小, 开发出的硬件性能可靠、 结构紧凑、 利于 修改、 保密性好。这种方法也是硬件接口开发的趋势。 如 29BCDE 公司生产的 F6%G"$<? 应用较广, 在中国市 场也容易买到。把单片机外围电路中的许多功能模块 也为扩展接 组合在一起, 形成典型的、 通用 的 接 口 H"I, 口快速的低成本开发提供了简洁而适用的方法。
"
硬件设计开发 硬件设计是单片机应用开发的基础,软件的编程
#
程序设计与编程
是建立在硬件开发的基础之上,软硬件设计的巧妙结 合是项目开发质量保证的关键。在单片机硬件开发设 计中应注意以下几个方面: ( ")选用最新的 %&’ 单片机应用开发者必须学习应用最新单片机
& 语言既有高级语言的各种特点,又可对硬件进
作状态至关重要的指令 / 如 +%&0 %* 之类 1 前也可插 人两条 !"# 指令, 以保证被正确执行。 当跳飞的程序落到非程序的数据表格区时, 且跳飞 的程序在没有碰到冗余指令之前, 已经自动形成一个死 循环, 这时采取的措施是看门狗系统 /2*&)3 4"51。 所谓软件陷阱, 就是一条引导指令, 强行将捕获的程序 引向对程序出错进行处理的程序。 如果把这段程序的入 口标号取为 %$$ 的话, 软件陷阱即为一条 (,-# %$$ 指令, 为加强其捕捉效果, 一般还在它前面加两条 !"# 指令, 因此, 真正的软件陷阱由三条指令构成:
行操作, 并可进行结构化程序设计。 目前已有专为单片 机 设 计 的 & 语 言 编 译 器 , 如 >DEJK98J &#"、 1F@5 但和汇编语言相比, &#"。 & 语言程序反汇编生成的汇 编代码往往比较长。 有占存储空间大、 执行程序时间长 的弱点。 单独用汇编语言编程虽然编制的程序较短, 又 有开发周期长、 可读性差、 修改麻烦等缺点。较好的解 决办法为程序的框架和主体用 & 语言编写, 要求高速 执行的部分或大量重复使用的常用汇编语言编程, 这
2 3 4 和 4 3 2 转换器的内部集成, 5&4 显 示 等 功 能 模 块的内部集成,外部扩展功能的增强。如 67898:; 的 6<=&<<- 单片机内部有 *-1 字节 >52?+ (快闪存储 器)、 ! 个计数器、 !!%+, 时钟、 * 个机器周期执行一条 $ 指令、 从而使开发的系统有更高 @ & 总线、 @?6 3 @26 等,
!
引言 单片机的应用开发不单是软件的开发,它与开发
模糊控制等 ) , 内部程序存储器和数据存储器容量的进 一步扩大 (/0% 扩到 *-1 字节, /2% 扩到 $1 字节 ),
语言和硬件密切相关。所以要求开发者对单片机的内 部结构十分熟悉,了解单片机的开发应用涉及到硬件 扩展接口和各类传感器、 执行器等, 还必须尽可能地了 解各学科中适应单片机完成的控制项目以及控制过 程。从而针对任务才能提出切实可行的由单片机来完 成的要求和功能。 才可能编写出好的软件, 并将它用于 实际系统中。 掌握单片机的应用开发需要一个过程。首先必须 掌握数字电路和模拟电路方面的知识,还必须学习单 片机原理、 硬件结构、 扩展接口和编程语言。初次开发 时因没有经验, 可能要经过多次反复才能完成项目。 这 时, 就会得到较大的收获和积累, 它表现在硬件设计方 面的积累; 软件编程方面的积累; 设计与调试经验方面 的积累。
0"$(*!4 风 格 的 4"+ 窗 口 菜 单 ; -=>?@A@BC 风 格 的 2=DE@FA G 2’!HI 窗口菜单。
集成开发平台具有编辑—— —汇编 G 编译—— —连接 G 定位—— —调试—— —装入目标系统一条龙。用全屏幕编 辑, 就地修改, 所见即所得, 有文件整块剪贴技术; 用工 程 /#?@JK>C1 技术: 一次将工程的全部源文件、 头文 件 、 作废库文件送入工程管理器, 统一管理汇编 G 编译和连 接 G 定位。用 -LMK 技术: 自动辨别汇编器 G 编译器, 每 次调试循环仅做增量汇编 G 编译和连接 G 定位。 当有的文件被破坏,使用 0N=OE 技术跳出 -LMK 循环, 重新全面地进行汇编 G 编译和连接 G 定位。 有错误 和警告自动定位, 明确的错误自动修正, 扩展的运行类 型( 如放开运行, 动画式运行, 遇光标终止、 出函数前终 止、 出函数后终止) , 扩展的单步类型( 如指令单步、 语 句单步、 函数单步) , 扩展的断点类型( 如指令断点、 语 句断点、 循环断点、 内容断点、 条件断点) 等。
片机使用模式, 它符合小型、 简单、 可靠、 廉价的单片机设 计原则, 显然单片机总线对外封闭的产品是最为可靠的。
;)&89 抗干扰措施
当通过干扰三总线等干扰作用到单片机本身时, 单片机将不能按正常状态执行程序, 就会引起混乱。 如 何发现单片机受到干扰,如何拦截失去控制的程序流 向?如何使系统的损失减小?如何恢复系统的正常运 行? 这些都是 &89 抗干扰需要解决的问题。 可采用了 以下几种方法。 其一是人工复位: 对于失控的 &89, 最简单的 方 法是使其复位, 程序自动从 """"< 开始执行。为此只 要在单片机的 =>?>@ 端加上一个高电平信号,并持 续四个时钟周期以上即可’:(。 其二是掉电保护:电网瞬间断电或电压突然下降 将使微机系统陷入混乱状态, 电网电压恢复正常后, 微 机系统难以恢复正常。对付这一类事故的有效方法就 是掉电保护。 掉电信号由硬件电路检测到, 加到单片机 的外部中断输入端。往往将掉电中断规定为最高级中 断,使系统及时对掉电做出反应。在掉电中断子程序 中,首先进行现场保护,保存当时重要的状态参数到 当电源恢复正常时, 恢 >>8=AB 中 ’$(, &89 重新复位, 复现场, 继续未完成的工作。 其三是:睡眠抗干扰, &BA? 型的 $# 系列单片机 具有睡眠状态,此时只有定时 C 计数器和中断系统处于 工作状态。这时 &89 对系统三总线上出现的干扰不会 做出任何反应,从而大大降低系统对干扰的敏感程度。 通过分析一般的应用软件后发现, &89 在很多情况下 是在执行一些等待指令和循环检查程序,这时 &89 虽 没有重要工作, 但却是清醒的, 很容易受干扰。让 &89 在没有正常工作时休眠,必要时再由中断系统来唤醒 它, 之后又处于休眠。采用这种安排之后, 大多数 &89 可以有 $"D%$E的时间用于睡眠,从而使 &89 受到随 机干扰的威胁大大降低, 同时降低了 &89 的功耗。 其四是: 指令冗余, 当 &89 受 到 干 扰 后 , 往往将 一些操作数当作指令码来执行, 引起程序混乱。 这时首 先要尽快地执行真正的指令系列。B&?F$# 系统中所 有指令都不超过 5 个字节,而且有很多单字节指令。 当程序跳飞到某一条单字节指令上时,便自动执行真 正的指令。 当跳飞到某一双字节或三字书指令上时, 有 可能落到其操作数上, 从而继续出错。因此, 应多采用 单字节指令,并在关键的地方人为地插入一些单字节 空操作指令( , 或将有效单字书指令重复书写, GA8) 这便是指令冗余。在双字节和三字节指令之后插入两