《完美版课件单片机应用系统设计.ppt》由会员分享,可在线阅读,更多相关《完美版课件单片机应用系统设计.ppt(73页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第12章章 单片机应用系统设计单片机应用系统设计12.1.1 单片机应用系统开发的基本过程单片机应用系统开发的基本过程一系统需求与方案调研一系统需求与方案调研 系统需求与方案调研的目的是通过市场或用户系统需求与方案调研的目的是通过市场或用户了解了解用户对用户对拟拟开发应用系统的开发应用系统的设计目标设计目标和和技术指标技术指标。通过查。通过查找资料,分析研究,解决以下问题:找资料,分析研究,解决以下问题:1)了解国内外同类系统的开发水平、器材、设备水平、了解国内外同类系统的开发水平、器材、设备水平、供应状态;对接收委托研制项目,还应充分了解对方技供应状态;对接收委托研制项目,还应充分了解对方
2、技术要求、环境状况、技术水平,以确定课题的技术难度。术要求、环境状况、技术水平,以确定课题的技术难度。2)了解可移植的硬、软件技术。能移植的尽量移植,了解可移植的硬、软件技术。能移植的尽量移植,以防止大量低水平重复劳动。以防止大量低水平重复劳动。3)摸清硬、软件技术难度,明确技术主攻方向。摸清硬、软件技术难度,明确技术主攻方向。4)综合考虑硬、软件分工与配合方案。单片机应用系综合考虑硬、软件分工与配合方案。单片机应用系统设计中,硬、软件工作具有密切的相关性。统设计中,硬、软件工作具有密切的相关性。可行性分析的目的是对系统开发研制的必要可行性分析的目的是对系统开发研制的必要性及可行性作出性及可行
3、性作出明确明确的判定结论。根据这一结论的判定结论。根据这一结论决定系统的开发研制工作是否进行下去。决定系统的开发研制工作是否进行下去。可行性分析可行性分析通常从以下几个方面进行论证通常从以下几个方面进行论证:1)市场或用户的需求情况。)市场或用户的需求情况。2)经济效益和社会效益。)经济效益和社会效益。3)技术支持与开发环境。)技术支持与开发环境。4)现在的竞争力与未来的生命力。)现在的竞争力与未来的生命力。二可行性分析二可行性分析 系统功能设计系统功能设计包括包括系统总体目标功能的确定系统总体目标功能的确定及及系系统硬、软件模块功能的划分与协调关系统硬、软件模块功能的划分与协调关系。系统功能
4、设计系统功能设计是根据系统硬件、软件功能的划分是根据系统硬件、软件功能的划分及其协调关系,确定系统硬件结构和软件结构。及其协调关系,确定系统硬件结构和软件结构。系统系统硬件硬件结构设计的主要内容包括单片机系统扩结构设计的主要内容包括单片机系统扩展方案和外围设备的配置及其接口电路方案,最后要展方案和外围设备的配置及其接口电路方案,最后要以逻辑框图形式描述出来。以逻辑框图形式描述出来。系统系统软件软件结构设计主要完成的任务是确定出系统结构设计主要完成的任务是确定出系统软件功能模块的划分及各功能模块的程序实现的技术软件功能模块的划分及各功能模块的程序实现的技术方法,最后以结构框图或流程图描述出来。方
5、法,最后以结构框图或流程图描述出来。三系统功能设计三系统功能设计12.12.1 单片机应用系统的硬件组成单片机应用系统的硬件组成被被控控对对象象单单片片机机光电隔离光电隔离A/D光电隔离光电隔离光电隔离光电隔离D/A扩展存储器扩展存储器显示器显示器键盘接口键盘接口功能芯片功能芯片接口接口数字量输入数字量输入模拟量输入模拟量输入开关量输入开关量输入开关量输出开关量输出模拟量输出模拟量输出输输入入输输出出接接口口I/O接接口口 系统详细设计与制作就是将前面的系统方案付诸系统详细设计与制作就是将前面的系统方案付诸实施,将硬件框图转化成具体电路,并制作成电路板,实施,将硬件框图转化成具体电路,并制作成
6、电路板,软件框图或流程图用程序加以实现。软件框图或流程图用程序加以实现。四系统详细设计与制作四系统详细设计与制作 系统调试是检测所设计系统的正确性与可靠性的必系统调试是检测所设计系统的正确性与可靠性的必要过程。单片机应用系统设计是一个相当复杂的劳动要过程。单片机应用系统设计是一个相当复杂的劳动过程,在设计、制作中,难免存在一些局部性问题或过程,在设计、制作中,难免存在一些局部性问题或错误。系统调试可发现存在的问题和错误,以便及时错误。系统调试可发现存在的问题和错误,以便及时地进行修改。调试与修改的过程可能要反复多次,最地进行修改。调试与修改的过程可能要反复多次,最终使系统试运行成功,并达到设计
7、要求。终使系统试运行成功,并达到设计要求。五系统调试与修改五系统调试与修改硬件硬件调试调试是利用开是利用开发发系系统统、基本、基本测试仪测试仪器(万用表、示器(万用表、示波器等),通波器等),通过执过执行开行开发发系系统统有关命令或有关命令或测试测试程序,程序,检查检查用用户户系系统统硬件中存在的故障。它又可分硬件中存在的故障。它又可分为为静静态调试态调试和和动态调试动态调试两步:两步:静静态态调调试试即即用用户户系系统统未未工工作作时时的的一一种种硬硬件件检检查查。一一般般采采用用目目测测、万万用用表表测测试试、加加电电测测试试等等方方法法对对印印制制电电路路板板及各芯片、器件及各芯片、器件
8、进进行行检查检查。动动态态调调试试是是在在用用户户系系统统工工作作时时发发现现和和排排除除硬硬件件故故障障的的一一种种硬硬件件检检查查。其其一一般般方方法法是是先先进进行行各各单单元元电电路路调调试试再再进进行全系行全系统调试统调试。什么是硬件调试?什么是硬件调试?仿真仿真调试调试仿真调试分硬件调试、软件调试和系统联调三个阶段。仿真调试分硬件调试、软件调试和系统联调三个阶段。(1)硬件调试)硬件调试(2)软件调试)软件调试 软软件件调试调试是通是通过对过对用用户户程序的程序的汇编汇编、连连接、接、执执行来行来发现发现程序中存在的程序中存在的语语法法错误错误与与逻辑错误逻辑错误并加以排除并加以排
9、除纠纠正正的的过过程。程。软软件件调试调试的一般方法是先独立后的一般方法是先独立后联联机、先分机、先分块块后后组组合、先合、先单单步后步后连续连续。什么是软件调试?什么是软件调试?(3)系统联调)系统联调系统联调是指让用户系统的软件在其硬件上实际运系统联调是指让用户系统的软件在其硬件上实际运行,并进行软、硬件联合调试。行,并进行软、硬件联合调试。4程序固化及独立运行程序固化及独立运行5文件文件编编制制阶阶段段文件文件应应包括:包括:u任务描述;任务描述;u设计的指导思想及设计方案论证;设计的指导思想及设计方案论证;u性能测定及现场试用报告与说明;性能测定及现场试用报告与说明;u使用指南;使用指
10、南;u软件资料(流程图、子程序使用说明、地址分配、程软件资料(流程图、子程序使用说明、地址分配、程序清单);序清单);u硬件资料(电路原理图、元件布置图及接线图、接插硬件资料(电路原理图、元件布置图及接线图、接插件引脚图、印制线路板图、注意事项等)。件引脚图、印制线路板图、注意事项等)。系统硬件、软件调试通过后,就可以把调试完毕系统硬件、软件调试通过后,就可以把调试完毕的软件固化在的软件固化在EPROM中,然后脱机(脱离开发系统)中,然后脱机(脱离开发系统)运行。如果脱机运行正常,再在真实环境或模拟真实运行。如果脱机运行正常,再在真实环境或模拟真实环境下运行,经反复运行正常,开发过程即告结束。
11、环境下运行,经反复运行正常,开发过程即告结束。六生成正式系统或产品六生成正式系统或产品12.2 单片机应用系统的硬件设计单片机应用系统的硬件设计12.2.1 硬件系统设计原则硬件系统设计原则 一个单片机应用系统的硬件电路设计包括三个一个单片机应用系统的硬件电路设计包括三个部分内容:部分内容:一是一是单片机芯片的选择,单片机芯片的选择,二是二是单片机系单片机系统扩展,统扩展,三是三是系统配置。系统配置。一、单片机芯片的选择一、单片机芯片的选择二、单片机系统扩展二、单片机系统扩展 单片机系统扩展是指单片机内部的功能单元单片机系统扩展是指单片机内部的功能单元(如程如程序存储器、数据存储器、序存储器、
12、数据存储器、I/O口、定时器口、定时器/计数器、中计数器、中断系统等断系统等)的容量不能满足应用系统的要求时,必须在的容量不能满足应用系统的要求时,必须在片外进行扩展,这时应选择适当的芯片,设计相应的片外进行扩展,这时应选择适当的芯片,设计相应的扩展连接电路;系统配置是按照系统功能要求配置外扩展连接电路;系统配置是按照系统功能要求配置外围设备,如键盘、显示器、打印机、围设备,如键盘、显示器、打印机、A/D转换器、转换器、D/A转换器等,设计相应的接口电路。转换器等,设计相应的接口电路。单单片机的片机的选选型原型原则则1.单单片机的系片机的系统统适适应应性性所所谓谓系系统统适适应应性性是是指指能
13、能否否用用这这个个单单片片机机完完成成对对应应用系用系统统的控制任的控制任务务。主要考主要考虑虑以下几点:以下几点:是否有所需的是否有所需的I/O端口数端口数 是否有所需的中断源及定是否有所需的中断源及定时时器器 是否有所需的外是否有所需的外围围端口部件端口部件 是否有合适的是否有合适的计计算算处处理能力理能力 是否有足是否有足够够的极限性能的极限性能2单单片机的可开片机的可开发发性性(1 1)开发环境)开发环境 包括包括汇编汇编程序、程序、编译编译、连连接程序。接程序。(2 2)调试工具)调试工具 包括包括在在线线仿真器、仿真器、逻辑逻辑分析工具、分析工具、调试监调试监控控程序。程序。(3
14、3)在线)在线BBSBBS服务服务 包括包括实时执实时执行、行、应应用案例、缺陷故障用案例、缺陷故障报报告、告、实实用用软软件、件、样样本源本源码码。(4)应用支持)应用支持包括是否存在专职的应用支持机构?是否包括是否存在专职的应用支持机构?是否存在应用工程师及销售人员的支持?支持人员的学识水平存在应用工程师及销售人员的支持?支持人员的学识水平如何?是否有便利的通信工具,是否及时得到支持?如何?是否有便利的通信工具,是否及时得到支持?3制造商制造商历历史及可史及可购买购买性性 产产品的性价比以及是否可靠?品的性价比以及是否可靠?购买购买途径是否途径是否顺畅顺畅?供供货货量是否充足量是否充足稳稳
15、定?定?是否停是否停产产?是否在改是否在改进进之中?之中?总结总结依依据据上上述述三三个个原原则则进进行行单单片片机机的的选选型型,应应可可以以选选择择出出最最能能适适用用于于具具体体应应用用系系统统的的单单片片机机,同同时时可可以以保保证证应应用用系系统统具具有有高高可可靠靠性性、高高性性价价比比、高高使使用用寿寿命命及及可可升升级级换换代代性。性。三、系统扩展和配置设计遵循的原则三、系统扩展和配置设计遵循的原则(1)尽可能选择典型通用的电路,并符合单片机的常尽可能选择典型通用的电路,并符合单片机的常规用法。规用法。(2)系统的扩展与外围设备配置的水平应充分满足应系统的扩展与外围设备配置的水
16、平应充分满足应用系统当前的功能要求,并留有适当余地,便于以后进用系统当前的功能要求,并留有适当余地,便于以后进行功能的扩充。行功能的扩充。(3)硬件结构应结合应用软件方案一并考虑。硬件结构应结合应用软件方案一并考虑。(4)整个系统中相关的器件要尽可能做到性能匹配。整个系统中相关的器件要尽可能做到性能匹配。(5)可靠性及抗干扰设计是硬件设计中不可忽视的一可靠性及抗干扰设计是硬件设计中不可忽视的一部分。部分。(6)单片机外接电路较多时,必须考虑其驱动能力。单片机外接电路较多时,必须考虑其驱动能力。12.2.2 硬硬件件设设计计一一程程序序存存储储器器二二数数据据存存储储器器三三I/O接接口口四四译
17、译码码电电路路五五总总线线驱驱动动器器六六抗抗干干扰扰电电路路12.3 单片机应用系统的软件设计单片机应用系统的软件设计 一个应用系统中的软件一般是由一个应用系统中的软件一般是由系统监控程序系统监控程序和和应用程序应用程序两部分构成的。其中两部分构成的。其中:应用程序应用程序是用来完成诸如测量、计算、显示、打是用来完成诸如测量、计算、显示、打印、输出控制等各种实质性功能的软件;印、输出控制等各种实质性功能的软件;系统监控程序系统监控程序是控制单片机系统按预定操作方式运是控制单片机系统按预定操作方式运行的程序,它负责组织调度各应用程序模块,完成系行的程序,它负责组织调度各应用程序模块,完成系统自
18、检、初始化、处理键盘命令、处理接口命令、处统自检、初始化、处理键盘命令、处理接口命令、处理条件触发和显示等功能。理条件触发和显示等功能。软件设计时,应根据系统软件功能要求,将软件分软件设计时,应根据系统软件功能要求,将软件分成若干个相对独立的部分,并根据它们之间的联系和时成若干个相对独立的部分,并根据它们之间的联系和时间上的关系,设计出软件的总体结构,画出程序流程框间上的关系,设计出软件的总体结构,画出程序流程框图。画流程框图时还要对系统资源作具体的分配和说明。图。画流程框图时还要对系统资源作具体的分配和说明。根据系统特点和用户的了解情况选择编程语言,现在一根据系统特点和用户的了解情况选择编程
19、语言,现在一般用汇编语言和般用汇编语言和C语言。语言。汇编语言编写程序对硬件操作很方便,编写的程序汇编语言编写程序对硬件操作很方便,编写的程序代码短,以前单片机应用系统软件主要用汇编语言编写;代码短,以前单片机应用系统软件主要用汇编语言编写;C语言功能丰富,表达能力强,使用灵活方便,应语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,用面广,目标程序效率高,可移植性好,现在单片机应现在单片机应用系统开发很多都用用系统开发很多都用C语言来进行开发和设计语言来进行开发和设计。12.3.1 软件设计的特点软件设计的特点一个优秀的应用系统的软件应具有以下特点:一个优秀的应用
20、系统的软件应具有以下特点:(1)软件结构清晰、简捷、流程合理。软件结构清晰、简捷、流程合理。(2)各功能程序实现模块化,系统化。这样,既便于各功能程序实现模块化,系统化。这样,既便于调试、连接,又便于移植、修改和维护。调试、连接,又便于移植、修改和维护。(3)程序存储区、数据存储区规划合理,既能节约存程序存储区、数据存储区规划合理,既能节约存储容量,又能给程序设计与操作带来方便。储容量,又能给程序设计与操作带来方便。(4)运行状态实现标志化管理。各个功能程序运行状运行状态实现标志化管理。各个功能程序运行状态、运行结果以及运行需求都设置状态标志以便查询,程态、运行结果以及运行需求都设置状态标志以
21、便查询,程序的转移、运行、控制都可通过状态标志来控制。序的转移、运行、控制都可通过状态标志来控制。(5)经过调试修改后的程序应进行规范化,除去修改经过调试修改后的程序应进行规范化,除去修改“痕迹痕迹”。规范化的程序便于交流、借鉴,也为今后。规范化的程序便于交流、借鉴,也为今后的软件模块化、标准化打下基础。的软件模块化、标准化打下基础。(6)实现全面软件抗干扰设计。软件抗干扰是计算机实现全面软件抗干扰设计。软件抗干扰是计算机应用系统提高可靠性的有力措施。应用系统提高可靠性的有力措施。(7)为了提高运行的可靠性,在应用软件中设置自诊为了提高运行的可靠性,在应用软件中设置自诊断程序,在系统运行前先运
22、行自诊断程序,用以检查断程序,在系统运行前先运行自诊断程序,用以检查系统各特征参数是否正常。系统各特征参数是否正常。12.3.2 资源分配资源分配一程序存储器一程序存储器ROM/EPROM资源的分配资源的分配 在这些资源分配中,定时在这些资源分配中,定时/计数器、中断、串行口计数器、中断、串行口等分配比较容易,这里介绍程序存储器和数据存储器等分配比较容易,这里介绍程序存储器和数据存储器的分配。的分配。程序存储器程序存储器ROM/EPROM用于存放程序和数据表格。用于存放程序和数据表格。按照按照MCS-51单片机的复位及中断入口的规定,单片机的复位及中断入口的规定,002FH以前的地址单元作为中
23、断、复位入口地址区。在这些单以前的地址单元作为中断、复位入口地址区。在这些单元中一般都设置了转移指令,用于转移到相应的中断服元中一般都设置了转移指令,用于转移到相应的中断服务程序或复位启动程序。当程序存储器中存放的功能程务程序或复位启动程序。当程序存储器中存放的功能程序及子程序数量较多时,应尽可能为它们设置入口地址序及子程序数量较多时,应尽可能为它们设置入口地址表。一般的常数、表格集中设置在表格区。二次开发,表。一般的常数、表格集中设置在表格区。二次开发,扩展部分尽可能放在高位地址区。扩展部分尽可能放在高位地址区。RAM分为片内分为片内RAM和片外和片外RAM。片外片外RAM的容的容量比较大,
24、通常用来存放批量大的数据,如采样结果量比较大,通常用来存放批量大的数据,如采样结果数据;片内数据;片内RAM容量较少,应尽量重叠使用,比如数容量较少,应尽量重叠使用,比如数据暂存区与显示、打印缓冲区重叠。据暂存区与显示、打印缓冲区重叠。对于对于MCS-51单片机来说,片内单片机来说,片内RAM是指是指00H7FH单元,这单元,这128个单元的功能并不完全相同,个单元的功能并不完全相同,分配时应注意发挥各自的特点,做到物尽其用。分配时应注意发挥各自的特点,做到物尽其用。二数据二数据RAM资源分配资源分配12.3.3 单片机应用系统开发工具单片机应用系统开发工具 一个单片机应用系统经过总体设计,完
25、成硬件一个单片机应用系统经过总体设计,完成硬件开发和软件设计,就进行硬件安装。硬件安装好后,开发和软件设计,就进行硬件安装。硬件安装好后,把编制好的程序写入存储器中,调试好后系统就可把编制好的程序写入存储器中,调试好后系统就可以运行了。但用户设计的应用系统本身并不具备自以运行了。但用户设计的应用系统本身并不具备自开发的能力,不能够写入程序和调试程序,这必须开发的能力,不能够写入程序和调试程序,这必须借助于单片机开发系统才能完成这些工作。单片机借助于单片机开发系统才能完成这些工作。单片机开发系统是能够模拟用户实际的单片机,并且能随开发系统是能够模拟用户实际的单片机,并且能随时观察运行的中间过程和
26、结果,从而能对现场进行时观察运行的中间过程和结果,从而能对现场进行模仿的仿真开发系统。通过它能很方便的对硬件电模仿的仿真开发系统。通过它能很方便的对硬件电路进行诊断和调试,得到正确的结果。路进行诊断和调试,得到正确的结果。目前国内使用的通用单片机的仿真开发系统很多,目前国内使用的通用单片机的仿真开发系统很多,如复旦大学研制的如复旦大学研制的SICE系列、启东计算机厂制造的系列、启东计算机厂制造的DVCC系列、中国科大研制的系列、中国科大研制的KDV系列、系列、南京伟福实南京伟福实业有限公司的伟福业有限公司的伟福E6000以及西安唐都科教仪器公司的以及西安唐都科教仪器公司的TDS51开发及教学实
27、验系统。它们都具有对用户程序开发及教学实验系统。它们都具有对用户程序进行输入、编辑、汇编和调试的功能。此外,有些还进行输入、编辑、汇编和调试的功能。此外,有些还具备在线仿真功能,能够直接将程序固化到具备在线仿真功能,能够直接将程序固化到EEPROM中。中。一般都支持汇编语言编程,有的可以通过开发软一般都支持汇编语言编程,有的可以通过开发软件,支持件,支持C语言编程。例如可通过语言编程。例如可通过Keil C51软件来编写软件来编写C语言源程序,编译连接生成目标文件、可执行文件,语言源程序,编译连接生成目标文件、可执行文件,仿真、调试、生成代码并下载到应用系统中。仿真、调试、生成代码并下载到应用
28、系统中。12.4 12.4 单片机应用系统的抗干扰设计单片机应用系统的抗干扰设计 1.1.干扰源及干扰途径干扰源及干扰途径 单片机系统中的干扰有多种类型。单片机系统中的干扰有多种类型。一种一种是来自空间辐射的干扰。可控硅逆变电源、变频是来自空间辐射的干扰。可控硅逆变电源、变频调速器、发射机等特殊设备在工作时会产生很强的干扰,调速器、发射机等特殊设备在工作时会产生很强的干扰,在这种环境中单片机系统难以正常运行;在这种环境中单片机系统难以正常运行;另一种另一种是来自电源的干扰。各种开关的通断、火花干是来自电源的干扰。各种开关的通断、火花干扰、大电机启停等现象在工业现场很常见,这些来自交流扰、大电机
29、启停等现象在工业现场很常见,这些来自交流电源的干扰对单片机系统的正常运行危害极大;电源的干扰对单片机系统的正常运行危害极大;还有一种还有一种就是来自信号通道的干扰。在实际的应用系就是来自信号通道的干扰。在实际的应用系统中,测控信号的输入统中,测控信号的输入/输出是必不可少的。在工业现场输出是必不可少的。在工业现场中,这些中,这些I/O信号线、控制线有时长达几百米,不可避免信号线、控制线有时长达几百米,不可避免地会把干扰引入到系统中。如果受控对象是强干扰源,如地会把干扰引入到系统中。如果受控对象是强干扰源,如可控硅、电焊机等,则单片机系统根本就无法运行。可控硅、电焊机等,则单片机系统根本就无法运
30、行。2 2、硬件抗干扰措施、硬件抗干扰措施 根根据据干干扰扰的的产产生生及及传传输输特特点点,在在硬硬件件上上可可以以采采取取以下措施:以下措施:(1 1)硬硬件件屏屏蔽蔽。将将系系统统安安装装在在对对电电磁磁辐辐射射干干扰扰具具有有屏屏蔽蔽作作用用的的金金属属机机箱箱中中,并并进进行行正正确确接接地地,可可以以有有效效地地抑抑制强电设备产生的空间辐射干扰。制强电设备产生的空间辐射干扰。(2 2)光光电电隔隔离离。对对于于开开关关量量信信号号用用光光电电耦耦合合器器隔隔离离以以后后再再进进行行输输入入/输输出出,对对于于模模拟拟量量信信号号可可选选用用光光电电隔隔离离器器或或变变压压器器隔隔离
31、离后后再再进进行行输输入入/输输出出,并并使使用用双双绞绞线线或或屏屏蔽蔽线线进进行行信信号号传传输输,这这样样就就可可以以有有效效地地克克服服信信号号传传输输通道带来的干扰。通道带来的干扰。(3 3)电电源源滤滤波波。对对于于来来自自电电源源的的干干扰扰,可可采采用用低低通通滤滤波波器以及带有屏蔽层的电源变压器来进行抑制。器以及带有屏蔽层的电源变压器来进行抑制。(4 4)电源去耦。)电源去耦。对于系统中每一片集成电路,在电源对于系统中每一片集成电路,在电源和地之间都加上去耦电容,既是本芯片的蓄能电容,还和地之间都加上去耦电容,既是本芯片的蓄能电容,还能抑制高频噪声。能抑制高频噪声。(5 5)
32、在满足要求的前提下尽量用较低的时钟频率和低在满足要求的前提下尽量用较低的时钟频率和低频的器件。频的器件。(6 6)合理布置元件在线路板上的位置,把模拟电路、合理布置元件在线路板上的位置,把模拟电路、高速数字电路和产生噪声的功率驱动部分合理地分开,高速数字电路和产生噪声的功率驱动部分合理地分开,各部件之间的引线尽量短,对各种输入各部件之间的引线尽量短,对各种输入/输出线分类打输出线分类打把,以减少寄生电容的干扰。把,以减少寄生电容的干扰。(7 7)系统中芯片的未用端不要悬空,应根据实际情况系统中芯片的未用端不要悬空,应根据实际情况接到电源端、地端或已用端。接到电源端、地端或已用端。(8 8)尽量
33、不用尽量不用ICIC插座,而将集成电路直接焊接在电路插座,而将集成电路直接焊接在电路板上。板上。3 3、软件抗干扰措施、软件抗干扰措施(1 1)在在程程序序中中插插入入空空操操作作指指令令实实现现指指令令冗冗余余。系系统统在在工工作作时时容容易易因因干干扰扰而而使使PCPC指指向向程程序序存存储储器器的的非非代代码码区区,从从而而导导致致“死死机机”。为为此此可可以以在在程程序序中中插插入入一一些些单单字字节节的的空空操操作作指指令令NOPNOP,失失控控的的程程序序遇遇到到该该指指令令后后得得到到调调整整而而转入正常。转入正常。(2 2)对对未未用用的的中中断断向向量量进进行行处处理理。在在
34、程程序序中中对对未未用用的的中中断断都都编编写写出出相相应应的的错错误误处处理理程程序序,若若因因干干扰扰触触发发了了这这些些中断,则执行完简单的出错处理程序后可以正常返回。中断,则执行完简单的出错处理程序后可以正常返回。(3 3)采采用用超超时时判判断断克克服服程程序序的的死死锁锁。在在系系统统的的数数据据采采集集部部分分,如如A/DA/D转转换换结结果果采采用用查查询询方方式式读读取取,若若因因干干扰扰使使A/DA/D转转换换结结束束标标志志无无效效,程程序序就就会会进进入入死死循循环环。针针对对类类似似情情况况,可可在在程程序序中中采采用用超超时时判判断断,若若系系统统在在一一定定的的时
35、时间间内内采采不不到到有有效效的的标标志志,就就自自动动放放弃弃本本次次采采样样,从从而而避避免程序死锁的发生。免程序死锁的发生。(4 4)采用软件陷阱。当程序因干扰而采用软件陷阱。当程序因干扰而“跑飞跑飞”时,时,可在非程序区设置陷阱,强迫可在非程序区设置陷阱,强迫PCPC进入一个指定的地进入一个指定的地址,执行一段专门对死机进行处理的程序,使系统址,执行一段专门对死机进行处理的程序,使系统恢复正常。软件陷阱可安排在未使用的中断区和未恢复正常。软件陷阱可安排在未使用的中断区和未使用的大片使用的大片ROMROM空间,可由以下三条指令构成:空间,可由以下三条指令构成:NOPNOPNOPNOPLJ
36、MP ERRLJMP ERR(5 5)采采用用看看门门狗狗。当当程程序序“跑跑飞飞”而而前前述述方方法法又又没没有有捕捕捉捉到到时时,可可以以用用看看门门狗狗来来恢恢复复系系统统的的正正常常运运行行。具具体体设设计计时时可可以以用用软软件件实实现现,也也可可以以用用专专用用的的看看门门狗狗芯芯片片如如MAX693MAX693、X25045X25045等等来来实实现现。软软件件方方法法利利是是用用单单片片机机中中未未用用的的定定时时器器进进行行定定时时,在在主主程程序序每每一一次次循循环环的的特特定定时时刻刻刷刷新新定定时时器器的的时时间间常常数数,若若定定时时器器因因系系统统死死机机而而得得不
37、不到到刷刷新新,就就会会产产生生溢溢出出而而引引起起中中断断,在在其其中中断断服服务务程程序序中中进进行行出出错错处处理理后后转转入入正正常常运运行行。看看门门狗狗芯芯片片也也相相当当于于定定时时器器,系系统统在在每每一一次次循循环环中中用用一一根根口口线线使使芯芯片片复复位位,若若芯芯片片因因系系统统异异常常而而得得不不到到复复位位,其其接接到到MCUMCU复位端的溢出信号就能使系统恢复正常运行。复位端的溢出信号就能使系统恢复正常运行。(6)采用数字滤波。为了提高数据采集的可靠性,减采用数字滤波。为了提高数据采集的可靠性,减小虚假信息的影响,可以采用数字滤波的方法,如程序小虚假信息的影响,可
38、以采用数字滤波的方法,如程序判断滤波、中值滤波、滑动平均值滤波、防脉冲干扰平判断滤波、中值滤波、滑动平均值滤波、防脉冲干扰平均值滤波、一阶滞后滤波等。也可以对数据进行非线性均值滤波、一阶滞后滤波等。也可以对数据进行非线性补偿和误差修正,提高数据精度。补偿和误差修正,提高数据精度。单片机系统的故障诊断 v(1 1)同类比较法。)同类比较法。v(2 2)分段检查法。)分段检查法。v(3 3)隔离压缩法。)隔离压缩法。v(4 4)故障跟踪法。)故障跟踪法。v(5 5)振动加固法。)振动加固法。v(6 6)拉偏检测法。)拉偏检测法。v(7 7)直接查找法。)直接查找法。系统级故障诊断 v在在单单片片机
39、机系系统统的的电电气气连连接接没没有有问问题题的的条条件件下下,可可以以进进一一步步利利用用程程序序存存储储器器中中固固化化的的系系统统自自检检程程序序对对系系统统进进行行预预定定的的几几项项检检查查。对对系系统统故故障障进进行行检检查查时时,一一个个十十分分有有效效的的办办法法是是利利用用系系统统本本身身的的自自检检功功能能,包包括括指指令令系系统统自自检检、数数据据存存储储器器自自检检、程程序序存存储储器器自自检检、I/OI/O接接口口自自检检、传传感感器器装装置置自自检检、调调节节机机构构自自检检等等。自自检检手手段段不不仅仅可可用用自自检检软软件件,而而且且还还可可以以配配置置一一定定
40、的的自自检检硬硬件件电电路路来来实实现现系系统统自自检检。尤尤其其是是对对于于控控制制系系统统的的末末级级部部分分,利利用用硬硬件手段效果更好。件手段效果更好。12.5 12.5 设计实例:多功能数字钟设计实例:多功能数字钟12.5.1 12.5.1 设计设计要求要求 设计制作具有下列功能的数字钟:设计制作具有下列功能的数字钟:l l自动计时,由自动计时,由6 6位位LEDLED显示器显示时、分和秒;显示器显示时、分和秒;l l 具备校准功能,可以直接由具备校准功能,可以直接由0-90-9数字键设置当前时间;数字键设置当前时间;l l具备定时闹钟功能。具备定时闹钟功能。12.5.2 12.5.
41、2 设计设计方案方案1.计时计时方案方案利利用用单单片片机机内内部部的的定定时时/计计数数器器进进行行中中断断定定时时,配配合合软软件延件延时实现时时实现时、分和秒的、分和秒的计时计时。2.键盘键盘/显显示方案示方案设设计计方方案案中中采采用用43键键盘盘实实现现输输入入设设置置,采采用用动动态态显显示方式示方式实现实现LED显显示,如示,如图图所示。所示。3、控制方案、控制方案(1 1)时间显示)时间显示上上电电后后系系统统自自动动进进入入时时钟钟显显示示,从从00:00:00开开始始计计时时,此,此时时可以可以设设定当前定当前时间时间。(2 2)时间调整)时间调整按按下下C/R键键(时时间
42、间设设定定/启启动动计计时时键键),系系统统停停止止计计时时,进进入入时时间间设设定定状状态态,系系统统保保持持原原有有显显示示,等等待待键键入入当当前前时时间间,按按下下09数数字字键键可可以以顺顺序序设设置置时时、分分和和秒秒,并并在在相相应应的的LED上上显显示示设设置置值值,6位位设设置置完完毕毕后后系系统统将将从从设设定定后后的的时时间间开始开始计时显计时显示。示。(3 3)闹钟设置)闹钟设置按按下下ALM键键(闹闹钟钟设设置置/启启闹闹/停停闹闹键键),系系统统继继续续计计时时,显显示示00:00:00,进进入入闹闹钟钟设设置置状状态态,等等待待键键入入启启闹闹时时间间,按按下下0
43、-9数数字字键键可可以以顺顺序序进进行行相相应应的的时时间间设设置置,并并在在相相应应的的LED上上显显示示设设置置值值,6位位设设置置完完毕毕后后系系统统启启动动定定时时启启闹闹功功能能,并并恢恢复复时时间间显显示示。定定时时时时间间到到,蜂蜂鸣鸣器器鸣鸣叫,直至重新按下叫,直至重新按下ALM键键停停闹闹,并取消,并取消闹钟设闹钟设置。置。12.5.3硬件原理硬件原理数数字字钟钟电电路路由由单单片片机机、可可编编程程I/O接接口口芯芯片片8155、43键键盘盘输输入入电电路路、6位位LED显显示示输输出出电电路路及及蜂蜂鸣鸣器器启启闹闹电电路路组组成,如成,如图图125所示所示为为系系统电统
44、电路原理路原理图图。12.单片机:单片机:选选用用89C51可可满满足要求。足要求。2I/OI/O接口电路接口电路:采采用用8155作作为为键键盘盘/显显示示接接口口电电路路,其其中中8155的的A口口作作为为6位位LED显显示示的的位位选选口口(低低电电平平有有效效),B口口作作为为段段选选口口(高高电电平平有有效效),C口口的的低低3位位为为键键盘盘输输入入口口,对对应应02行行,A口口同同时时用用做做键键盘盘的的列列扫扫描描口口。由由系系统统电电路原理路原理图图可知:可知:8155的地址分配如下:的地址分配如下:控制寄存器:控制寄存器:8000H,定定义为义为PORTA口:口:8001H
45、,定定义为义为PORTA B口:口:8002H,定定义为义为PORTB C口:口:8003H,定定义为义为PORTC34 43 3键盘输入电路键盘输入电路:采采 用用 43键键 盘盘,包包 括括 09十十 个个 数数 字字 键键(键键 号号 为为00H09H)、C/R键键(时时间间设设定定/启启动动计计时时键键,键键号号为为0AH)和)和ALM键键(闹钟设闹钟设置置/启启闹闹/停停闹键闹键,键键号号为为0BH)。)。4LEDLED数码显示电路:数码显示电路:采采用用共共阴阴极极数数码码管管实实现现时时钟钟显显示示,6位位LED从从左左到到右右依次依次显显示示时时、分和秒,采用、分和秒,采用24
46、小小时计时时计时。5蜂鸣器启闹电路:蜂鸣器启闹电路:由由89C51的的P12.0控制控制驱动驱动蜂蜂鸣鸣器(低器(低电电平有效)。平有效)。图图12125数字钟硬件电路图数字钟硬件电路图12.5.4程序程序设计设计1.系系统资统资源分配源分配定定时时器器T0按按照照定定时时方方式式1工工作作,片片内内RAM及及标标志志位位的的分分配配与定与定义见义见表表121。地地址址功功能能名名称称初始初始值值30H-35H显显示示缓缓冲区,冲区,时时、分、秒、分、秒(高位在前(高位在前)DISP0-DISP500H3CH-3FH计时缓计时缓冲区,冲区,时时、分、秒、分、秒、100msHOUR,MIN,SE
47、C,MSEC00H40H-42H闹钟值闹钟值寄存区,寄存区,时时、分、分、秒秒AHOUR,AMIN,ASECFFH50H-7FH堆堆栈栈区区PSW.5计时显计时显示允示允许许位(位(1:禁止,:禁止,0:允:允许许)F00PSW.1闹钟标闹钟标志位(志位(1:正在:正在闹闹响,响,0:未:未闹闹响)响)F102主要程序主要程序设计设计(1 1)主程序)主程序实现实现初始化与初始化与键盘监键盘监控,流程控,流程图图如如图图126所示。所示。(2 2)定时器)定时器T0T0中断服务程序中断服务程序实实现现计计时时功功能能,同同时时刷刷新新计计时时缓缓冲冲区区。流流程程图图如如图图127所示。所示。
48、定定时时器器T0每每隔隔100ms溢溢出出中中断断一一次次(设设系系统统使使用用6MHz晶晶振振,定定时时器器T0工工作作在在方方式式1的的定定时时器器初初值值为为3CB0H,即即TH0=3CH,TL0=0B0H),每每循循环环中中断断10次次则则延延时时时时间间为为1s,重重复复60次次为为1分分,分分计计时时60次次为为1小小时时,小小时时计计时时24次次则时间则时间重新回到重新回到00:00:00。图图12126主程序流程图主程序流程图 图图127计时计时流程流程图图(3 3)时间设置与闹钟设置子程序)时间设置与闹钟设置子程序实实现现当当前前时时间间及及定定时时启启闹闹时时间间的的键键盘
49、盘输输入入设设置置。流流程程图图如如图图128所示。所示。图128 时间设置/闹钟定时流程图 其其功功能能是是用用键键盘盘设设置置子子程程序序将将键键入入的的6位位时时间间值值送送入入键键盘盘设设置置缓缓冲冲区区,用用合合字字子子程程序序将将键键盘盘设设置置缓缓冲冲区区中中的的6位位BCD码码合合并并为为3位位压压缩缩BCD码码,送送入入计计时时缓缓冲冲区区或或闹闹钟钟值值寄寄存存区区。若若键键盘盘输输入入的的小小时时值值大大于于23,分分和和秒秒值值大大于于59,则则不不合合法法,将将取取消消本本次次设设置置,清清零零重重新新开开始计时。始计时。(4 4)键盘扫描子程序)键盘扫描子程序 图图
50、129键盘扫描程序流程图键盘扫描程序流程图作用作用:判判断断是是否否有有键键按按下下,无无键键按按下下则则循循环环等等待待,有有键键按按下下则则求求取取键键号号后后返返回回。流流程程图图 如如 图图 129所所示。示。图图121210 10 显示程序流程图显示程序流程图(5 5)显示子程序)显示子程序实现显实现显示示缓缓冲区的冲区的6位位BCD码码的的动态扫动态扫描方式描方式显显示。示。(6 6)定时比较子程序)定时比较子程序 实现当前时间(计时实现当前时间(计时缓冲区的值)与预设的启缓冲区的值)与预设的启闹时间(闹钟设置寄存区闹时间(闹钟设置寄存区的值)的比较,若二者完的值)的比较,若二者完