电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPTX文档下载
分享到微信 分享到微博 分享到QQ空间

MSP430系列单片机系统工程设计与实践 教学课件 ppt 作者 谢楷 _ 1_第3章 单片机软件工程基础

  • 资源ID:89494173       资源大小:1.22MB        全文页数:82页
  • 资源格式: PPTX        下载积分:10金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要10金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

MSP430系列单片机系统工程设计与实践 教学课件 ppt 作者 谢楷 _ 1_第3章 单片机软件工程基础

09ho5,主编,第3章 单片机软件工程基础,3.1 前后台程序结构 3.2 状态机建模 3.3 事件触发程序结构,3.1 前后台程序结构,3.1.1 任务 3.1.2 实时性 3.1.3 前后台程序的编写原则 3.1.4 函数重入 3.1.5 临界代码 3.1.6 前后台程序结构的特点,3.1.1 任务,()单任务程序 如果整个处理器系统只实现一个单一功能,或者只处理一种事件,称为“单任务”程序。 ()轮询式多任务程序 在实际应用中,大多数的单片机系统至少包括信息获取、显示、人机交互、数据通信等功能,且要求这些功能同时进行,属于多任务程序。 ()前后台多任务程序 在大部分实际情况中,程序主循环一次的时间都较长(数毫秒至数秒)。,()单任务程序,()轮询式多任务程序,()前后台多任务程序,图3.1.1 一个前后台程序结构的例子,3.1.2 实时性,()实时性最高的事件 ()实时性较高的事件 (3)实时性较低的事件,()实时性最高的事件,它指对于要求零延迟、立即响应或立即动作的事件。例如高速波形的产生、波形采集触发、微秒级脉宽测量等场合,要求响应速度在数十至数百纳秒级,甚至小于单片机的一个指令执行周期。,()实时性较高的事件,对于允许数微秒至数十微秒延迟的事件,可以利用中断响应(前台)来处理。但要注意主循环(后台)中不能长时间关闭中断,否则仍会造成实时性下降。,(3)实时性较低的事件,1)对于允许数毫秒至数秒延迟的事件,可以在主程序中查询处理。 2)如果某事件虽然要求实时性较低,但本身出现的时间很短,小于一个循环周期,仍有可能会被漏掉。 3) 如果上述情况无法产生中断或标志位,可以使用定时中断查询事件,然后置标志位。 4) 如果在一个循环周期内,某事件会连续突发出现多次,对事件捕获要求实时性高,但对事件处理的实时性要求不高,可以利用中断获取事件信息,并用FIFO将事件信息存储起来,在主循环内将这些信息依次取出逐个处理。,3.1.3 前后台程序的编写原则,()消除阻塞 (2)节拍 ()尽量使用低CPU占用率的外设 ()使用缓冲区 ()时序程序设计,()消除阻塞,在前文中已经大量出现过“阻塞”这个词语,含义是长时间占用CPU资源。从前后台程序的结构中可以看出,它之所以可以实现多任务同时执行,本质是快速地依次循环执行各个任务。,(2)节拍,在前后台程序中,如果主循环的周期是固定的,对于定时、延时等与时间相关的任务来说,可以利用主循环内的计数来实现计时,仅在时间到达的时刻做相应处理,消除因等待而产生的阻塞。,()尽量使用低CPU占用率的外设,对于软件系统来说,为了让更多的任务能够同时进行,硬件上就应选择CPU占用率更低的方案。例如同样完成显示功能,用动态扫描LED所耗费的CPU资源就比静态显示要多。,图3.1.2 采用数组作为扫描显示的缓冲区,()使用缓冲区,图3.1.3 动态扫描的典型硬件电路,()使用缓冲区,图3.1.4 一个经典的键盘程序,()使用缓冲区,图3.1.5 采用定时中断读取键盘,()使用缓冲区,图3.1.6 采用FIFO作为键盘缓冲区,()使用缓冲区,()时序程序设计,时序的产生中间包含大量的延迟。例如先高电平0.1s再低电平0.2s。如果用软件延迟来实现电平变化之间的延迟,必然会阻塞CPU。,图3.1.7 步进电动机驱动的硬件电路与时序,()时序程序设计,3.1.4 函数重入,图3.1.8 非重入代码因中断造成的错误,3.1.4 函数重入,()决定函数可重入性的因素 ()避免函数重入性隐患的方法,()决定函数可重入性的因素,首先,若某函数对静态数据进行了赋值操作和访问,则它是不可重入的。 其次,涉及硬件设备操作的函数大部分都是不可重入的。 第三,函数重入性与C语言编译器有关。,()避免函数重入性隐患的方法,1)应尽量使用可重入函数。 2)在进入不可重入函数之前关闭中断,退出该函数之后再开中断。 3)采用双缓冲区结构。 4)采用信号量。,3.1.5 临界代码,(1)依靠软件产生时间严格时序的程序段 (2)共享资源互斥性造成的临界代码 (3)避免函数重入造成的临界代码 (4)CPU字长造成的临界代码 (5)临界代码保护的方法,(1)依靠软件产生时间严格时序的程序段,某些产生很短延迟的程序,可以直接用软件延迟完成。因为占用CPU很短,不会造成严重的阻塞。但此时一定要注意如果延迟过程被中断,产生的延迟将不准确。,例3.1.9 1-Wire总线时序规定:向1-Wire总线器件写一个字时,一字节由8bit构成,低位在先。每个比特发送时序如下:先拉低,保持115s;再根据该比特是1或者0输出高或低电平,保持60120s,再拉高至少1s(见图3.1.9)。为其编写代码,找出并保护临界代码区。,图3.1.9 1-Wire总线写1bit的时序,(2)共享资源互斥性造成的临界代码,涉及共享资源的访问操作,都属于临界代码。共享资源访问时需要被独占,避免数据破坏。程序中任何可被占用的实体都称为“资源”。,(3)避免函数重入造成的临界代码,在“函数重入”一节中,避免函数重入的方法之一是在不可重入函数开始之前关闭中断,之后开中断。对于后台任务和中断都要调用的不可重入函数来说,整个函数都是临界代码区。,(4)CPU字长造成的临界代码,MSP430单片机具有16位CPU内核。这说明它具有16位字长的处理能力,每条指令都可以处理16比特数据。,(5)临界代码保护的方法,第一种方法,也是最简单的方法,就是在上面各例中采用的用DINT()语句关闭中断,临界代码结束后用EINT()函数开启中断。 第二种方法,也是在嵌入式软件中最通用的方法。 第三种方法是关中断前将总中断允许控制位状态保存到一个变量里,然后再关中断保护临界代码,之后根据保存的控制字决定是否恢复中断。 第四种方法是用软件模拟堆栈的行为,将进入临界代码的次数和退出临界代码的次数进行统计,如果各临界代码之间有调用关系,则只对最外层的临界代码区进行中断开关操作。,3.1.6 前后台程序结构的特点,这种串行的顺序执行带了了许多优点: 首先,在后台循环中,一个任务执行完毕后才执行下一任务。 其次,在后台任务顺序执行的结构中,不会出现多个后台任务同时访问共享资源的情况。 第三,前后台程序的结构灵活,实现形式与实现手段多样,可以根据实际需要灵活地调整。,但这种灵活性也为前后台程序带来了众多的缺点: 首先,程序多任务的执行依靠每个任务的非阻塞性来保证,这要求编程者耗费大量的时间精力来消除阻塞,而且最终的代码的样子,可能与对任务的描述差异很大 其次,程序的健壮性及安全性没有保障。 第三,每个程序员的思路、实现方法、软件架构等各不相同,而前后台程序中软件实现方法是开放式的,并无统一的标准和方法。 第四,实际上,前后台系统的整体实时性比预计的要差。 第五,缺乏软件的描述手段。,3.1.6 前后台程序结构的特点,3.2 状态机建模,3.2.1 初识“状态机” 3.2.2 状态机模型的描述方法 3.2.3 通过状态转移图生成代码 3.2.4 状态机建模应用实例,3.2.1 初识“状态机”,()流程图的缺点 ()状态机建模的例子,()流程图的缺点,图3.2.1 在洗衣过程中插入对上盖的处理,()流程图的缺点,图3.2.2 电子表按键操作的流程图,()流程图的缺点,双色报警器。这是一种工业现场大量使用的简单报警指示装置,由一个报警输入(I/O口)、双色报警灯(红黄两色,I/O口控制)、以及一个确认按钮构成。三者之间的逻辑关系是: 1)当报警出现后,红灯亮。 2)报警自动消失后,黄灯亮,直到确认键按下后才灭。 3)当报警未消失时,按下确认键,黄灯亮,此后报警消失时报警灯自动灭。,图3.2.3 双色报警器的流程图,()流程图的缺点,()状态机建模的例子,图3.2.4 双色报警器,()状态机建模的例子,1) 在“正常状态”,如果出现“报警”事件,则系统变成“报警未确认”状态,同时亮红灯。 2) 在“报警未确认状态”,如果出现“报警撤销”事件,则系统变成“报警自行撤销”状态,同时亮黄灯。 3) 在“报警自行撤销”状态如果发生“确认”事件,则系统变成“正常”状态,报警灯灭。 4) 在“报警未确认”状态,如果发生“确认”事件,则系统变成“报警确认”状态,黄灯亮。 5) 在“报警确认”状态,如果发生“报警撤销”事件,则系统回到“正常状态”,报警灯灭。,图3.2.5 报警状态转移图,3.2.2 状态机模型的描述方法,()状态转移图 ()状态转移表(转移矩阵),()状态转移图,状态转移图又称状态跳转图,它用圆圈或圆角的矩形表示系统的各种状态,用一个带箭头的黑点表示初始状态;用有向箭头表示状态的状态转移(跳转)。,例3.2.1 以洗衣机控制逻辑为例,要求洗衣过程“先正转2s,再暂停1s,然后反转2s,再暂停1s,依次循环”。画出状态转移图。,图3.2.6 洗衣机控制程序的状态转移图,例3.2.2 某电子表具有两个按键A和B用于操作与设置,按键功能和操作方法如下。为该电子表的按键操作程序画出状态转移图,并写出代码。,图3.2.7 电子表程序的状态转移图,状态转移的规则不仅可以用图形来表示,还能以二维文本列表或矩阵方法来表示。,()状态转移表(转移矩阵),()状态转移表(转移矩阵),3.2.3 通过状态转移图生成代码,(1) 在状态中判断事件(事件查询) (2) 在事件中判断状态(事件触发),图3.2.9 将该状态机模型写成代码,(1) 在状态中判断事件(事件查询),(2) 在事件中判断状态(事件触发),另一种实现方法是在每个事件的中断(或查询到事件发生)函数内,判断当前状态,并根据当前状态执行不同的动作,再做相应的状态转移。,3.2.4 状态机建模应用实例,例3.2.3 在MSP430单片机上,P1.5、P1.6、P1.7口各接有一个按键(S1、S2、S3),按下为低电平。编写一个键盘程序。要求能够识别长、短按键并返回不同键值。当按键时间小于2s时,认为是一次短按键,按键时间大于2s后返回一次长键(0xC0+键值),之后每隔0.25s返回一次连续长按键(0x80+键值)。且要求键盘程序不阻塞CPU运行。,图3.2.10 长短键的状态机模型与时序图,先用语言描述按键过程状态与事件之间的关系: 1)在按键“未按下状态”时,若键被按下,按键状态变为“短按状态”。 2)在按键处于“短按状态”时,若键被释放,认为是一次短按键,短键的键值压入键盘缓冲区,并回到“未按下状态”。 3)在按键处于“短按状态”时,若超过2s,认为是一次长按键,“首次长键”的键值压入键盘缓冲区,并将按键状态变为“长按状态”。 4)在按键处于“长按状态”时,每当超过0.25s,认为是一次“连续长键”,长键的键值压入键盘缓冲区,但状态不改变。 5)在键盘处于“长按状态”时,若键被释放,回到“未按下状态”。,例3.2.4 增量式旋转编码器(见图3.2.12)是一种控制系统中常见的转角测量装置,常被安装在各种旋转轴末端,以测量轴转角。它输出如图3.2.11所示的两路相位差90°的脉冲(以下简称A路、B路)指示位置。旋转编码器每转过一定角度,就输出一个脉冲。当旋转编码器顺时针旋转时,A路脉冲超前B路脉冲90°;当旋转编码器逆时针旋转时,A路脉冲滞后B路脉冲90°。计算脉冲个数可以获知转角,根据相位差可以知道旋转方向,从而计算出旋转轴相对角度的变化。,图3.2.11 旋转编码器的输出时序图,图3.2.12 旋转编码器,图3.2.13 旋转编码器4细分原理,图3.2.14 旋转编码器4细分的状态转移图,图3.2.15 旋转编码器与MSP430单片机的连接,例3.2.5 在MSP430F425单片机上,P1.3接有一只红色LED,P1.1接有一只绿色LED,均为高电平点亮。要求串口收到“red”字符串时,点亮红色LED;收到“green”字符串时点亮绿色LED。收到“black”字符串时

注意事项

本文(MSP430系列单片机系统工程设计与实践 教学课件 ppt 作者 谢楷 _ 1_第3章 单片机软件工程基础)为本站会员(E****)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

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




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.