新闻banner
当前位置: 首 页 >> 新闻资讯>>技术资讯
03

模块化的编程方式已经成为单片机编程的重要方式

在单片机的运用中,编程是十分重要的技能环节。在不断的探究和开展中,模块化的编程办法现已成为单片机编程的重要办法。在模块化编程中,应考虑多个程序的结构对程序履行的影响,因而下面将剖析单片机的程序结构。
单片机的运用十分广泛,承当了许多职业的体系操控使命,单片机功用的完成首要取决于运用程序的操控。恰当的写作结构和办法已成为研讨的要点。


超低功耗mcu

一、单片机程序结构规划的特色

单片机的编程应从程序开发的言语下手,为不同的功用挑选不同的程序结构,然后为程序规划打下杰出的根底,因而如安在实际操作中挑选程序的结构形式就成了编程很重要。跟着计算机技能的老练和单片机技能的开展,提出了结构化的编程办法。它首要是将程序编写归入模块形式,运用结构标准化,模块化等办法来完成程序的编写,并运用模块化结构来简化程序的杂乱性。这种类型的规划是可重用和可移植的。简化程序的编写进程,进步模块的利用率。然后下降了犯错的可能性,进步了单片机的运用作用。依据不同的超低功耗MCU功用能够挑选不同的模块,每个模块的功用都能够杰出地运用到体系中,而且能够在特定的作业环境中处理特别的问题。一直合理地装备软件结构,理顺模块之间的联系,以便从微观的视点完成对编程进程和结构的操控。因而,完成了杂乱问题的简化,进步了单片机的编程功率,而且进步了处理杂乱问题的才干。

二、SCM开发言语挑选

由于C言语在运用方面的优势,因而被广泛用于单片机的编程中。快捷的运用程序库功用易于完成杂乱数据的结构。可是C言语无法在时序操控中取得优势,速度型算法不容易满意单片机的要求。可是,由于C言语已包含在编程范围内,因而其汇编混合编程模型现已能够协助补偿其言语的缺陷。跟着单片机调试技能的开展,单片机现已习惯了C言语程序操控,然后为编程供给了高档言语的可能性。

三、单片机编程的通用程序结构

为了便利单片机的编程,一般能够将其分为多种结构以习惯不同的功用要求。详细结构如下。

3.1根本程序结构

它的结构包含两部分:初始化程序和作业程序。上电后,初始化程序担任复位。首要履行初始化程序。该程序只需求在作业前履行一次即可。初始化程序运转以全面检测和初始化各种端口和变量,计时器,ADC等。如有必要,能够树立不同的初始化分支,能够检测和初始化不同的端子,并能够依据不同的条件挑选不同的初始化办法,例如冷发动和热发动选项。主程序是一个循环程序,履行单片机的作业内容,并完成特定功用,如检测,操控,通讯,人机交互等。每个功用都由子程序操控,主程序是调用这些程序以促进模块化编程和运用的指挥官。


3.2模块结构

在单片机程序中,主程序担任模块的调度,而完成该功用的子例程则被合理地调度。这时,预订程序便是模块。添加到此类模块的是某些功用。模块化程序结构能够促进程序多个功用的集成,即在不添加主程序难度的前提下添加或削减模块能够完成体系功用的改动。完成程序的优化,便于保护,下降错误率。

3.3模块操控机制

在方案主程序时,并非一切模块都适用,因而应在一段时间内对模块进行操控,而且并非一切模块都需求参加一切周期。或许某些模块的履行并不频频,只要在满意某些条件后才履行。为了处理这个问题,能够为模块设置一个标志。模块应在履行前判别自己的标志位。仅当标志位可用时,才干履行相关操作。假如标志位不可用,则应履行回来进程,而且不履行相应的模块功用。

3.4优先呼叫机制

调用模块时,主程序应具有不同的次序,由于模块操作的优先级将约束其运用。假如没有优先级约束,则某些重要模块将无法呼应或不及时。因而,主程序应该能够剖析和挑选调用中模块的优先级,并依据不同的处理事情来区别模块的优先级。查看模块的功用,优先级更高的模块,然后查询后续的功用模块和类比。假如呈现不可用状况,则履行新一轮检测,并发动优先级更高的模块。

3.5前后结构

前台和后台的结构是引入了中止机制,即依据实时事情和紧急状况进行区别对待,提出具有较高实时性的事情,让它们对中止作出呼应,以及具有较低实时性的事情。 -time和使命被合并到主程序中,例如显现改写,扫描等。构成被中止的前端和后端履行程序结构。前台和后台的程序应依据大多数使命的需求履行功用调度。留意正在运用的前台和后台使命的结构,并尽可能削减中止服务程序的履行时间。您能够在中止服务程序中设置一些标志,然后后台程序检测这些标志以进行进一步处理。这能够在很大程度上避免前台程序和后台程序抢占互相的处理器资源,然后导致某些低优先级的使命堵塞。现在,跟着单片机的开展,一些单片机的中止资源现已大大丰厚,一切使命都能够经过中止来完成。这样,咱们能够让中止接收一切作业并废弃后台程序,只保存必要的初始化程序即可。只需进入低功耗形式并等候中止以处理其他使命即可。


底部二维码1
手机扫一扫
关注我们微信公众号