单片机原理及应用电子教案_第1页
单片机原理及应用电子教案_第2页
单片机原理及应用电子教案_第3页
单片机原理及应用电子教案_第4页
单片机原理及应用电子教案_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

《单片机原理与接口技术》

电子教案

重庆工商职业学院第七章

单片机应用系统设计[内容提要]本章主要介绍单片机应用系统的设计。目前单片机的应用领域十分广泛,可以说,已深入到了包括工业过程控制、智能化仪器仪表、家用电器等在内的各行各业。本章中列举的只是单片机众多应用中的几个侧面。以单片机为核心的产品的开发需要单片机开发系统的支持,本章对单片机开发系统作了初步介绍。[学习要求]在本章的学习过程中,应主要了解并初步掌握单片机应用系统的设计,即如何规划单片机应用系统软、硬件之间的关系,如何合理地选择外部扩展器件,合理分配单片机资源等。◆需求获取在进入正式开发之前,必须先从用户处获取准确的需求。在这上面花费相当时间是很必要的。项目可以大致分为委托开发和公司立项开发两大类。对于委托开发,例如给某单位开发一套该单位专用的系统,一般用户对于项目要完成哪些功能已经有了一个比较清楚的轮廓,而且往往在开发合同中已经大致地规定了。但是,开发合同上规定的只是一个大概的框架,在进入开发之前必须与用户进行比较具体的交流和讨论,了解清楚用户心目中的产品究竟是什么样子。这个步骤如果没有好好做,往往到了开发工作的后期才发现开发人员的理解和用户的要求有一些误解,那么必然造成时间上的浪费。对于公司立项开发的项目,在开发之前应该做一定的市场调查工作,一方面是从经济效益考虑,调查产品的潜在市场有多大,另一方面是从技术的角度,必须了解清楚潜在用户对产品的各种功能上的要求,例如,用户现在使用什么产品,对该产品有什么意见和要求等等,根据调查的统计结果决定即将开发的产品的一些技术指标。7.1单片机应用系统的设计过程一、合理的开发流程◆需求分析在了解用户的需求之后,将需求用一种模型来表示,就是需求分析。强调几个问题:

▲要分清问题域与系统责任

▲需求获取与需求分析的关系

▲分析与设计过程的衔接7.1单片机应用系统的设计过程一、合理的开发流程◆设计过程设计阶段的工作包括:对分析模型必要的修改。可能需要对某些类结构进行一些修改,这些修改的原因可能是编程环境的要求,或者为了重用以前的某些工作。定义界面部分、数据访问(数据库)部分。由于目前很多编程语言都可以可视化地设计界面,所以界面部分工作往往留到了编码阶段来完成。于是设计阶段的工作量并不大。◆编码进入编码工作之后,可能会发现前面分析或设计阶段的某些错误,这时应返回到前面的阶段进行必要的修改。◆测试即使是小项目,也应该严格地进行测试。◆人员安排比较小的项目,往往是几个人来完成,这几个人基本上从头到尾参加开发。在这几个人中,有一位项目负责人,负责分析、设计和协调的工作。由于项目小,项目负责人也要参加编程,那么这人必须把时间合理运用,注意以下以点原则:

▲协调几个人的工作比自己完成一段编码更重要由于协调上出了漏洞,可能导致很大的问题,所以项目负责人必须随时监控各开发人员的工作,包括内容是否与要求发生偏差,进度是否滞后等等。只有在完成这些工作之后,项目负责人剩下的时间才能用于编程。

▲给每个开发人员明确的任务书

不管是用面向对象或者其他方法开发,分析、设计模型只是从功能的角度来描述系统。但是,具体开发时每个开发人员必须非常明确自己的任务,这些任务应该采用明确的文档来表示。

▲让大家都大致熟悉设计模型让每个开发人员都清楚自己所做的工作在整个系统中处于什么地位,有时侯可能会发现设计模型中的漏洞,避免了各人的代码编写完毕之后又要修改的后果。

7.1单片机应用系统的设计过程一、合理的开发流程7.1单片机应用系统的设计过程二、产品开发流程框图1122图7-1开发流程图7.2单片机开发工具一、开发手段的选择仿真插头单片机应用系统(用户系统)

EPROM写入插口开发模板通用计算机系统总线图7-2微机开发系统◆805l宏汇编语言◆

PL/M-51语言◆

C-51语言7.2单片机开发工具二、开发工具软件图

7-3伟福仿真器菜单界面任务描述:潜水泵自动控制保护器具有两大功能,第一是保护功能:能在泵体缺水时实施自动保护,并能根据预设时间自动恢复工作。第二是自动控制功能:能根据水塔水位,自动启停水泵。总体设计◆

需求分析▲需求获取本项目最早由一家专门生产潜水泵的厂家提出,该厂家在生产和销售过程中,不断接到用户反馈潜水泵烧坏,主要原因是在抽水过程中,由于水源来水不足,潜水泵干抽烧坏,所以提出开发一种保护装置,就有了最初的潜水泵自动控制保护器项目的需求,再根据实际中,许多情况是给水塔抽水,这样就要知道水塔缺水和水满情况,还有在广大农村有时要计时抽水,这样就确定最后方案。▲设计开发任务书本项目是一个很小的项目,开发人员为:项目负责人一名、一名软件工程师、一名硬件工程师、一名技术员。项目负责人负责协调各人员工作和检查进度,软件工程师负责程序设计,硬件工程师负责硬件原理图及PCB板设计,技术人员负责原器件购买、测试和组装工作。7.3单片机应用系统举例一、潜水泵自动控制保护器总体设计◆方案设计采用89C2051单片机控制、二个键(K1、K2)用来起动水泵前的参数设置,水位器:(三个)水池上水位器、水池下水位器、潜水泵水位器,用来检测水位保证水泵正常工作,该保护器有两种工作模式,一种是自动控制模式,主要用在对水塔抽水,另一种是定时工作模式主要应用在计时抽水。◆测试计划硬件测试:主要测试各部分硬件是否能正常工作,每部分通过简单程序来检测。软件测试:测试软件是否符合设计要求、是否存在BUG。

7.3单片机应用系统举例一、潜水泵自动控制保护器详细设设计◆硬件设设计▲主要元元器件件89C2051一片、、78L05一个、、LED3个、按按键二二个、、水位位检测测器三三个、、MOC3020一个、、变压压器一一个、、及电电阻、、电容容、三三极管管、灯灯等若若干。。▲LED工作原原理及及动态态显示示:本项目目采用用的是是共阳阳极的的3个个LED数码管管,要要点亮亮某个个数码码管的的某笔笔划,,则相相应的的数码码管阳阳极加加+5V电源,,相应应笔划划的阴阴极端端接低低电平平,本本方案案三个个数码码管阴阴极是是相连连的,,所以以在阳阳极必必须轮轮流有有效,,只要要时间间合理理,在在人的的视觉觉就会会看到到同时时亮的的结果果。7.3单片机机应用用系统统举例例一、潜潜水泵泵自动动控制制保护护器详细设设计▲原理图图7.3单片机机应用用系统统举例例一、潜潜水泵泵自动动控制制保护护器详细设设计◆软件设设计LED显示程程序LED0EQU41H;定义LED显示缓缓冲低低位单单元LED1EQU42H;LED2EQU43H;定义LED显示缓缓冲高高位单单元……LOOP:LCALLDISPLAY……SJMPLOOP……DISPLAY:PUSHACCMOVA,LED2LCALLDISP17.3单片机机应用用系统统举例例一、潜潜水泵泵自动动控制制保护护器CLRP3.2LCALLDEL1SETBP3.2MOVA,LED1LCALLDISP1CLRP3.3LCALLDEL1SETB P3.3MOVA,LED0LCALLDISP1CLRP3.4LCALLDEL1SETB P3.4POPACCRETDISP1:MOVDPTR,#DBBMOVCA,@A+DPTRMOVP1,ARETDEL1:MOVR3,#10DEL:MOV R4,#50DJNZ R4,$DJNZ R3,DELRET;数码管管字形码码DBB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H;0-6DB82H,0F8H,80H,90H;7-9END详细设计计◆软件设计计7.3单片机应应用系统统举例一、潜水水泵自动动控制保保护器任务描述述:本控制器器能根据据用户设设定的加加温温限限(最高高温度)),以及及加热时间、、冷却时时间,自自动调节节加热功功率,从从而达到到可调速速加热的目的的。总体设计计◆需求分析析▲需求获取取本项目最最初由湘湘潭大学学理化实实验室提提出需求求,在化化学实验验金属相相图实验验中,原原有的实实验仪((一台PC机、一台台加热炉炉、一台台测温仪仪)要做做一个完完整的实实验需要要四五个个小时以以上,并并且数据据要学生生自己记记录并自自己计算算和给制制图形,,往往几几个小时时不能完完成一个个实验,,为了解解决这个个问题,,提出开开发一种种新的实实验设备备,新的的实验仪仪(PC机一台台、两两台测测温仪仪,每每台测测温仪仪可以以接六六路温温度传传感器器,两两台加加热炉炉),,这样样一台台PC机可同同时采采集12路路数据据,整整个过过程由由PC机上软软件完完成,,不需需学生生记录录数据据和绘绘制图图形和和表格格,大大大提提高了了实验验速度度,实实验结结果更更准确确和直直观。。同时时一个个实验验室可可以省省下一一半PC机,节节约了了设备备成本本。本本项目目只是是该实实验仪仪中一一部分分,也也就是是加热热炉的的控制制部分分。▲设计开开发任任务书书本项目目开发发人员员如下下:项项目负负责人人一名名,软软件工工程师师四名名、硬硬件工工程师师一名名、结结构工工程师师一名名、技技术员员一名名、采采购员员一名名。其其中两两名软软件工工程师师负责责PC软件开开发、、一名名软件件工程程师负负责测测温仪仪软件件开发发、一一名软软件工工程师师负责责加热热炉软软件开开发。。7.3单片机机应用用系统统举例例二、可可调速速加热热控制制炉总体设设计◆方案设设计整个方方案在在这里里就不不详述述,这这里只只就加加热炉炉部分分进行行说明明,由由于一一台PC机同时时控制制两台台加热热仪和和两台台测温温仪,,所以以本台台都有有相应应地址址,与与PC机通讯讯采用用CAN总线,,地址址用24C01存储,,加温温速度度由PC机根据据当时时室温温发送送相应应加热热功率率百分分比来来控制制加热热炉。。加热热炉由由89C1051控制。。如接接收到到PC机发送送的功功率是是80,则则可通通过控控制加加热炉炉80%时时间打打开电电源,,20%时时间关关断电电源,,具体体通讯讯协议议读者者可以以自己己制订订,并并完整整好程程序,,并在在做实实验或或实训训时调调试。。◆测试计计划硬件测测试::主要要测试试各部部分硬硬件是是否能能正常常工作作,每每部分分通过过简单单程序序来检检测。。软件测测试::加热热炉在在不同同室温温下能能不能能在相相同时时间加加热到到指定定温度度。7.3单片机机应用用系统统举例例二、可可调速速加热热控制制炉详细设设计◆硬件设设计▲主要元元器件件89C2051一片、24C01、双向可可控硅硅等。。▲I2C总线原原理及及工作作时序序:引脚图图7.3单片机机应用用系统统举例例二、可可调速速加热热控制制炉读写命命令字字当前读读时序序7.3单片机机应用用系统统举例例二、可可调速速加热热控制制炉字节写写、页页写时时序7.3单片机机应用用系统统举例例二、可可调速速加热热控制制炉随机读时序序图7.3单片机应用用系统举例例二、可调速速加热控制制炉详细设计▲原理图7.3单片机应用用系统举例例二、可调速速加热控制制炉详细设计◆软件设计I2C总线的24C02读写程序::;**********************************************;*Title:AT24C02与51单片片机连接读读写程序*;*Date:2005.7.7*;*********************************************************;连线:SCL—P3.4,SDA——P3.5,WP——接地;(R3)=器件地址,,(R4)=片内字节地地址,;(R5)=连续读写字字节数,((R1)=欲读写数据据存放地址址指针;*********************************************************7.3单片机应用用系统举例例二、可调速速加热控制制炉SCLEQUP30SDAEQUP31;写24C02子程序I2C_WRITE:SETBSDASETBSCLCLRSDA;发开始信号号MOVA,R3;发器件地址址ACALL SEND;调发送单字字节子程序序MOVA,R4;送片内字节节地址ACALL SENDI2CW_AGAIN:MOVA,@R1ACALL SENDINCR1DJNZR5,I2CW_AGAIN ;连续写N个字节CLRSDA;SDA位置0,准准备送停止止信号ACALL DELAY;延时以满足足传输速率率要求SETBSCL;发送停止信信号ACALL DELAYSETBSDARETSEND:MOVR0,#08HI2CW_LOOP:CLRSCL;开始[信号号之后的]写地址操操;作,SCL清'0'RLCAMOVSDA,C7.3单片机应用用系统举例例二、可调速速加热控制制炉NOPSETBSCL;写完一位打打操作后,SCL置'1'ACALL DELAYDJNZR0,I2CW_LOOPCLRSCLCALLDELAYSETBSCL;ACKLP: MOV C,SDAJC ACKLP;判断应答到到否,未到到则等待CLRSCLRET;********************************;读24C02子程序I2C_READ:SETBSDASETBSCL7.3单片机应用用系统举例例二、可调速速加热控制制炉CLRSDA;发开始信号号MOVA,R3;发器件地址址ACALL SEND;调发送单字字节子程序序MOVA,R4;送

温馨提示

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

评论

0/150

提交评论