




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、补充: 软件系统设计概述1.开发环境及编程语言2.软件系统结构分析3.软件系统的规划4.软件设计步骤5.实例分析 智能电子系统已不再是简单的硬件实体,而是硬件、软件相结合,软件决定系统智能的高低。智能电子系统中软件的主要功能智能电子系统中软件的主要功能 采集信息采集信息 与外界对话与外界对话 记忆信息记忆信息 处理信息处理信息 控制功能控制功能 自我测试自我测试 自补偿自适应自补偿自适应/自校正自学习自校正自学习一.软件开发环境及编程语言1.开发环境选择开发环境选择A.裸机环境 所有程序都必须由开发者来设计所有程序都必须由开发者来设计 B.操作系统环境 只须完成系统各项任务的程序设计,而任务的
2、只须完成系统各项任务的程序设计,而任务的管理调度等基本操作由具有管理调度等基本操作由具有“实时多任务操作实时多任务操作系统系统”内核的单片机操作系统来完成内核的单片机操作系统来完成2.编程语言选择编程语言选择A.汇编语言汇编语言 必须对单片机的内部资源和外围电路非常熟悉,尤其必须对单片机的内部资源和外围电路非常熟悉,尤其是对指令系统的使用必须非常熟练是对指令系统的使用必须非常熟练 主要适用于功能比较简单的中小型应用系统主要适用于功能比较简单的中小型应用系统 B. C语言语言 只需对单片机的内部结构基本了解,对外围电路比较只需对单片机的内部结构基本了解,对外围电路比较熟悉,而对指令系统则不必非常
3、熟悉。熟悉,而对指令系统则不必非常熟悉。 开发环境为基于操作系统编程开发环境为基于操作系统编程 C.混合编程混合编程 在一些对时序要求非常苛刻或对运行效率要求非常高在一些对时序要求非常苛刻或对运行效率要求非常高的场合,单纯采用的场合,单纯采用C语言编程也有难以完成,只有汇编语言编程也有难以完成,只有汇编语言和语言和C混合编程才能很好胜任。混合编程才能很好胜任。 1.1.层次结构层次结构(一完整软件系统是由若干程序模块组成的一完整软件系统是由若干程序模块组成的 )A.上层模块上层模块(主程序主程序+中断子程序中断子程序) 程序在系统上电时自动执行,最后必定进入一个无限循程序在系统上电时自动执行,
4、最后必定进入一个无限循环。各类中断子程序在满足中断条件时自动执行,最后必定环。各类中断子程序在满足中断条件时自动执行,最后必定执行中断返回指令。由于中断的发生是随机的,其返回地址执行中断返回指令。由于中断的发生是随机的,其返回地址是被中断打断的地方,通常不是固定的地址。是被中断打断的地方,通常不是固定的地址。B.下层模块下层模块(普通子程序普通子程序) 不能主动执行,只能在被动调用不能主动执行,只能在被动调用,最后必定执行返回指令最后必定执行返回指令 二.软件系统的结构分析2.功能结构功能结构(软件系统设计的主要内容有三部分组成软件系统设计的主要内容有三部分组成 )功能性设计功能性设计可靠性设
5、计可靠性设计运行管理设计运行管理设计完成各种预定功能完成各种预定功能常用有常用有11个功能模块个功能模块电源管理,程序在线升级电源管理,程序在线升级常用功能模块初始化初始化监测监测控制决策控制决策时钟时钟自检模块自检模块信息信息采集采集数据处理数据处理显示打印显示打印信号输出信号输出通讯通讯(1)自检模块: 完成对硬件系统的检查,发现存在的故障,避免系统完成对硬件系统的检查,发现存在的故障,避免系统“带病带病运行运行”。该模块通常包括程序存储器自检、数据存储器自检、。该模块通常包括程序存储器自检、数据存储器自检、输入通道自检、输出通道自检和外部设备自检等。输入通道自检、输出通道自检和外部设备自
6、检等。 (2)初始化模块: 完成系统硬件的初始设置和软件系统中各个变量默认值的设完成系统硬件的初始设置和软件系统中各个变量默认值的设置。该模块通常包括外围芯片初始化、片内特殊功能寄存器置。该模块通常包括外围芯片初始化、片内特殊功能寄存器的初始化的初始化(如定时器和中断控制寄存器等如定时器和中断控制寄存器等)、堆栈指针初始化、堆栈指针初始化、全局变量初始化、全局标志初始化、系统时钟初始化和数据全局变量初始化、全局标志初始化、系统时钟初始化和数据缓冲区初始化等。该模块为系统建立一个稳定和可预知的初缓冲区初始化等。该模块为系统建立一个稳定和可预知的初始状态,任何系统在进入工作状态之前都必须执行该模块
7、。始状态,任何系统在进入工作状态之前都必须执行该模块。常用功能模块(3)时钟模块:时钟模块: 完成时钟系统的设置和运行,为系统其它模块提供完成时钟系统的设置和运行,为系统其它模块提供时间数据。系统时钟的实现方法有两种:一种是采时间数据。系统时钟的实现方法有两种:一种是采用时钟芯片来实现用时钟芯片来实现(硬件时钟硬件时钟);另一种是采用定时;另一种是采用定时器来实现器来实现(软件时钟软件时钟)。时钟系统的主要指标是最小。时钟系统的主要指标是最小时间分辨率和最大计时范围,其指标必须满足系统时间分辨率和最大计时范围,其指标必须满足系统实时控制的需要。实时控制的需要。 (4)监控模块:监控模块: 通过
8、获取键盘信息,解释并执行之,完成操作者对通过获取键盘信息,解释并执行之,完成操作者对系统的控制。该模块实现了系统的可操作性。系统的控制。该模块实现了系统的可操作性。(5)信息采集模块:信息采集模块:采集系统运行所需要的外采集系统运行所需要的外部信息,通常包括采集各种传感器输出的模部信息,通常包括采集各种传感器输出的模拟信息和各种开关量输出的数字信息,其中拟信息和各种开关量输出的数字信息,其中模拟信息的采集由模拟信息的采集由AD转换来完成。该模转换来完成。该模块执行的实时性体现了系统对外部信息变化块执行的实时性体现了系统对外部信息变化的敏感程度。的敏感程度。 (6)数据处理模块:数据处理模块:按
9、预定的算法将采集到的按预定的算法将采集到的信息进行加工处理,得到所需的结果。该模信息进行加工处理,得到所需的结果。该模块设计的核心问题是数据类型的选择和算法块设计的核心问题是数据类型的选择和算法的选择,合理的选择将大大提高数据处理的的选择,合理的选择将大大提高数据处理的效率。效率。(7)控制决策模块:控制决策模块:根据数据处理的结果和系根据数据处理的结果和系统的状态,决定系统应该采取的运行策略。统的状态,决定系统应该采取的运行策略。该模块的设计与控制决策算法有关,通常包该模块的设计与控制决策算法有关,通常包含人工智能算法。含人工智能算法。 (8)显示打印模块:显示打印模块:系统将各种信息通过显
10、示系统将各种信息通过显示设备或打印设备输出,供操作者使用。该模设备或打印设备输出,供操作者使用。该模块设计中常常需要处理数据格式转换和排版块设计中常常需要处理数据格式转换和排版格式问题。格式问题。 (9)信号输出模块:信号输出模块:根据控制决策模块的结论,根据控制决策模块的结论,输出对应的模拟信号和数字信号,对控制对输出对应的模拟信号和数字信号,对控制对象进行操作,使其按预定要求运行,其中模象进行操作,使其按预定要求运行,其中模拟信息的输出由拟信息的输出由DA转换来完成。转换来完成。 (10)通信模块:通信模块:完成不同设备之间的信息传输完成不同设备之间的信息传输和交换,该模块设计中的核心问题
11、是通信协和交换,该模块设计中的核心问题是通信协议的制定。议的制定。 (11)其它模块:其它模块:完成某个特定系统所特有的功完成某个特定系统所特有的功能,如电源管理和程序升级管理等。能,如电源管理和程序升级管理等。 软件系统的规划就是将各个功能模块合理地组织到软件系统的规划就是将各个功能模块合理地组织到主程序和各个中断子程序中去。因为每个功能模块的实主程序和各个中断子程序中去。因为每个功能模块的实现都在一定程度上与硬件电路有关,因此,功能模块的现都在一定程度上与硬件电路有关,因此,功能模块的安排方式并不唯一。安排方式并不唯一。(1)自检模块:自检模块: A.通常安排在系统上电时首先执行,即在主通
12、常安排在系统上电时首先执行,即在主程序的前端调用一次自检模块程序的前端调用一次自检模块 B.在时钟模块的配合下进行定时自检,即每在时钟模块的配合下进行定时自检,即每相隔规定时间调用一次自检模块。相隔规定时间调用一次自检模块。 C.通过按键操作临时调用一次自检模块。通过按键操作临时调用一次自检模块。 三.软件系统规划(2)初始化模块初始化模块 安排在上电自检之后执行,即主程序进入无限循环之前进安排在上电自检之后执行,即主程序进入无限循环之前进行。行。 (3)时钟模块时钟模块 A.当采用硬件时钟时,如果时钟芯片可以输出时钟脉冲,当采用硬件时钟时,如果时钟芯片可以输出时钟脉冲,触发外部中断,则时钟模
13、块安排在这个外部中断子程序里;触发外部中断,则时钟模块安排在这个外部中断子程序里; B.如果时钟芯片不输出时钟脉冲,则应用软件需要时钟信如果时钟芯片不输出时钟脉冲,则应用软件需要时钟信息时直接从时钟芯片读取。息时直接从时钟芯片读取。 C.当采用软件时钟时,时钟模块安排在定时中断子程序之当采用软件时钟时,时钟模块安排在定时中断子程序之中。中。 (4)监控模块:监控模块:监控模块的安排取决于键盘信息的获取方式。监控模块的安排取决于键盘信息的获取方式。 A.采用查询方式读键时,监控模块安排在主程序无限循环之采用查询方式读键时,监控模块安排在主程序无限循环之中;中; B.采用键盘中断方式读键时,监控模
14、块安排在键盘中断子程采用键盘中断方式读键时,监控模块安排在键盘中断子程序之中;序之中; C.采用定时查询方式读键时,监控模块安排在定时中断子程采用定时查询方式读键时,监控模块安排在定时中断子程序之中。序之中。 (5)信息采集模块信息采集模块(与信息采集的方式有关) A.对于某些突发事件的采集,系统处于被动状态,一对于某些突发事件的采集,系统处于被动状态,一般通过事件中断般通过事件中断(外部中断或计数中断外部中断或计数中断)来采集。来采集。 B.对于常规信息的采集,系统处于主动状态,一般按对于常规信息的采集,系统处于主动状态,一般按规定的时间间隔来采集。这时,信息采集模块可安排规定的时间间隔来采
15、集。这时,信息采集模块可安排在时钟模块之后,根据时钟信息来启动信息采集模块。在时钟模块之后,根据时钟信息来启动信息采集模块。 (6)数据处理模块数据处理模块(一般安排在信息采集模块之后) 若该模块较复杂,消耗若该模块较复杂,消耗CPU的时间较长,则可安排在的时间较长,则可安排在主程序之中运行,信息采集模块可通过软件标志来通主程序之中运行,信息采集模块可通过软件标志来通知数据处理模块。知数据处理模块。 (7)控制决策模块:控制决策模块:一般安排在数据处理模块之后。一般安排在数据处理模块之后。 (8)显示打印模块:显示打印模块:一般安排在监控模块之后,以便及一般安排在监控模块之后,以便及时反映系统
16、信息与操作结果。时反映系统信息与操作结果。 (9)信号输出模块:信号输出模块:一般安排在显示打印和控制决策模一般安排在显示打印和控制决策模块之后。块之后。(10)通信模块:通信模块:通信模块一般包含接收程序和发送程序两部分。通信模块一般包含接收程序和发送程序两部分。A.接收程序处于被动工作方式,故一般安排在通信中断接收程序处于被动工作方式,故一般安排在通信中断子程序之中。子程序之中。B.发送程序包含启动部分发送程序包含启动部分(初始化通信部件和发送第一个初始化通信部件和发送第一个字节字节)和发送工作部分和发送工作部分(发送剩余字节发送剩余字节)。 人工启动时,发送程序的启动部分安排在监控模块中
17、;人工启动时,发送程序的启动部分安排在监控模块中;自动启动时,发送程序的启动部分安排在相应的模块之自动启动时,发送程序的启动部分安排在相应的模块之后。后。 发送程序发送程序 用查询方式时,发送程序的工作部分直接用查询方式时,发送程序的工作部分直接安排在发送程序的启动部分之后;用中断方式时,发送安排在发送程序的启动部分之后;用中断方式时,发送程序的工作部分安排在通信中断子程序之中。程序的工作部分安排在通信中断子程序之中。 为提高为提高CPU的效率,建议将发送程序的工作部分安排在通信中的效率,建议将发送程序的工作部分安排在通信中断子程序之中。断子程序之中。 四.软件系统设计步骤设计和调试下层程序(
18、硬件接口模块)设计和调试下层程序(硬件接口模块)设计上层程序(软件系统框架)设计上层程序(软件系统框架)设计调试中层程序(功能模块)设计调试中层程序(功能模块)整机调试整机调试 AD,D/A转换子程序、采集按键信息转换子程序、采集按键信息的键盘扫描子程序和显示部件驱动子程序等的键盘扫描子程序和显示部件驱动子程序等 1,定义部分定义部分2.向量部分向量部分3.主程序主程序4.若干中断子程序若干中断子程序5.若干功能模块若干功能模块6.若干硬件接口模块若干硬件接口模块7.其他低级子程序其他低级子程序8.常量表格常量表格(1)定义部分:定义变量和分配资源。定义部分:定义变量和分配资源。 为了得到和输
19、出数据,必须为了得到和输出数据,必须定义相关的输入输定义相关的输入输出硬件设备的地址出硬件设备的地址;为了保存数据,必须;为了保存数据,必须定义具有定义具有对应类型的变量或数组对应类型的变量或数组;为了完成数据变换,还需;为了完成数据变换,还需要为相关数据处理算法要为相关数据处理算法配置若干标志配置若干标志(位变量位变量)。 变量定义过程也就是系统资源变量定义过程也就是系统资源(存储器存储器)的分配的分配过程:过程:字节型变量用字节型变量用DATA伪指令来定义和分配储伪指令来定义和分配储存单元;位变量用存单元;位变量用BIT伪指令来定义和分配储存单伪指令来定义和分配储存单元;地址常量和其它常量
20、用元;地址常量和其它常量用EQU伪指令来定义;对伪指令来定义;对于数组或数据块,用于数组或数据块,用EQU伪指令来定义其起始地址。伪指令来定义其起始地址。 在建立软件系统框架时,先定义好外部部件在建立软件系统框架时,先定义好外部部件的地址、主要的变量和数据块首址,并的地址、主要的变量和数据块首址,并留有充分余留有充分余地地,随着程序设计的深入,通常需要补充新的变量,随着程序设计的深入,通常需要补充新的变量和标志。和标志。(2)向量部分:向量部分:程序储存器的起始部分为向量区,用程序储存器的起始部分为向量区,用来存放若干引导指令来存放若干引导指令(LJMP),指向主程序和各个中,指向主程序和各个
21、中断子程序的入口标号。断子程序的入口标号。(3)主程序:主程序:至少包含至少包含自检模块自检模块、初始化模块初始化模块和和无限循无限循环环3部分,在无限循环中可以调用某些功能模块。建议部分,在无限循环中可以调用某些功能模块。建议将无限循环设计为休眠循环,将各种功能模块合理分将无限循环设计为休眠循环,将各种功能模块合理分配到各个中断子程序里。配到各个中断子程序里。 (4)若干中断子程序:若干中断子程序:中断子程序的数量根据系统需要中断子程序的数量根据系统需要来决定。根据软件系统规划的结果,每个中断子程序来决定。根据软件系统规划的结果,每个中断子程序将包含若干功能模块。在建立软件系统框架时,中断将
22、包含若干功能模块。在建立软件系统框架时,中断子程序的内容尚未编写,故中断子程序还是空的,它子程序的内容尚未编写,故中断子程序还是空的,它由一个标号由一个标号(中断于程序名中断于程序名)和一个中断返回指令组成,和一个中断返回指令组成,如串行中断子程序如串行中断子程序 (5)若干功能模块:若干功能模块:完成各种功能的子程序。若某个功能模完成各种功能的子程序。若某个功能模块比较简单块比较简单(程序简短程序简短),且只在一个地方被调用,则可以直,且只在一个地方被调用,则可以直接嵌入调用处,不必编写成为子程序接嵌入调用处,不必编写成为子程序(如初始化模块通常直如初始化模块通常直接写入主程序之中接写入主程
23、序之中);否则,尽可能以子程序的形式来编写;否则,尽可能以子程序的形式来编写功能模块,使软件系统具有功能模块,使软件系统具有“模块化模块化”的风格,便于调试的风格,便于调试和移植。在建立软件系统框架时,对于尚未设计的模块均和移植。在建立软件系统框架时,对于尚未设计的模块均以空子程序表示,它由一个标号以空子程序表示,它由一个标号(子程序名子程序名)和一个返回指令和一个返回指令组成。组成。(6)若干硬件接口模块:若干硬件接口模块:完成信息采集、键盘扫描、显示完成信息采集、键盘扫描、显示驱动和控制输出等功能。这部分模块在此之前已经完成驱动和控制输出等功能。这部分模块在此之前已经完成调试,直接包含到软
24、件系统框架之中。调试,直接包含到软件系统框架之中。(7)其它低级子程序:其它低级子程序:完成某些基本变换和运算的子程序,完成某些基本变换和运算的子程序,通常可以在标准子程序库中选取,如数制转换和数学运通常可以在标准子程序库中选取,如数制转换和数学运算子程序等。算子程序等。 (8)常量表格:常量表格:如数码管的笔形表、系统参数表等。表格如数码管的笔形表、系统参数表等。表格由标号由标号(表格名称表格名称)和和DB伪指令来构建。伪指令来构建。五、实例分析五、实例分析 配料控制仪控制一个配料系统,将配料控制仪控制一个配料系统,将3种原料按配方要求的比例种原料按配方要求的比例进行混合。为提高效率,进行混
25、合。为提高效率,3个电子秤同时进行工作。如图所示,个电子秤同时进行工作。如图所示,3种种原料分别装入原料分别装入3个原料仓,原料仓的下端有电磁阀们,可控制原料个原料仓,原料仓的下端有电磁阀们,可控制原料的加料过程。的加料过程。3个电子秤分别测量个电子秤分别测量3个料斗中原料的质量,当达到配个料斗中原料的质量,当达到配方要求时即停止加料。另外,方要求时即停止加料。另外,3个料斗的下端也有电磁阀门,阀门个料斗的下端也有电磁阀门,阀门打开后即可使原料进入混合容器中,完成一次配料过程。该系统有打开后即可使原料进入混合容器中,完成一次配料过程。该系统有如下功能:如下功能:v可以输入可以输入3种原料配方和
26、配料次数等工作参数;种原料配方和配料次数等工作参数;v可以人工控制配料过程,也可以启动可以人工控制配料过程,也可以启动“自动配料自动配料”功能;功能;v3个电子秤可以同时工作,且控制精度满足要求;个电子秤可以同时工作,且控制精度满足要求;v能够实时显示系统的各种数据;能够实时显示系统的各种数据;v能够与计算机通信,接收计算机的控制指令和上传配料过程信息。能够与计算机通信,接收计算机的控制指令和上传配料过程信息。原料原料1原料原料2原料原料3料斗料斗1料斗料斗2料斗料斗3电子秤电子秤1电子秤电子秤2电子秤电子秤3混合容器混合容器配料装置示意图:配料装置示意图:一、硬件系统概述一、硬件系统概述由于系统需要处理的数据比较少,由于系统需要处理的数据比较少,CPU可采用普通的可采用普通的89C51,同时同时也不需要扩展也不需要扩展RAM。键盘部件用来输入操作者的控制命令和技术键盘部件用来输入操作者的控制命令和技术参数,显示部件用来显示参数,显示部件用来显示3个电子秤的数据和其它数据。个电子秤
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 购房定金合同的法律要求
- 肉牛饲养与养殖技术培训与实践试题考核试卷
- 拍卖事件安排协议
- 聚戊二酸酯纤维单体制造考核试卷
- 气道异物卡喉护理查房
- 纺织品设计原理考核试卷
- 生态恢复工程项目监测与评价考核试卷
- 纸张加工中的涂布工艺对环境的影响考核试卷
- 染整工艺在航空航天纺织品中的应用与挑战考核试卷
- 绝缘材料在食品加工设备绝缘处理的考核试卷
- (二模)济宁市2025年4月高考模拟考试地理试卷
- 首都医科大学附属北京安贞医院招聘考试真题2024
- 抽化粪池合同协议
- 食品安全自查、从业人员健康管理、进货查验记录、食品安全事故处置等保证食品安全的规章制度
- 物理实验通知单记录单初二上
- 钥匙移交清单
- DB11-T211-2017园林绿化用植物材料木本苗
- 关于完善和落实罪犯互监制度的思考
- GB∕T 40501-2021 轻型汽车操纵稳定性试验通用条件
- 认识浮力+阿基米德原理
- 防止电力生产重大事故地二十五项反措
评论
0/150
提交评论