单片机原理及应用教程.ppt_第1页
单片机原理及应用教程.ppt_第2页
单片机原理及应用教程.ppt_第3页
单片机原理及应用教程.ppt_第4页
单片机原理及应用教程.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章 单片机应用系统开发与举例 10.1 单片机应用系统举例 10.2 单片机系统的开发应用过程 10.3 单片机开发系统 10.4 单片微机系统应用开发举例,10.1 单片机应用系统举例 单片机由于简单易学、成本低廉,深受各个应用领域广大科技工作者和电子爱好者的欢迎。本节首先介绍几个单片机应用实例,以加深对前面所学内容的认识和理解,然后介绍单片机应用系统的开发技术。 10.1.1 光电计数器 在很多情况下,需要对外部事件进行计数,用单片机可以方便地构成各种不同功能的计数器。 1. 硬件电路设计 图10-1 光电计数器硬件电路原理图 本例利用光敏三极管接收计数脉冲(由外部事件转换为计数输入脉冲),当光敏三极管未受光照而截止时其集电极输出高电平,受光照而导通时其集电极输出低电平,如此便在光敏三极管的集电极产生一个负脉冲。为了防止计数过程中外界的干扰信号,该负脉冲经施密特触发器进行整形后,接在单片机定时器/计数器的输入端,便可以对光电信号产生的脉冲进行计数。通过单片机的P1口外接8只发光二极管来显示当前计数值,设定0.5s显示一次。,本例中,使用单片机的定时器/计数器T0,将光电计数器的计数输入端接在单片机定时器/计数器T0的计数输入引脚T0(P3.4)上,由定时器/计数器T1加上一个软计数器完成0.5s的定时,每当定时时间到时,就从定时器/计数器T0中读出当前计数值,并送到P1口进行显示。为方便起见,采用二极管静态显示,以8位二进制方式表示计数值。硬件电路如图10-1所示。 2. 软件设计 假定单片机的晶振频率为6MHz。 定时器/计数器T0设为工作方式2、计数工作方式、禁止中断,其初始值为(TH0)=00H、(TL0)=00H。 定时器/计数器T1设为工作方式1、定时工作方式,定时时间为125ms,其初始值为(TH1)= 0BH、(TL1)=0DCH,禁止中断。 汇编语言程序清单如下:,图10-1 光电计数器硬件电路原理图,ORG 0000H AJMP MAIN ORG 0100H MAIN:MOV TMOD, #16H MOV TH0, #00H MOV TL0, #00H MOV TH1, #0BH MOV TL1, #0DCH SETB TR0 SETB TR1 LOOP: MOV R0, #04H LOOP1: JNB TF1, ,CLR TF1 MOV TH1, #0BH ; T1重新设置125ms定时初始值 MOV TL1, #0DCH DJNZ R0, LOOP1 ; 0.5s到否? CLR TR0 ; 关闭定时器T0 MOV A, TL0 ; 读出当前计数值 SETB TR0 ; 开启定时器T0 CPL A ; 取反(因发光二极管共阳极接法) MOV P1, A ; 显示当前计数值 SJMP LOOP ; 循环 END,同样功能的Cx51程序清单如下: void main( void ) unsigned char n; unsigned char nPulseCount; IE = 0x00; TMOD = 0x16; /* T0工作方式2计数,T1工作方式1定时 */ TH0 = 0; /* T0计数初始值 */ TL0 = 0; TH1 = 0x0B; /* T1定时125ms的初始值 */ TL1 = 0xDC; TR0 = 1; /* 启动定时器T0 */ TR1 = 1; /* 启动定时器T1 */,while(1) for( n=4; n0; n- ) /* 0.5s到否? */ while( TF1=0 ); /* 125ms到否? */ TF1=0; TH1 = 0x0B; /* T1重新设置125ms定时初始 值 */ TL1 = 0xDC; TR0=0; /* 关闭定时器T0 */ nPulseCount = TL0; /* 读出当前计数值 */ TR0=1; /* 开启定时器T0 */ P1=nPulseCount; /* 取反、显示当前计数值*/ ,10.1.2 时间顺序控制器 在单片机应用系统设计时,经常遇到需对所控多个对象按时间顺序进行逐个控制。本例采用单片机实现时间顺序控制的功能。同时,可以对系统故障进行报警。 1. 硬件电路设计 假设系统的晶振频率为6MHz,为调试方便可用发光二极管模拟控制器的继电器(发光二极管发光,则表示继电器动作,即某个对象开始工作),用手动按键来模拟检测到控制器故障。当有故障时蜂鸣器报警,直到故障排除,系统恢复正常。 时间顺序控制器电路如图10-2所示。 2. 软件设计 程序清单: (程序代码见课本P213),图10-2 时间顺序控制器电路原理图,10.1.3 转速表 1. 硬件设计 以霍尔传感器CS837作为输入器件,然后利用单片机的定时器/计数器T0的计数输入端,对传感器输入的脉冲进行计数,就可以很方便地对转速进行测量。图10-3所示为简单转速表的硬件电路图。 输入主要有霍尔传感器CS837构成,经输出驱动后接至单片机的定时器/计数器T0计数输入端T0引脚;为方便起见,输出则有P1口外接的8只发光二极管来显示转速值(二进制)。 2. 软件设计 转速表的转速测量采用直接测量法。即由定时器/计数器T1和一个软计数器来完成1min的定时,由定时器/计数器T0来完成对转速的测量。从硬件电路可以看出,图10-3所示的转速表的测量范围是0255r/min。由于程序比较简单,所以直接给出。 程序清单如下: (程序代码见课本P218),图10-3 简单转速表的硬件电路图,10.2 单片机系统的开发应用过程 单片机系统的应用开发过程也从过去的“手工作坊”式的个人工作模式逐渐向标准化,系统化,联合化,层次化发展。 所谓的标准化是指系统模块、基础算法模块、常用的主要功能模块正在逐步的标准化;系统化是指开发流程从过去的比较多的自下向上的开发模式转变为自顶向下的开发模式,并且引入了较多的系统需求与系统分析的原软件工程领域的先进的思想与方法,逐渐出现设计与实现的分离、软件设计与硬件设计的分离。 联合化是指较大型或知识较为密集型的系统或产品中越来越多的出现产品设计思想、关键算法、甚至一个程序的不同部分不再由同一个人全部掌管。 所谓层次化是指随着分工合作的发展,原来各个层次软件的开发者均为同一人的现象逐渐消失,开发语言层次、操作系统层次、应用程序层次、专业算法层次、IO接口层次、知识产权层次都是分属不同的开发者甚至相互未曾谋面、不同国别的合作开发者。,10.2.1 总体论证 一个产品或项目提出之后,要完成其任务,第一步首先要进行总体论证,它主要是对项目调研进行可行性分析,即对所研制任务的功能和技术指标详细分析、研究,明确功能的要求;对技术指标进行一些调查、分析和研究;对产品或项目的先进性、可靠性、可维护性、可行性以及功能/价格比进行综合考虑;同时还要对国内外同类产品或项目的应用和发展情况予以了解。 10.2.2 总体设计 单片机应用系统的总体设计主要包括系统功能(任务)的分配、确定软硬件任务及相互关系、单片机系统的选型和拟定调试方案和手段等。系统任务的分配、确定软硬件任务及相互关系包括两方面的含义,一是必须由硬件或软件完成的任务,相互之间是不能替代的;二是有些任务双方均能完成,还有些任务需要软、硬件配合才能完成。这就要综合考虑软、硬件的优势和其他因素如速度、成本、体积等进行合理的分配。,10.2.3 硬件设计 硬件开发的第一步是电路原理图的设计,它包括常规通用逻辑电路的设计和特殊专用电路的原理设计。 专用电路的原理设计,它一般没有现成的电路,要根据要求首先进行原理设计。在理论分析通过的基础上可进行实际电路的试验、调试和确认。整个系统的硬件电路原理图设计完毕并确认无误后,可进行元器件的配置,即将系统所有元器件(外型尺寸不同)购齐以备绘制印制电路板使用。印制电路板的设计也可委托相关厂家,但需提供系统电路原理图中所有元器件的型号、参数和尺寸,如有特别要求(元器件的布局)应事先提出。印制电路板制作出来之后,要用万用表进行检查,对照设计图检查有否短路、断路和连接错误,检查后可进行元器件的焊接和装配。 10.2.4 软件设计 针对目前最通用的单片机8051和目前最流行的程序设计语言C,以Franklin/Keil的编译器为工具,推出了单片机的C语言程序设计。,10.2.5 联机调试 联机调试,就是借助开发工具对所设计应用系统的硬件进行检查,排除设计和焊接装配的故障。 10.2.6 脱机运行 联机调试完成后,可将程序写入EPROM或片内ROM中,脱机运行考核。以确定应用系统能否可靠、稳定地工作 。 10.3 单片机开发系统 10.3.1 开发系统的基本功能 一个单片机系统是面向应用而设计的,其本身并不具备开发功能。这些开发系统通常包含两部分,一部分是开发装置,一部分是开发软件。开发装置是一台功能较强,固化有监控程序,检察、调试手段齐全,资源非常丰富的与所开发对象完全配套的单板型单片机系统。开发软件是与开发装置相配套的在系统微机上运行的用高级语言编写的应用程序,它一般具有行编辑或全屏幕编辑的文本输入功能,使用户方便地在DOS或Windows环境下用汇编语言编写和修改源程序文件。,10.3.2 开发系统简介 1. DICE系列仿真开发器 DICE系列单片微机仿真开发器是一种高性能的单片机开发装置。 DICE-5928型是属高档通用型单片微机仿真开发器。本机采用三CPU一体式结构。这样,一机即为可开发Intel MCS-51系列、MCS-96系列以及PHILIPS-80C51系列单片微机的多用型在线仿真、开发器。不同CPU的仿真、开发,只需切换一只开关,而不需更换CPU。 2. DAIS系列仿真开发器 DAIS系列仿真开发器是北京启东达爱思电子有限公司开发生产的系列产品。 10.4 单片微机系统应用开发举例 10.4.1 系统简介 本项目中的实验、教学综合楼是这样设定的:建筑楼层共,6层,每层分成试验室区和多媒体投影教室区。实验室区中的实验室涉及仓库、办公区,化工类实验室,电子类实验室,嵌入式计算机类实验室和软件实验室等。多媒体教室的设备配置大体相同,具有投影、音响等基本教学设备等。我们欲通过本系统的应用实现在完全保证教学活动的前提下,使整个建筑成为一个节能、安全、高效、科学的教学单位。其各个教室即可独立控制,又可以在总控室的统一控制下协调运作。同时本楼的控制系统本身又可以作为高年级电子类学生的实验实习、科技创新校内基地的一部分。 10.4.2 总体设计与模块功能分配 1. 需求分析与总体设计 由于本系统针对的建筑物各楼层之间甚至同一层之内的教学科研功能各不相同,因此总体结构上已采用三层结构:总控室,楼层控制器,教学单元控制器。根据现代化智能教学楼的节能、舒适、安全、有序的要求,其中每个教室或实验室具有一个功能可剪裁的“单元控制器”使教室/试验室可以独立运转。实现对教学单位内的温度、湿度、光照度、空间使用状态、设备使用状态、风机/空调器运行与否等等信息进,行实时监测,并对灯光、风机、空调、音响的运行情况进行实时控制。 2. 总控室功能设计 总控室对内要负责全楼的信息采集、记录、统计、规划、安全监控、灾害监控等功能,所以在系统构成上采用小型局域网的架构形式,每个楼层的楼层控制器和控制内的数台微机都有各自的IP地址,成为该小型以太网的组成节点。 3. 楼层控制器功能设计 楼层控制器在功能上以通信管理为主,辅以较小规模的本地数据存储器。功能上以无人值守或半人工管理模式为设计目标。 4. 单元控制器功能设计 它要实时处理传感器收集来的温度、湿度、照度等模拟信号,这些信号可能需要经过A/D转换器转换成为数字信号后进入系统总线。单元控制器还要实时处理诸如人工报警信号、火灾探测器和烟雾报警器的报警信号等开关型信,号。同时,它还要随时准备响应楼层控制器发送/转发的紧急事件通知信号。 10.4.3 单元控制器硬件设计 单元控制器的硬件实现基本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论