欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    片机原理及其接口技术第7章.ppt

    • 资源ID:6426484       资源大小:532.50KB        全文页数:73页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    片机原理及其接口技术第7章.ppt

    第7章 MCS-51单片机应用系统设计,主要内容:从总体设计、硬件设计、软件设计、可靠性设计、系统调试与测试等几个方面介绍了单片机应用系统设计的方法及基本过程,并给出了典型设计实例,同时还简单介绍了C51编程方法和Keil C51开发系统。重点在于单片机应用系统开发的方法与实际应用,难点在于将单片机应用系统开发的方法应用于实际工程中,设计出最优的单片机应用系统。,7.1 概述,由于单片机具有体积小、功耗低、功能强、可靠性高、实时性强、简单易学、使用方便灵巧、易于维护和操作、性能价格比高、易于推广应用、可实现网络通信等技术特点。因此,单片机在自动化装置、智能仪表、家用电器,乃至数据采集、工业控制、计算机通信、汽车电子、机器人等领域得到了日益广泛的应用。单片机应用系统设计应当考虑其主要技术性能(速度 精度 功耗 可靠性 驱动能力等),还应当考虑功能需求,应用需求,开发条件,市场情况,可靠性需求,成本需求,尽量以软件代替硬件等。下页图描述了单片机应用系统设计的一般过程。,7.2 MCS-51单片机应用系统设计,7.2.1 总体设计1明确设计任务 认真进行目标分析,根据应用场合、工作环境、具体用途,考虑系统的可靠性、通用性、可维护性、先进性,以及成本等,提出合理的、详尽的功能技术指标。2器件选择(1)单片机选择 主要从性能指标如字长、主频、寻址能力、指令系统、内部寄存器状况、存储器容量、有无A/D、D/A通道、功耗、价能比等方面进行选择。对于一般的测控系统,选择8位机即能满足要求。,(2)外围器件的选择 外围器件应符合系统的精度、速度和可靠性、功耗、抗干扰等方面的要求。应考虑功耗、电压、温度、价格、封装形式等其他方面的指标,应尽可能选择标准化、模块化、功能强、集成度高的典型电路。3总体设计 总体设计就是根据设计任务、指标要求和给定条件,设计出符合现场条件的软、硬件方案。并进行方案优化。应划分硬件、软件任务,画出系统结构框图。要合理分配系统内部的硬件、软件资源。包括以下几个方面:(1)从系统功能需求出发设计功能模块。包括显示器、键盘、数据采集、检测、通信、控制、驱动、供电方式等(2)从系统应用需求分配元器件资源。包括定时器/计数器、中断系统、串行口、I/O接口、A/D、D/A、信号调理、时钟发生器等。(3)从开发条件与市场情况出发选择元器件。包括仿真器、编程器、元器件、语言、程序设计的简易等。(4)从系统可靠性需求确定系统设计工艺。包括去耦、光隔、屏蔽、印制板、低功耗、散热、传输距离/速度、节电方式、掉电保护、软件措施等。,7.2.2 硬件设计,由总体设计所给出的硬件框图所规定的硬件功能,在确定单片机类型的基础上进行硬件设计、实验。进行必要的工艺结构设计,制作出印刷电路板,组装后即完成了硬件设计。一个单片机应用系统的硬件设计包含系统扩展和系统的配置(按照系统功能要求配置外围设备)两部分。1硬件电路设计的一般原则(1)采用新技术,注意通用性,选择典型电路。(2)向片上系统(SOC)方向发展。扩展接口尽可能采用PSD等器件。(3)注重标准化、模块化。(4)满足应用系统的功能要求,并留有适当余地,以便进行二次开发。(5)工艺设计时要考虑安装、调试、维修的方便。,2硬件电路各模块设计的原则,单片机应用系统的一般结构 如下图所示。,各模块电路设计时应考虑以下几个方面:(1)存储器扩展:类型、容量、速度和接口,尽量减少芯片的数量。(2)I/O接口的扩展:体积、价格、负载能力、功能,合适的地址译码方法。,(3)输入通道的设计:开关量(接口形式、电压等级、隔离方式、扩展接口等),模拟输入通道(信号检测、信号传输、隔离、信号处理、A/D、扩展接口、速度、精度和价格等)。(4)输出通道的设计:开关量(功率、控制方式等),模拟量输出通道(输出信号的形式、D/A、隔离方式、扩展接口等)(5)人机界面的设计:键盘、开关、拨码盘、启/停操作、复位、显示器、打印、指示、报警、扩展接口等。(6)通信电路的设计:根据需要选择RS-232C、RS-485、红外收发等通信标准。(7)印刷电路板的设计与制作:专业设计软件(Protel,OrCAD等)、设计、专业化制作厂家、安装元件、调试等。,(8)负载容限:总线驱动。(9)信号逻辑电平兼容性:电平兼容和转换。(10)电源系统的配置:电源的组数、输出功率、抗干扰。(11)抗干扰的实施:芯片、器件选择、去耦滤波、印刷电路板布线、通道隔离等。7.2.3 软件设计 软件设计流程图如右图所示。可分为以下几个方面。,1总体规划 结合硬件结构,明确软件任务,确定具体实施的方法,合理分配资源。定义输入/输出、确定信息交换的方式(数据速率、数据格式、校验方法、状态信号等)、时间要求,检查与纠正错误。2程序设计技术 软件结构实现结构化,各功能程序实行模块化、子程序化。一般有以下两种设计方法:(1)模块程序设计:优点是单个功能明确的程序模块的设计和调试比较方便,容易完成,一个模块可以为多个程序所共享。其缺点是各个模块的连接有时有一定难度。(2)自顶向下的程序设计:优点是比较符合于人们的日常思维,设计、调试和连接同时按一个线索进行,程序错误可以较早的发现。缺点是上一级的程序错误将对整个程序产生影响,一处修改可能引起对整个程序的全面修改。,3程序设计,(1)建立数学模型:描述出各输入变量和各输出变量之间的数学关系。(2)绘制程序流程图:以简明直观的方式对任务进行描述。(3)程序的编制:选择语数据结构、控制算法、存储空间分配,系统硬件资源的合理分配与使用,子程序的入/出口参数的设置与传递。4软件装配 各程序模块编辑之后,需进行汇编或编译、调试,当满足设计要求后,将各程序模块按照软件结构设计的要求连接起来,即为软件装配。在软件装配时,应注意软件接口。,7.2.4 可靠性设计,可靠性:通常是指在规定的条件(环境条件如温度、湿度、振动,供电条件等)下,在规定的时间内(平均无故障时间)完成规定功能的能力。提高单片机本身的可靠性措施:降低外时钟频率,采用时钟监测电路与看门狗技术、低电压复位、EFT抗干扰技术、指令设计上的软件抗干扰等几方面。单片机应用系统的主要干扰渠道:空间干扰、过程通道干扰、供电系统干扰。应用于工业生产过程中的单片机应用系统中,应重点防止供电系统与过程通道的干扰。,1供电系统干扰与抑制,干扰源:电源及输电线路的内阻、分布电容和电感等。抗干扰措施:采用交流稳压器、电源低通滤波器、带屏蔽层的隔离变压器、独立的(或专业的)直流稳压模块,交流引线应尽量短,主要集成芯片的电源采用去耦电路,增大输入/输出滤波电容等措施。2过程通道的干扰与抑制 干扰源:长线传输。单片机应用系统中,从现场信号输出的开关信号或从传感器输出的微弱模拟信号,经传输线送入单片机,信号在传输线上传输时,会产生延时、畸变、衰减及通道干扰。抗干扰措施:(1)采用隔离技术:光电隔离、变压器隔离、继电器隔离和布线隔离等。典型的信号隔离是光电隔离。其优点是能有效地抑制尖峰脉冲及各种噪声干扰,从而使过程通道上的信噪比大大提高。,(2)采用屏蔽措施:金属盒罩、金属网状屏蔽线。但金属屏蔽本身必须接真正的地(保护地)。(3)采用双绞线传输:双绞线能使各个小环路的电磁感应干抗相互抵消。其特点是波阻抗高、抗共模噪声能力强,但频带较差。(4)采用长线传输的阻抗匹配:有四种形式,如下图所示。,终端并联阻抗匹配:如上页图(a)所示,RP=R1/R2,其特点是终端阻值低,降低了高电平的抗干扰能力。始端串联匹配:如上页图(b)所示,匹配电阻R的取值为RP与A门输出低电平的输出阻抗ROUT(约20)之差值,其特点是终端的低电平抬高,降低了低电平的抗干扰能力。终端并联隔直流匹配:如图上页(c)所示,R=Rp,其特点是增加了对高电平的抗干扰能力。终端接钳位二极管匹配:如图上页(d)所示,利用二极管D把B门输入端低电平钳位在0.3V以下。其特点是减少波的反射和振荡,提高动态抗干扰能力。注意:长线传输时,用电流传输代替电压传输,可获得较好的抗干扰能力。,3其他硬件抗干扰措施,(1)对信号整形 可采用斯密特电路整形。(2)组件空闲输入端的处理 组件空闲输入端的处理方法如下图所示。其中,图(a)所示的方法最简单,但增加了前级门的负担。图(b)所示的方法适用于慢速、多干扰的场合。图(c)利用印刷电路板上多余的反相器,让其输入端接地,使其输出去控制工作门不用的输入端。,(3)机械触点,接触器、可控硅的噪声抑制 开关、按钮、继电器触点等在操作时应采取去抖处理。在输入/输出通道中使用接触器、继电器时,应在线圈两端并接噪声抑制器,继电器线圈处要加装放电二极管。可控硅两端并接RC抑制电路,可减小可控硅产生的噪声。(4)印刷电路板(PCB)设计中的抗干扰问题 合理选择PCB板的层数,大小要适中,布局、分区应合理,把相互有关的元件尽量放得靠近一些。印刷导线的布设应尽量短而宽,尽量减少回路环的面积,以降低感应噪声。导线的布局应当是均匀的、分开的平行直线,以得到一条具有均匀波阻抗的传输通路。应尽可能地减少过孔的数量。在PCB板的各个关键部位应配置去耦电容。要将强、弱电路严格分开,尽量不要把它们设计在一块印刷电路板上。电源线的走向应尽量与数据传递方向一致,电源线、地线应尽量加粗,以减小阻抗。,(5)地线设计 地线结构大致有保护地、系统地、机壳地(屏蔽地)、数字地、模拟地等。在设计时,数字地和模拟地要分开,分别与电源端地线相连;屏蔽线根据工作频率可采用单点接地或多点接地;保护地的接地是指接大地。不能把接地线与动力线的零线混淆。此外,应提高元器件的可靠性,注意各电路之间的电平匹配,总线驱动能力要符合要求,单片机的空闲端要接地或接电源,或者定义成输出。室外使用的单片机系统或从室外架空引入室内的电源线、信号线,要防止雷击,常用的防雷击器件有:气体放电管,TVS(瞬态电压抑制器)等。,4软件的抗干扰设计,常用的软件抗干扰技术有软件陷阱、时间冗余、指令冗余、空间冗余、容错技术、设置特征标志和软件数字滤波等(1)实时数据采集系统的软件抗干扰 采用软件数字滤波。常用的方法有以下几种:算术平均值法:对一点数据连续采样多次(可取35次),以平均值作为该点的采样结果。这种方法可以减少系统的随机干扰对采集结果的影响。比较舍取法:对每个采样点连续采样几次,根据所采样数据的变化规律,确定取舍办法来剔除偏差数据。例如,“采三取二”,即对每个采样点连续采样三次,取两次相同数据作为采样结果。中值法:对一个采样点连续采集多个信号,并对这些采样值进行比较,取中值作为该点的采样结果。,一阶递推数字滤波法:利用软件完成RC低通滤波器的算法。其公式为:Yn=QXn+(1Q)Yn1 其中:Q 数字滤波器时间常数;Xn第n次采样时的滤波器的输入;Yn1第n1次采样时的滤波器的输出。Yn第n次采样时的滤波器的输出。注意:选取何种方法必须根据信号的变化规律予以确定。(2)开关量控制系统的软件抗干扰 可采取软件冗余、设置当前输出状态寄存单元、设置自检程序等软件抗干扰措施。,5程序运行失常的软件对策,程序运行失常:当系统受到干扰侵害,致使程序计数器PC值改变,造成程序的无序运行,甚至进入死循环。程序运行失常的软件对策:发现失常状态后,及时引导系统恢复原始状态。可采用以下方法:(1)程序监视定时器(Watchdag,WDT)技术 程序监视定时器(也称为“看门狗”)的作用:通过不断监视程序每周期的运行事件是否超过正常状态下所需要的时间,从而判断程序是否进入了“死循环”,并对进入“死循环”的程序作出系统复位处理。“看门狗”技术:可由硬件、软件或软硬结合实现。硬件“看门狗”可以很好地解决主程序陷入死循环的故障,但是,严重的干扰有时会出现中断关闭故障使系统无法定时“喂狗”,无法探测到这种故障,硬件“看门狗”电路失效。,表2-5 工作寄存器组选择控制表,软件“看门狗”可以保证对中断关闭故障的发现和处理,但若单片机的死循环发生在某个高优先级的中断服务程序中,软件“看门狗”也无法完成其作用。利用软硬结合的“看门狗”组合可以克服单一“看门狗”功能的缺陷,从而实现对故障的全方位监控。(2)设置软件陷阱 软件陷阱:指将捕获的“跑飞”程序引向复位入口地址0000H的指令。设置方法:在EPROM中,非程序区设置软件陷阱,软件陷阱一般1KB空间有23个就可以进行有效拦截。指令如下:NOP NOP LJMP 0000H,在未使用的中断服务程序中设置软件陷阱,能及时捕获错误的中断。指令如下:NOP NOP RETI(3)指令冗余技术指令冗余:在程序的关键地方人为插入一些单字节指令,或将有效单字节指令重写,称为指令冗余。作用:可将“跑飞”程序纳入正轨。设置方法:通常是在双字节指令和三字节指令后插入两个字节以上的NOP。这样即使程序“跑飞”到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当做操作数执行,程序自动纳入正轨。此外,对系统流向起重要作用的指令(如RET,RETI,LCALL,LJMP,JC等指令)之前也可插入两条NOP指令,确保这些重要指令的执行。,单片机应用系统的软、硬件制作完成后,必须反复进行调试、修改,直至完全正常工作,经过测试,功能完全符合系统性能指标要求,应用系统设计才算完成。1硬件调试(1)静态检查 根据硬件电路图核对元器件的型号、极性、安装是否正确,检查硬件电路连线是否与电路图一致,有无短路、虚焊等现象。(2)通电检查 通电检查时,可以模拟各种输入信号分别送入电路的各有关部分,观察I/O口的动作情况,查看电路板上有无元件过热、冒烟、异味等现象,各相关设备的动作是否符合要求,整个系统的功能是否符合要求。,7.2.5 单片机应用系统的调试、测试,2软件调试 程序模块编写完成后,通过汇编或编译后,在开发系统上进行调试。调试时应先分别调试各模块子程序,调试通过后,再调试中断服务子程序,最后调试主程序,并将各部分进行联调。3系统调试 当硬件和软件调试完成之后,就可以进行全系统软、硬件调试,对于有电气控制负载的系统,应先试验空载,空载正常后再试验负载情况。系统调试的任务是排除软、硬件中的残留错误,使整个系统能够完成预定的工作任务,达到要求的性能指标。4程序固化 系统调试成功之后,就可以将程序通过专用程序固化器固化到ROM中。,5脱机运行调试 将固化好程序的ROM插回到应用系统电路板的相应位置,即可脱机运行。系统试运行要连续运行相当长的时间(也称为考机),以考验其稳定性。并要进一步进行修改和完善处理。6测试单片机系统的可靠性 单片机系统设计完成时,一般需进行单片机软件功能的测试,上电、掉电测试,老化测试,静电放电(ElectroStatic Discharge,ESD)抗扰度和电快进瞬变脉冲群(Electrical Fast Transient,EFT)抗扰度等测试。可以使用各种干扰模拟器来测试单片机系统的可靠性,还可以模拟人为使用中可能发生的破坏情况。经过调试、测试后,若系统完全正常工作,功能完全符合系统性能指标要求,则一个单片机应用系统的研制过程全部结束。,7.3 C51编程简介,MCS-51的编程语言常用的有两种,一种是汇编语言,一种是C语言(C51)。汇编语言的特点:机器代码生成效率很高,可读性差,编程难度大。C51的特点:C语言程序本身不依赖于机器硬件系统,基本上不作修改就可将程序从不同的单片机中移植过来。C51提供了很多数学函数并支持浮点运算,开发效率高,程序的可读性和可维护性较好。而且C51还可以嵌入汇编语言来解决高时效性的代码编写问题。,7.3.1 MCS-51单片机C51语言简介,1.C51的优点 C51与ASM-51(汇编语言)相比,有如下优点:对单片机的指令系统、硬件不要求了解,仅要求对MCS-51的存储器结构有初步了解,就能够编程。程序有规范的结构,易于结构化、模块化和移植,已编好的程序可以很容易地植入新程序。寄存器分配、存储器的寻址及数据类型,中断服务程序的现场保护和恢复,中断向量表的填写都由C51编译器处理。提供丰富的库函数供用户直接调用,不同函数的数据实行覆盖,有效地利用了片上有限的RAM空间。具有较强的数据处理能力。,C51提供了复杂的数据类型(数组、结构、联合、枚举、指针等),极大地增强了程序处理能力和灵活性;提供auto,extern,static,const等存储类型和专门针对MCS-51单片机的data,bdata,idata,pdata,xdata,code等存储类型,自动为变量合理地分配地址;提供small,compact,large等编译模式,以适应片上存储器的大小;完整的编译控制指令为程序调试提供必要的符号信息。头文件中允许定义宏、说明复杂数据类型和函数原型,有利于程序的移植和支持单片机的系列化产品的开发。可方便地接受多种实用程序的服务,有专门的实用程序自动生成;有实时多任务操作系统,可调度多道任务,简化用户编程,提高运行的安全性等。2.单片机C51语言与C语言的异同 单片机的C51是继承了标准C的绝大部分的特性,基本语法相同,但其本身在特定的硬件结构上又有所扩展(如专门针对MCS-51单片机的存储类型等),需要在C51的实际编程应用过程中逐步体会。,7.3.2 C51的基本语法,1.C51的程序结构 与一般C语言的结构相同,以main()函数为程序入口,程序体中包含若干语句,还可以包含若干函数。2.C51的数据类型 常用的数据类型有:位型(bit,1位)、字符型(char,1字节)、整型(int,2字节)、长整型(long int,4字节)、浮点型(float,4字节)、数组型、指针型等。3.C51数据的存储类型 C51数据的存储类型如下表所示。,4.C51包含的头文件 C51包含的头文件通常有reg51.h,math.h,ctype.h,stdio.h,stdlib.h,absacc.h。其中,常用的有reg51.h(定义特殊功能寄存器和位寄存器)和math.h(定义常用数学运算)。5.C51的运算符 C51的运算符与C语言基本相同:+(加)、-(减)、*(乘)、/(除)、(大于)、=(大于等于)、(位右移)、(位左移)、&(按位与)、|(按位或)、(按位异或)、(按位取反)。6.C51的基本语句 C51的基本语句与标准C语言基本相同:if(选择语句)、switch/case(多分支选择语句)、while(循环语句)、for(循环语句)、do-while(循环语句)等。,7.3.3 C51编译器,Franklin C51交叉编译器是专为80C51系列单片机设计的一种高效的C语言编译器,使用它可以缩短开发周期,降低开发成本,而且开发出的系统易于维护,可靠性高,可移植性好,代码的使用效率高。1.C51语言程序设计的基本技巧(1)采用结构化程序设计(2)采用模块化程序设计,分别指定个功能模块相应的入口参数和出口参数,而经常使用的一些程序最好编成函数。(3)充分利用C51语言的预处理命令。(4)采用宏定义“define”(或集中起来)将一些常用的常数、各种特殊功能寄存器或程序中一些重要的、依据外界条件可变的常量放在一个头文件中进行定义,然后采用文件包含命令“#include”将其加入到程序中去,便于修改,有利于文件的维护和更新。,2.C51语言与汇编语言程序的混合编程,有时为了编程直观或某些特殊地址的处理,C51程序中还须采用一些汇编语言编程。而在另一些场合,出于某种目的,汇编语言也可调用C语言。在这种混合编程中,关键是参数的传递和函数的返回值。它们必须有完整的约定,否则数据的交换就可能出错。3.C51中断处理过程 C51编译器支持在C源程序中直接开发中断,中断服务函数的完整语法如下:void函数名(void)模式 再入interrupt n using r 其中:n(031)-代表中断号;r(03)-代表第r组寄存器;再入-说明中断处理函数有无“再入”能力。,7.3.4 Keil C51开发系统简介,1.系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。其特点是提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面;生成的目标代码效率非常高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。2.Keil C51单片机软件开发系统的功能 Keil C51单片机软件开发系统可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用集成开发环境IDE本身或其他编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由L51创建生成库文件,也可以与库文件一起,经L51连接定位,生成绝对目标文件(.ABS)。,Keil C51工具包各部分功能如下:(1)C51是C语言编译器,其使用方法为:C51 sourcefile 编译控制指令 或者 C51 commandfile其中:sourcefile-C源文件(.C)。大量的编译控制指令完成C51编译器的全部功能。包括C51输出文件C.LST,.OBJ,.I和.SRC文件及源文件(.C)的控制等。Commandfile-一个连接控制文件,其内容包括:.C源文件及各编译控制指令,它没有固定的名字,开发人员可根据自己的习惯指定,它适用于控制指令较多的场合。(2)A51是汇编语言编译器,使用方法为:A51 sourcefile 编译控制指令 或者 A51 commandfile其中:sourcefile-汇编源文件(.asm或.a51),而编译控制指令的使用与其他汇编(如ASM)语言类似。Commandfile-C51中的Commandfile类似,它使A51的使用和修改比较方便。,(3)L51是Keil C51软件包提供的连接器/定位器,其功能是将编译生成的.OBJ文件与库文件连接定位,生成绝对目标文件(.ABS),其使用方法为:L51 目标文件列表 库文件列表 to outputfile 连接控制指令 或者 L51 Commandfile 源程序的多个模块分别经C51与A51编译后生成多个.OBJ文件,连接时,这些文件全列于目标文件列表中,作为输入文件,如果还需与库文件(.LIB)相连接,则库文件也必须列在其后。其中:outputfile-输出文件名,默认为第一模块名,后缀为.ABS。连接控制指令提供了连接定位时的所有控制功能。Commandfile-连接控制文件,其具体内容包括了目标文件列表、库文件列表及输出文件、连接控制命令。第2种方法简单,在设计时较多见。(4)BL51也是C51软件包的代码连接器/定位器,除具有L51的所有功能外,它还可以连接定位大于64KB的程序,具有代码域及域切换功能,可用于RTX51操作系统等功能。,(5)RTX51是一个实时多任务操作系统,可以不用main()函数,是单片机系统软件向RTOS发展是一种趋势。(6)dScope51是一个源级调试器和模拟器,它可以调试由C51编译器、A51汇编器、PL/M-51编译器及ASM51汇编器产生的程序。它不需目标板,只能进行软件模拟,但其功能强大,可模拟CPU及其外围器件,能对嵌入式软件功能进行有效测试。(7)Initfile为一个初始化文件,它在启动dScope51后,在debugfile之前装入,装有一些dScope的初始化参数及常用调试函数等。(8)tScope51也为一个初始化文件,与dScope51不同的是,tScope51必须带目标板,目前它可以通过两种方式访问目标板。通过EMul51在线仿真器,tScope51为该仿真器准备了一个动态连接文件EMUL51.IOT,但该方法必须配合该仿真器。通过Monitov51监控程序。tScope51为访问Monitor51,专门带有MON51.IOT连接程序,使用时可通过串口及监控程序来调试目标板。,(9)Monitor 51是一个监控程序,通过PC的串口与目标板进行通信,Monitor操作需要MON51或dScope51 for Windows。(10)Ishell for DOS是一个DOS环境下的IDE,直接在命令行输入Ishell,则进入该环境。它使用简单方便,其命令行与DOS命令行具有同样的功能。(11)uVision for Windows是一个标准的Windows应用程序,它是C51的一个集成软件开发平台,具有源代码编辑、Project管理、集成的Make等功能,它的人机界面友好,操作方便,是开发者的首选。3.Keil C51与标准C 对标准C的扩展是学习C51的关键之一。C51直接针对8051系列CPU对标准C的扩展包括8051存储类型及存储区域、存储模式、存储器类型声明、变量类型声明、位变量与位寻址、特殊功能寄存器(SFR)、C51指针、函数属性等8类。,(1)Keil C51扩展关键字 C51 V4.0的扩展关键字如下(共19个):at idata sfr16 alien interrupt small bdata large task code bit pdata using reentrant xdata compact sbit data sfr(2)内存区域(Memory Areas)由code说明可有多达64KB的程序存储器。内部数据存储器可用以下关键字说明:data:直接寻址区,为内部RAM的低128字节 00H7FH;idata:间接寻址区,包括整个内部RAM区 00HFFH;bdata:可位寻址区,20H2FH。,外部RAM视使用情况可由以下关键字标志:xdata:可指定多达64KB的外部直接寻址区,地址范围 0000H0FFFFH;pdata:能访问1页(256字节)的外部RAM,主要用于紧 凑模式(Compact Model)。8051提供128字节的SFR寻址区,可由以下几种关键字说明:sfr:字节寻址,如 sfr P0=0 x80,指出P0口地址为 80H,“=”后为00HFFH之间的常数。sfr16:字寻址,如sfr16 T2=0 xCC,指定T2口地址为 TL2=0 xCCH,TH2=0 xCDH。sbit:位寻址,如sbit EA=0 xAF,指定第0 xAFH位为EA,即中断允许。还可以有如下定义方法:sbit OV=PSW2(定义OV为PSW的第2位)sbit OV=0 xDo2(同上)或bit OV=0 xDo2(同上)。,7.3.5 C51应用举例,例题 设单片机的fOSC=12MHz,要求用T0的方式编程,在P1.0引脚输出周期为2ms的方波。解:用C语言编写的中断服务程序如下:#include sbit P1_0=P10;void timer0(void)interrupt 1 using 1/*T0中断服务程序入口*/P1_0=!P1_0;TH0=-(1000/256);/*计数初值重装*/TL0=-(1000%256);void main(void)TMOD=0 x01;/*T0工作在定时器方式1*/P1_0=0;TH0=-(1000/256);/*预置计数初值*/TL0=-(1000%256);EA=1;/*CPU开中断*/ET0=1;/*T0开中断*/TR0=1;/*启动T0*/dowhile(1);,注意:在编写中断服务程序时必须注意不能进行参数传递,不能有返回值。例题 拆字程序。将2000H的内容拆开,高位送2001H低位,低位送2002H低位。解:汇编语言程序如下:ORG 1000HSE02:MOV DPTR,#2000HMOVX A,DPTRMOV B,A;(2000H)ABSWAP A;交换ANL A,#0FH;屏蔽高位 INC DPTR MOVX DPTR,A;送2001H INC DPTRMOV A,BANL A,#0FH;(2000H)内容屏蔽高位MOVX DPTR,A;送2002HSJMP$END,C51程序如下:#include main()unsigned char xdata*p=0 x2000;/*指针指向2000H单元*/*2002H单元高4位清零,低4位装2000H单元低4位*/*(p+2)=(*p),7.4 单片机应用系统举例,7.4.1 单片机在控制系统中的应用 单片机的一个广泛应用领域就是控制系统。1设计思想 通过传感电路不断循环检测室内温度、湿度、有害气体(如煤气)浓度等环境参数,然后与由控制键盘预置的参数临界值相比较,从而作出开/关窗、启/停换气扇、升/降温(湿)等判断,再结合窗状态检测电路所检测到的窗状态,发出一系列的控制命令,完成下雨则自动关窗、室内有害气体超标则自动开窗、开/启换气扇、恒温(湿)等自动控制功能。用户还可通过控制键盘,直接控制窗户的开/关、换气扇的启/停、温(湿)度的升/降,选择所显示参数的种类等。2系统组成和部分电路设计 控制系统主要由控制器、数据检测传感电路、A/D转换器、窗驱动控制接口电路、窗驱动电路等组成。其系统原理图如下页图所示。,控制器采用美国Atmel公司的AT89C51单片机。利用89C51的P0口采集数据,完成控制信息的采集和控制功能。利用P1.0P1.3作为窗状态检测端口,完成对窗状态(即窗是否移到边框)的检测。数据检测传感电路由温度传感电路、湿度传感电路、有害气体传感电路、红外防盗传感器四个部分组成。在此只以温度传感电路为例进行设计。,根据温度检测的要求,温度的检测选用集成温度传感器AD590(测温范围为55+150)。测量电路如图右所示。,传感器的采集信号经过数据处理电路,必须通过A/D转换器才能与单片机连接,本系统中有4路模拟输入,A/D转换器选用了ADC0809,89C51通过中断方式读取A/D转换的数据。通过A/D转换实现的数据采集电路如下图所示。A/D转换器的口地址为7FFFH。,根据驱动信号与所控对象的关系,将系统的驱动电路分解为移窗驱动电路、换窗驱动电路、锁窗驱动电路、温度调节驱动电路、湿度调节驱动电路、换气扇驱动电路和报警驱动电路等,分别用它们去控制1个对象。窗状态检测电路采用4个开关型磁敏器件。在外窗、内窗的左、右边上,与磁敏器件相对应的地方,各贴上一小片磁铁,当小磁铁随窗户的移动而移近相对应的磁敏器件时,该磁敏器件的输出信号从高电平变为低电平,表示窗户已移到相应边上。键盘输入及显示电路采用Intel公司生产的8279通用可编程键盘、显示器接口芯片。可实现对键盘和显示器的自动扫描,并识别键盘上闭合键的键号。对于控制键盘,采用微动开关制作,并安装在窗户的固定边框上。通过控制键盘,用户可设置各环境参数的临界值、随意选择所显示参数的种类、直接控制窗户的开/关、换气扇的启/停、温(湿)度的升/降等。,3软件设计,控制系统的软件主要由一个主程序和两个中断服务程序等组成。主程序的主要作用是在系统复位后对系统进行初始化,设置8279,ADC0809等的工作方式和初始状态,设置各中断的优先级别并开中断,首次启动A/D转换等,然后向8279循环送显示字符,进行显示。程序框图如右上图所示。键中断服务程序的主要作用是在AT89 C51响应中断(有键按下,则产生该中断)后,读出键值,并根据键值依序发出相应的控制命令字,完成相应的控制功能。该中断应设为高优先级。程序框图如右下图所示。,循环检测中断服务程序的主要作用是在89C51响应中断后,将A/D转换结果送相应缓冲区,然后判断该转换结果是否在上、下限值之间,并根据判断结果按序发出相应的控制命令字,完成相应的控制、报警功能。然后重新选择被转换量,再次启动A/D转换后,返回主程序。该中断应设为低优先级,并设为电平触发方式。程序流程图如右图所示。,7.4.2 单片机在家用电器中的应用,单片机在家电行业具有广泛的应用。下面以单片机在电冰箱控制系统中的应用为例加以介绍。1总体方案设计直冷式电冰箱的控制原理:根据蒸发器的温度控制制冷压缩机的启动、停止,使冰箱内的温度保持在设定温度范围内。采用单片机控制压缩机的启动和停止,可以使控制更准确、更灵活。电冰箱采用单片机控制的性能指标如下:设定3个测温点,测量范围在26+26之间,精度为0.5。利用功能键分别控制温度设定、速冻设定、冷藏室及冷冻室温度设定等。,利用数码管显示冷冻室、冷藏室温度,压缩机启动、停止和速冻、报警状态。制冷压缩机停机后,自动延时3分钟才能再启动。电冰箱具有自动除霜功能,当霜的厚度达3cm时自动除霜。开门延时超过2分钟发出声音报警。连续速冻时间设定范围为18小时。工作电压在180240V之间,当欠压或过压时,禁止启动压缩机,并用指示灯显示。根据上面所列出的控制系统要求,可估算出所需要的程序存储器的容量不会超过4KB,因此可以采用Philips公司生产的80C51单片机(片内有4KB的ROM,128字节的RAM),不用进行外部扩展存储器,可以大大简化系统的硬件电路。此外,80C51单片机在市场上的货源充足,技术比较成熟,同时也具有较好的开发环境。,2硬件设计,(1)主电路设计 主电路采用80C51单片机,扩展一片A/D转换芯片ADC0809,构成基本的系统。由于本系统无通信要求,可以通过串行口扩展四片74LS164作为四位LED显示器接口和一片74LS164来实现键盘功能。本系统还有一些附加的电路,如除霜电路、电压检测电路和开关报警电路等。电冰箱控制系统的电路原理图如下页图所示。(2)A/D转换电路 A/D转换电路采用ADC0809。ADC0809共有8路模拟输入通道(本系统只用到其中的4路IN0IN3)。其中,IN0作为冷冻室温度检测通道,IN1作为冷藏室温度检测通道,IN2作为除霜检测通道,IN3作为电源电压检测通道。ADC0809与单片机接口电路见电路原理图如下页图所示。,上页图中,ADC0809的A,B,C三个引脚直接和80C51单片机的P0.0P0.2三个引脚相连,用于选择不同的模拟通道信号。P1.6与读写控制信号端和经过或非门连接到ADC0809的START,ALE,OE端,分别控制ADC0809的启动、地址锁存、读操作和写操作。ADC0809的EOC端悬空,A/D转换后利用软件延时一段时间来读取转换后的数据。(3)功能键和显示电路 功能键和显示电路如上页图所示。采用6个功能键控制冷冻室、冷藏室及速冻温度设定,4位LED显示器用于显示冷冻、冷藏室温度,以及压缩机启动、停止和报警等状态。LED显示及功能键都是通过80C51的串行口扩展的。显示输出通道和键盘输入通道的选择由端口线P3.2和与门完成。当P3.2为“1”时,数据输出到显示器。当P3.2为“0”时,80C51王诚对键盘的扫描。,(4)除霜电路 选用MF53-1型热敏电阻作为温度传感器(Rt),它具有负温度系数,灵敏度较高。把热敏电阻安装在距蒸发器3mm的某个合适的位置上,当霜厚大于3mm时,热敏电阻Rt接触到霜从而感受到较低的温度,其电阻值变大,A点温度降低,运算放大器输出信号有变化,经A/D转换后送入CPU,经单片机分析、判断,给出除霜命令。除霜电路如下图所示。,热敏电阻Rt的阻值和温度的关系为:(k)A点电压与温度的关系为:(5)制冷压缩机和除霜电热丝启动、停止控制电路 其电路如下页图所示,加热丝和压缩机的工作原理如下:80C51单片机控制信号经P1.3和P1.4端口输出,并通过P1.7的控制,将信号锁存在74LS273中,74LS273的输出经过达林顿驱动器DS2003后,驱动固态继电器RELAY1和RELAY2。当DS2003的16脚有高电平输出时,RELAY1的3,4脚接通,使加热丝接通电源,开始除霜。当DS2003的15脚输出高电平时,RELAY2的3,4脚接通,使压缩机绕组接通电源而启动,开始制冷。74LS273的锁存控制信号,一方面增加输出功率,另一方面也防止单片机复位时引起控制的误动作。,电冰箱控制程序主要分为三大部分:主程序、定时器T0中断服务程序和定时器T1中断服务程序。(1)主程序 主程序是整个电冰箱的总控制程序,主要实现控制各单元初始化、控制中断、定时、显示、键盘程序的启动与重复等功能。主程序的程序流程图如右图所示。,3软件设计,T0中断

    注意事项

    本文(片机原理及其接口技术第7章.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开