单击此处编辑母版标题样式,第九章 单片机应用系统设计,第九章 单片机应用系统设计,9.1 单片机应用系统的设计过程与方法,9.2 单片机应用系统设计实例,第九章 单片机应用系统设计 9.1 单片机应用系统的设计,9.1 单片机应用系统的设计过程与方法,9.1.1 单片机应用系统设计的基本要求,(1) 较高的可靠性。在单片机应用系统的设计过程中,除了要满足一定的使用功能外,还应具有较高的可靠性。一般情况下,单片机应用系统都是自动完成外部控制系统信号的采集和控制输出的。一旦系统的可靠性出现问题,必将造成整个控制系统的混乱和失控,从而产生严重的后果。因此,可靠性设计应贯穿在单片机应用系统设计的整个过程。(2) 便于操作维护。在单片机应用系统的设计时,应考虑系统的操作和维护,尽量降低对操作人员的计算机专业知识的要求,以便于系统的推广使用。系统的控制开关不能太,9.1 单片机应用系统的设计过程与方法9.1.1,多,不能太复杂,操作顺序应简单明了,参数的输入和输出应采用十进制,功能符号要简明直观,结构要规范化、模块化。(3) 较高的性能价格比。为了提高产品的市场竞争力,必须提高系统的功能指标,降低产品的设计和生产成本,采用硬件软化技术提高系统的性能价格比。,多,不能太复杂,操作顺序应简单明了,参数的输入和输出应采用十,9.1.2 单片机应用系统设计的一般方法1确定任务,单片机应用系统的开发必须以市场需求为前提,在系统设计前,首先要进行广泛的市场调查,了解系统的市场应用概况,分析系统当前存在的问题,研究系统的市场前景,确定系统开发设计的目的和目标。在此基础上,再对系统的具体实现进行规划,包括应该采集的信号的种类、数量、范围,输出信号的匹配和转换,控制算法的选择,技术指标的确定等。,9.1.2 单片机应用系统设计的一般方法1确定任务,2总体设计,确定了研制任务后,根据应用系统提出的各项技术性能指标,拟定出性价比最高的一套方案,然后就可以进行系统的总体方案设计。总体方案设计中一个重要问题是单片机的选型,在单片机选型中,主要考虑以下几个方面的问题。(1) 性能特点适合所要完成的任务,避免过多的功能闲置;(2) 性能价格比高,以提高整个系统的性能价格比;(3) 结构原理熟悉,以缩短开发周期;(4) 采购方便且稳定,有利于批量生产和系统的维护。,2总体设计确定了研制任务后,根据应用系统提出的各,3可行性分析,当单片机应用系统总体设计方案确定后,可行性分析是十分必要的。主要的方法就是到市场上进行调研,比较国内外同类产品与要开发单片机应用系统的优缺点,只有比市场上的同类产品有竞争力的单片机应用系统才有开发的价值与必要。另外,还要同时分析该单片机应用系统的实现手段是否可行。只有确定了产品的可行性后,方能进入下一个设计环节。,3可行性分析当单片机应用系统总体设计方案确定后,,4硬件设计,硬件设计就是单片机应用系统的电路设计,主要根据总体设计方案的要求,选择好适合的单片机的型号后再确定系统中所要使用的元器件的型号和参数,最终画出产品的电原理图。根据电路图进行必要的电路实验后完成工艺结构设计、电路板制作和样机的组装。单片机系统主要硬件设计包括以下几方面。(1) 单片机电路设计:主要完成时钟电路、复位电路、供电电路、I/O接口电路的设计。(2) 扩展电路设计:主要完成程序存储器、数据存储器、I/O接口电路的设计。,4硬件设计硬件设计就是单片机应用系统的电路设计,,(3) 输入/输出通道设计:主要完成传感器电路、放大电路、多路开关、A/D转换电路、D/A转换电路、开关量接口电路、驱动电路的设计。(4) 控制面板设计:主要完成按键、开关、显示器、报警电路等相关电路的设计。,(3) 输入/输出通道设计:主要完成传感器电路、放大电路,5软件设计,1) 软件设计方法在单片机应用系统的开发和设计过程中,软件设计是至关重要的,也是难度较大的部分。单片机应用系统的软件设计主要包括两大部分:用于管理单片机应用系统工作的监控程序和用于执行具体任务的功能程序。为了适应各种系统应用的需要,许多单片机开发系统的监控软件功能相当强,并附有丰富的实用子程序,可供用户直接调用,例如键盘管理程序、显示程序等。对于管理单片机应用系统工作的监控程序来说,应尽可能地利用现成的运行可靠的微机系统的监控程序。因此,在设计系统硬件逻辑和确定应用系统的操作方,5软件设计1) 软件设计方法在单片机应用系,式时,就应充分考虑这一点。这样会大大减少软件设计的工作量,也提高了软件编程效率。对于执行具体任务的功能程序来说,要根据单片机应用系统中的具体执行任务的功能要求来编写程序,例如外部数据采集、控制算法的实现、外设驱动、故障处理及报警程序等等。为了提高软件开发效率以及缩短开发周期,并使得软件设计规范化和提高软件复用性,在进行软件开发时尽可能采用模块化结构,即按照层次化思想对软件从上到下逐层细化,划分为功能独立、结构合理、大小适当的功能模块。在进行功能模块设计时,要达到功能单一、接口明确、模块间通信简单的目标。最后再把各模块程序连接好进行整体调试。,式时,就应充分考虑这一点。这样会大大减少软件设计的工作量,也,2) 软件抗干扰方法单片机应用系统在运行的过程中,经常会受到外界环境的干扰,造成程序在运行过程中突然跑飞失控或陷入死循环。尽管在硬件设计过程中采取了一定的抗干扰措施,但仍不能完全消除这些干扰,必须同时从软件方面也同样采取适当措施,才能取得良好的抗干扰效果。软件方面的抗干扰措施通常有以下几种。(1) 采用数字滤波方法解决数据采集误差问题,常用方法有算术平均法、比较取舍法、中值法、一阶递推数字滤波法等。,2) 软件抗干扰方法单片机应用系统在运行的过程中,,(2) 防止程序“跑飞”失控或进入死循环。系统受到干扰导致PC值改变后,PC值不是指向指令的首字节地址,而可能指向指令中的中间字节单元即操作数,将操作数作为指令码执行;或使PC值超出程序区,将非程序区的随机数作为指令码运行,从而使程序失控“跑飞”,或由于偶然巧合进入死循环。这里所说的死循环并非程序编制中出现的死循环错误,而是指正常运行时程序正确,只是因干扰而产生的死循环,解决的方法有设置软件陷阱、设置“看门狗”等。,(2) 防止程序“跑飞”失控或进入死循环。系统受到干扰导,9.1.3 单片机应用系统的调试1硬件调试,1) 常见硬件故障常见的硬件故障如下。(1) 工艺性错误。(2) 元器件失效。(3) 可靠性差。(4) 电源故障。,9.1.3 单片机应用系统的调试1硬件调试1,2) 硬件调试方法硬件调试方法包括脱机单板调试和整机调试。(1) 脱机单板调试。在完成印制板的单板装配之后,利用稳压源、万用表等简单工具检查电路的正确性,进行简单的单板调试。首先采用目测方法根据电原理图和装配图仔细检查样机线路的正确性,并核对元器件型号、规格、参数是否与装配图一致,检查印制板装配是否符合要求,集成电路是否插装正确。(2) 整机调试。在排除了短路、开路、错误布线及电位不正常等明显错误后,焊接好芯片,上电开通运行该系统,通过运行系统的功能执行对存储器、I/O接口的指令,利用示波器等设备观察波形,发现和排除错误。,2) 硬件调试方法硬件调试方法包括脱机单板调试和整,2软件调试,软件调试分为脱机调试和联机调试。分别对各单元模块进行重要的模块程序调试,检查入口条件和出口条件,排除各模块错误,保证各模块正确无误,然后把各模块组装成完整程序。利用仿真器进行整机组合调试,可采用单步运行来检查程序编写的正确性,但对于定时器、中断和通信方面的问题不能在这里完成调试功能,只能在单步运行无误后,再采用连续全速运行方法进行运行调试,观察程序运行的稳定性、系统与实际需要的符合程度及用户操作的方便性。如不符合系统功能的要求,再进行适当调整。,2软件调试软件调试分为脱机调试和联机调试。分别对,在软件调试的过程中,要不断调整、修改单片机应用系统的硬件电路和软件设计,直到软硬件正确为止。一旦联机调试运行正常,将软件固化到EPROM中,脱机运行,并到生产现场投入批量生产,联机运行来检验系统的可靠性和抗干扰能力,直到完全满足要求,系统才算设计成功,才能将产品投入市场使用。单片机应用系统设计方法及一般步骤如图9-1所示。,在软件调试的过程中,要不断调整、修改单片机应用系统的硬件,图9-1 单片机应用系统开发一般步骤,图9-1 单片机应用系统开发一般步骤,9.1.4 提高单片机应用系统可靠性的常用方法1电源干扰及其抑制,1) 交流电源干扰及其抑制单片机应用系统中大都使用220V、50Hz的交流电源供电。在工业现场中,生产负荷的经常变化,大型用电设备的启动、停止,往往都能造成电源电压的波动,有时还会产生尖峰脉冲。这种高能尖峰脉冲的幅度在504000V之间,持续时间为几个毫微秒。它对计算机应用系统的影响最大,能使单片机应用系统的程序“跑飞”或使系统造成“死机”。因此,一方面要使系统尽量远离这些干扰源,另一方面要采用干扰抑制器(简称滤波器)。这种干扰抑制器是按照频谱均衡原理设计的一种无源四端网络,连接如图9-2所示。,9.1.4 提高单片机应用系统可靠性的常用方法1电,图9-2 干扰抑制器的连接,图9-2 干扰抑制器的连接,2) 直流电源抗干扰措施(1) 采用集成稳压块单独供电。单片机应用系统中往往需要几种不同电压等级的直流电源。这时,可以采用相应的集成稳压块,如7805、7905、7812、7912、7824等。由于每个稳压块单独对电压过载进行保护,因此不会因某个模块出现故障而使整个单片机应用系统遭到破坏,而且也减少了公共阻抗的互相耦合,从而使单片机应用系统中供电系统的可靠性大大提高。,2) 直流电源抗干扰措施(1) 采用集成稳压块单独,(2) 采用直流开关电源。直流开关电源是一种脉宽调制型电源,具有体积小、重量轻、效率高、电网电压范围宽、变化时不易输出过电压和欠电压的优点,在单片机应用系统中应用非常广泛。这种电源一般都有几个独立的电压输出,如5V、12V、24V等,电网电压波动范围可达-220V的+10%至-20%。直流开关电源具有较好的初次边隔离作用。(3) 采用DC-DC变换器。如果单片机应用系统的供电电网波动较大或者精度要求高,可以采用DC-DC变换器。DC-DC变换器的特点是输出电压范围大、输出电压稳定且可调整、效率高、体积小、有多种封装形式。近年来在单片机应用系统中获得了广泛的应用。,(2) 采用直流开关电源。直流开关电源是一种脉宽调制型电,(4) 采用EMI吸收磁珠/磁环。EMI吸收磁珠/磁环是当今世界上最先进的专用于抑制信号线、电源线上的噪声和尖峰干扰的器件,它同时具有吸收静电脉冲的能力,可使电子设备达到电磁兼容和静电放电的相应国际要求。EMI吸收磁珠/磁环的吸收干扰能力是用其阻抗特性来表征的。它的阻抗特性在低频段呈现非常低的感性阻抗值,不影响数据线或信号线上有用信号的传输。在高频段约在10MHz左右,开始阻抗最大,将高频段EMI干扰能量以热能形式耗散吸收。通常用两个关键点频率25MHz和100MHz处电阻值来标定EMI吸收磁珠/磁环的吸收特性。EMI吸收磁珠/磁环的有效电阻值相对源和负载阻抗越大,吸收干扰作用越大。EMI吸收磁珠/磁环安装位置原则上应靠近有干扰辐射单元一端,但是具体最佳位置应以实验效果而定。,(4) 采用EMI吸收磁珠/磁环。EMI吸收磁珠/磁环是,2电线干扰及其抑制,在单片机应用系统中,接地是一个非常重要的问题。接地问题处理的正确与否将直接影响系统的正常工作。1) 一点接地和多点接地的应用在低频电路中,布线和元件间的寄生电感影响不大,因而常采用一点接地,以减少地线造成的地环路。在高频电路中,布线和元件间的寄生电感及分布电容将造成各接地线间的耦合,影响比较突出,此时应采用多点接地。通常,频率小于1MHz时,采用一点接地;频率高于10MHz时,采用多点接地;频率处于110MHz时,若采用一点接地,其地线长度不应超过波长的二十分之一;否则,应采用多点接地。,2电线干扰及其抑制在单片机应用系统中,接地是一个,2) 数字地与模拟地的连接原则数字地是指TTL或CMOS芯片、I/O接口电路芯片、CPU芯片等数字逻辑电路的地端,以及A/D、D/A转换器的数字地。模拟地是指放大器、采用保持器和A/D、D/A中模拟信号的接地端。在单片机应用系统中,数字地和模拟地应分别接地。即使是一个芯片上有两种地也要分开接地,然后在一点处把两种地分别连接起来,否则,数字回路通过模拟电路的地线再返回到数字电源,将会对模拟信号产生影响。,2) 数字地与模拟地的连接原则数字地是指TTL或C,3) 印刷电路板的地线分布原则(1) TTL、CMOS器件的地线要呈辐射网状,避免环形;(2) 板上地线要依通过的电流大小决定其宽度,最好不小于3mm,在可能的情况下,地线尽量加宽;(3) 旁路电容的地线不要太长;(4) 功率地通过电流信号较大,地线应较宽,必须与小信号地分开。4) 屏蔽双绞线的接地当采用屏蔽双绞线传送信号时,应将屏蔽体与工作地连在一起,并应注意只能在一个点接地,否则屏蔽体两端就会形成回路,在屏蔽体上产生较大的噪声。,3) 印刷电路板的地线分布原则(1) TTL、C,5) 接地系统在一个完整的单片机应用系统中,存在着三种类型的地:(1) 低电平电路地线,如数字地、模拟地等;(2) 电机、继电器、电磁开关等强电设备的地(亦可称为噪声地);(3) 机壳、控制柜(亦可称为金属件地)。若设备使用交流电源,则电源地应与金属件地相连。在单片机应用系统连接时,应把这三种地线一点接地。,5) 接地系统在一个完整的单片机应用系统中,存在着,9.2 单片机应用系统设计实例,9.2.1 交通信号灯控制系统的设计1硬件设计,为了实现上述功能,该系统的核心元件采用单片机AT89C52。该单片机是低电压、高性能的CMOS 8位微处理器,采用ATMEL高密度、非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。AT89C52将多功能8位CPU和Flash存储器组合在单个芯片中,是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的设计方案。交通信号灯控制系统采用控制交通信号灯和数码管的时间显示,并采用外部中断来控制紧急情况,系统的硬件电路不是很复杂,关键在于软件的设计。交通信号灯控制系统的硬件设计如图9-3所示。,9.2 单片机应用系统设计实例9.2.1 交通信号,图9-3 交通信号灯控制系统,图9-3 交通信号灯控制系统,2软件设计,交通信号灯控制系统设计采用的程序编写语言为汇编语言。编写程序的原则是:(1) 满足设计的要求;(2) 尽量采用最好、最有效的算法;(3) 编写时应尽量用最简洁的语言。编写好源程序后,采用keil软件对其进行编译,使其生成单片机可以识别的.hex文件,再把此文件烧写入单片机89C52中即可。程序如下:,2软件设计交通信号灯控制系统设计采用的程序编写语,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,9.2.2 基于CANBUS的火灾自动报警控制系统设计1系统的设计与实现,火灾自动报警控制系统一般采用集中控制,在分区灭火控制中往往需要接上百台火灾报警控制器,如果主控制器与分区灭火控制器的系统连接距离超过了串行口RS485通信所能承受的距离,就会发生通信中断、数据传送出错等问题。以往我们采用RS485通信是应用到通信距离不超过1000m的火灾自动报警控制系统中,一旦超出这个上限就无法正常工作。RS485通信的特点是:(1) 主从结构网络上只能有一个主节点,其余均为从节点,无法构成多主结构或冗余结构的系统,因而对主节点的可靠性要求较高,否则一旦主节点出现故障,整个系统将处于瘫痪状态;,9.2.2 基于CANBUS的火灾自动报警控制系统设计,(2) 由于RS485数据通信的方式为命令响应型,从节点无法主动发送数据,这样使得网络上的数据传输效率降低,使主节点控制器非常繁忙,同时下端出现异常时,数据不能立即上传,必须等待主节点的命令。分析RS485串行口通信特点后,我们采用无主从区别、多主工作方式的CANBUS通信来实现火灾自动报警控制系统的通信接口功能(如图9-4所示),彻底解决了在消防产品中所采用的RS485串行通信长久以来一直困扰人们的从节点无法主动地与其他节点交换数据、通信距离短、节点数量少等问题。利用CANBUS技术可解决消防产品中的集中管理要求及长距离通信的可靠性。CANBUS总线通信方式为两线制,这样可以方便系统的配线,减少信号之间的电磁干扰。,(2) 由于RS485数据通信的方式为命令响应型,从节点,图9-4 CANBUS总线构成的火灾自动报警系统,图9-4 CANBUS总线构成的火灾自动报警系统,2具有CANBUS接口的火灾自动报警控制系统的硬件设计,火灾自动报警控制系统中的CANBUS通信口硬件电路设计如图9-5所示。,图9-5 CAN总线节点电路原理图,2具有CANBUS接口的火灾自动报警控制系统的硬件设计,图9-5中的SJA1000就是CANBUS控制器,专门用来管理CANBUS通信。SJA1000是PHILIPS公司早期CAN控制器PCA82C200的替代品,功能比PCA82C200更强,主要体现在以下几个方面:(1) 完全兼容PCA82C200及其工作模式;(2) 具有扩展的接收缓冲器,64字节的FIFO结构;(3) 支持CAN2.0B;(4) 支持11位和29位识别码;(5) 位速率可达1Mbit/s;(6) 支持peliCAN模式及其扩展功能;(7) 24MHz的时钟频率;(8) 支持与不同微处理器的接口;(9) 可编程的CAN输出驱动配置;(10) 增强了温度范围-40+125。,图9-5中的SJA1000就是CANBUS控制器,专门用,3具有CANBUS接口的火灾自动报警控制系统的软件设计,系统软件设计的主要功能是火灾报警控制器与消防中心的通信。火灾报警控制器将火灾信号通过CANBUS传送到消防中心,消防中心接收到信号后启动相应的联动设备和显示设备。CAN接收和发送数据一般都是在CAN中断程序中实现的,每一帧的数据长度为8个字节。如果发送或接收错误,CANBUS具有错误检测能力,在所有节点发生的错误可100%被检测到。SJA1000具有完成高性能通信协议所要求的全部必要特性。具有简单连接的SJA1000可完成物理层和数据链路层的所有功能。CANBUS接收中断服务程序流程图如图9-6所示。,3具有CANBUS接口的火灾自动报警控制系统的软件设计,图9-6 CANBUS通信模块,图9-6 CANBUS通信模块,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,单片机原理与应用技术第九章单片机应用系统设计课件,从上述程序设计来看,CANBUS现场总线技术的数据发送和接收都是在中断服务程序中来完成的,要发送数据时,首先判断数据的长度,如果是8的整数倍,那么就采用整帧发送方式;否则,就采用非整帧发送方式。,将CANBUS总线通信技术应用到火灾自动报警系统中后,解决了通信距离、节点容量和扩展的问题,使火灾自动报警系统的应用由一个建筑到几个建筑楼群,形成了大型的火灾报警网络。在这个网络中,信息的传送可靠、快速、便捷得到认可,两线制的通信方式方便了系统的配线,减少了信号之间干扰,同时网络之间的报警系统又互不干扰。自CANBUS技术诞生以来,以其独特的设计思想、良好的功能特性和极好的可靠性越来越受工业界的青睐。,从上述程序设计来看,CANBUS现场总线技术的数据发送和,