曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機(jī)的程序結(jié)構(gòu)設(shè)計(jì)

姚小熊27 ? 來源:宇凡微 ? 作者:宇凡微 ? 2020-10-14 12:05 ? 次閱讀

單片機(jī)的應(yīng)用中,編程是非常重要的技術(shù)環(huán)節(jié)。在不斷的探索和發(fā)展中,模塊化的編程方式已經(jīng)成為單片機(jī)編程的重要方式。在模塊化編程中,應(yīng)考慮多個(gè)程序的結(jié)構(gòu)對程序執(zhí)行的影響,因此下面將分析單片機(jī)的程序結(jié)構(gòu)。

單片機(jī)的應(yīng)用非常廣泛,承擔(dān)了許多行業(yè)的系統(tǒng)控制任務(wù),單片機(jī)功能的實(shí)現(xiàn)主要取決于應(yīng)用程序的控制。適當(dāng)?shù)膶懽鹘Y(jié)構(gòu)和方法已成為研究的重點(diǎn)。

一、單片機(jī)程序結(jié)構(gòu)設(shè)計(jì)的特點(diǎn)

單片機(jī)的編程應(yīng)從程序開發(fā)的語言入手,為不同的功能選擇不同的程序結(jié)構(gòu),從而為程序設(shè)計(jì)打下良好的基礎(chǔ),因此如何在實(shí)際操作中選擇程序的結(jié)構(gòu)模式就成了編程很重要。隨著計(jì)算機(jī)技術(shù)的成熟和單片機(jī)技術(shù)的發(fā)展,提出了結(jié)構(gòu)化的編程方法。它主要是將程序編寫納入模塊模式,使用結(jié)構(gòu)標(biāo)準(zhǔn)化,模塊化等方式來實(shí)現(xiàn)程序的編寫,并使用模塊化結(jié)構(gòu)來簡化程序的復(fù)雜性。這種類型的設(shè)計(jì)是可重用和可移植的。簡化程序的編寫過程,提高模塊的利用率。從而降低了出錯的可能性,提高了單片機(jī)的應(yīng)用效果。根據(jù)不同的MCU功能可以選擇不同的模塊,每個(gè)模塊的功能都可以突出地應(yīng)用到系統(tǒng)中,并且可以在特定的工作環(huán)境中解決特殊的問題。始終合理地配置軟件結(jié)構(gòu),理順模塊之間的關(guān)系,以便從宏觀的角度完成對編程過程和結(jié)構(gòu)的控制。因此,實(shí)現(xiàn)了復(fù)雜問題的簡化,提高了單片機(jī)的編程效率,并且提高了解決復(fù)雜問題的能力。

二、SCM開發(fā)語言選擇

由于C語言在應(yīng)用方面的優(yōu)勢,因此被廣泛用于單片機(jī)的編程中。便捷的應(yīng)用程序庫功能易于實(shí)現(xiàn)復(fù)雜數(shù)據(jù)的結(jié)構(gòu)。但是C語言無法在時(shí)序控制中獲得優(yōu)勢,速度型算法不容易滿足單片機(jī)的要求。但是,由于C語言已包含在編程范圍內(nèi),因此其匯編混合編程模型已經(jīng)可以幫助彌補(bǔ)其語言的缺點(diǎn)。隨著單片機(jī)調(diào)試技術(shù)的發(fā)展,單片機(jī)已經(jīng)適應(yīng)了C語言程序控制,從而為編程提供了高級語言的可能性。

三、單片機(jī)編程的通用程序結(jié)構(gòu)

為了方便單片機(jī)的編程,通??梢詫⑵浞譃槎喾N結(jié)構(gòu)以適應(yīng)不同的功能要求。具體結(jié)構(gòu)如下。

3.1基本程序結(jié)構(gòu)

它的結(jié)構(gòu)包括兩部分:初始化程序和工作程序。上電后,初始化程序負(fù)責(zé)復(fù)位。首先執(zhí)行初始化程序。該程序只需要在工作前執(zhí)行一次即可。初始化程序運(yùn)行以全面檢測和初始化各種端口和變量,計(jì)時(shí)器,ADC等。如有必要,可以建立不同的初始化分支,可以檢測和初始化不同的端子,并可以根據(jù)不同的條件選擇不同的初始化方法,例如冷啟動和熱啟動選項(xiàng)。主程序是一個(gè)循環(huán)程序,執(zhí)行單片機(jī)的工作內(nèi)容,并實(shí)現(xiàn)特定功能,如檢測,控制,通訊,人機(jī)交互等。每個(gè)功能都由子程序控制,主程序是調(diào)用這些程序以促進(jìn)模塊化編程和應(yīng)用的指揮官。

3.2模塊結(jié)構(gòu)

在單片機(jī)程序中,主程序負(fù)責(zé)模塊的調(diào)度,而實(shí)現(xiàn)該功能的子例程則被合理地調(diào)度。這時(shí),預(yù)定程序就是模塊。添加到此類模塊的是某些功能。模塊化程序結(jié)構(gòu)可以促進(jìn)程序多個(gè)功能的集成,即在不增加主程序難度的前提下增加或減少模塊可以實(shí)現(xiàn)系統(tǒng)功能的改變。實(shí)現(xiàn)程序的優(yōu)化,便于維護(hù),降低錯誤率。

3.3模塊控制機(jī)制

在計(jì)劃主程序時(shí),并非所有模塊都適用,因此應(yīng)在一段時(shí)間內(nèi)對模塊進(jìn)行控制,并且并非所有模塊都需要參與所有周期。或者某些模塊的執(zhí)行并不頻繁,只有在滿足某些條件后才執(zhí)行。為了解決這個(gè)問題,可以為模塊設(shè)置一個(gè)標(biāo)志。模塊應(yīng)在執(zhí)行前判斷自己的標(biāo)志位。僅當(dāng)標(biāo)志位可用時(shí),才能執(zhí)行相關(guān)操作。如果標(biāo)志位不可用,則應(yīng)執(zhí)行返回過程,并且不執(zhí)行相應(yīng)的模塊功能。

3.4優(yōu)先呼叫機(jī)制

調(diào)用模塊時(shí),主程序應(yīng)具有不同的順序,因?yàn)槟K操作的優(yōu)先級將限制其應(yīng)用。如果沒有優(yōu)先級限制,則某些重要模塊將無法響應(yīng)或不及時(shí)。因此,主程序應(yīng)該能夠分析和選擇調(diào)用中模塊的優(yōu)先級,并根據(jù)不同的處理事件來區(qū)分模塊的優(yōu)先級。檢查模塊的功能,優(yōu)先級更高的模塊,然后查詢后續(xù)的功能模塊和類比。如果出現(xiàn)不可用情況,則執(zhí)行新一輪檢測,并啟動優(yōu)先級更高的模塊。

3.5前后結(jié)構(gòu)

前臺和后臺的結(jié)構(gòu)是引入了中斷機(jī)制,即根據(jù)實(shí)時(shí)事件和緊急情況進(jìn)行區(qū)別對待,提出具有較高實(shí)時(shí)性的事件,讓它們對中斷作出響應(yīng),以及具有較低實(shí)時(shí)性的事件。 -time和任務(wù)被合并到主程序中,例如顯示刷新,掃描等。形成被中斷的前端和后端執(zhí)行程序結(jié)構(gòu)。前臺和后臺的程序應(yīng)根據(jù)大多數(shù)任務(wù)的需要執(zhí)行功能調(diào)度。注意正在使用的前臺和后臺任務(wù)的結(jié)構(gòu),并盡可能減少中斷服務(wù)程序的執(zhí)行時(shí)間。您可以在中斷服務(wù)程序中設(shè)置一些標(biāo)志,然后后臺程序檢測這些標(biāo)志以進(jìn)行進(jìn)一步處理。這可以在很大程度上防止前臺程序和后臺程序搶占彼此的處理器資源,從而導(dǎo)致某些低優(yōu)先級的任務(wù)阻塞。目前,隨著單片機(jī)的發(fā)展,一些單片機(jī)的中斷資源已經(jīng)大大豐富,所有任務(wù)都可以通過中斷來實(shí)現(xiàn)。這樣,我們可以讓中斷接管所有工作并廢除后臺程序,只保留必要的初始化程序即可。只需進(jìn)入低功耗模式并等待中斷以處理其他任務(wù)即可。
責(zé)任編輯:YYX

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6060

    文章

    44835

    瀏覽量

    645251
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3674

    瀏覽量

    94742
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3817

    瀏覽量

    82239
收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    PIC單片機(jī)程序設(shè)計(jì)的基本結(jié)構(gòu)框架

    為了快速掌握PIC單片機(jī)程序的基本結(jié)構(gòu),這里給出一個(gè)典型的程序結(jié)構(gòu)框架。建立源程序時(shí)首先用偽指令TITLE提供
    發(fā)表于 11-04 17:18 ?1665次閱讀

    操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

    操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì)   操作系統(tǒng)有多種實(shí)現(xiàn)方法與設(shè)計(jì)思路,下面僅選取最有代表性的三種做一簡單的敘述。   1.整體式系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 這是最常用的一種組織方式,它常被譽(yù)為“大雜燴”,也可說,整體式系統(tǒng)結(jié)構(gòu)
    發(fā)表于 09-13 10:10

    【每周一練】 第二章 串口通信程序結(jié)構(gòu)設(shè)計(jì)

    第二章 串口通信程序結(jié)構(gòu)設(shè)計(jì)/*更新中。。。。。。*/2.1 半工通信程序結(jié)構(gòu)2.2 雙工通信程序結(jié)構(gòu)2.3 ASCII數(shù)據(jù)傳輸2.4 HEX數(shù)據(jù)傳輸2.5 Unicode碼數(shù)據(jù)傳輸
    發(fā)表于 02-17 20:23

    軟件結(jié)構(gòu)設(shè)計(jì)

    軟件結(jié)構(gòu)設(shè)計(jì),,
    發(fā)表于 09-26 13:55

    單片機(jī)STM32入門——(1)程序結(jié)構(gòu) 精選資料推薦

    單片機(jī)之STM32入門——(1)程序結(jié)構(gòu)程序結(jié)構(gòu)1.初識單片機(jī)2.GPIO的使用3.程序結(jié)構(gòu)程序結(jié)構(gòu)
    發(fā)表于 08-24 07:03

    如何對單片機(jī)程序結(jié)構(gòu)進(jìn)行優(yōu)化

    如何對單片機(jī)程序結(jié)構(gòu)進(jìn)行優(yōu)化?如何對單片機(jī)代碼進(jìn)行優(yōu)化?
    發(fā)表于 09-22 09:07

    BUCK降壓拓?fù)?b class='flag-5'>結(jié)構(gòu)設(shè)計(jì)

    ?感謝閱讀本文,在接下來很長的一段時(shí)間里,我將陸續(xù)分享項(xiàng)目實(shí)戰(zhàn)經(jīng)驗(yàn)。從電源、單片機(jī)、晶體管、驅(qū)動電路、顯示電路、有線通訊、無線通信、傳感器、原理圖設(shè)計(jì)、PCB設(shè)計(jì)、軟件設(shè)計(jì)、上位機(jī)等,給新手綜合學(xué)習(xí)
    發(fā)表于 11-11 06:13

    單片機(jī)程序結(jié)構(gòu)

    在我們設(shè)計(jì)的早年色選機(jī)系統(tǒng)中,單片機(jī)程序結(jié)構(gòu)采用固定周期循環(huán)的程序結(jié)構(gòu)。固定循環(huán)周期是200us。在這固定的200us時(shí)間內(nèi)處理單片機(jī)外圍的各種任務(wù),這些任務(wù)可以處理按鍵輸入、LED顯
    發(fā)表于 11-24 07:27

    軸系結(jié)構(gòu)設(shè)計(jì)實(shí)驗(yàn)

    實(shí)驗(yàn)六 軸系結(jié)構(gòu)設(shè)計(jì)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模?熟悉并掌握軸系結(jié)構(gòu)設(shè)計(jì)中有關(guān)軸的結(jié)構(gòu)設(shè)計(jì)、滾動軸承組合設(shè)計(jì)的基本方法。 二、實(shí)
    發(fā)表于 03-13 19:04 ?5.8w次閱讀
    軸系<b class='flag-5'>結(jié)構(gòu)設(shè)計(jì)</b>實(shí)驗(yàn)

    PIC單片機(jī)程序設(shè)計(jì)基礎(chǔ)格式

    PIC單片機(jī)程序設(shè)計(jì)基礎(chǔ)格式 為了快速掌握PIC單片機(jī)程序的基本結(jié)構(gòu),這里給出一個(gè)典型的程序結(jié)構(gòu)
    發(fā)表于 05-17 09:07 ?1003次閱讀

    PIC單片機(jī)程序結(jié)構(gòu)框架

    為了快速掌握PIC單片機(jī)程序的基本結(jié)構(gòu),這里給出一個(gè)典型的程序結(jié)構(gòu)框架。
    發(fā)表于 06-27 13:41 ?5627次閱讀

    51單片機(jī)的大體程序結(jié)構(gòu)資料免費(fèi)下載

    這個(gè)程序,來體現(xiàn)所需要的結(jié)果;和只需要執(zhí)行一次程序就得到結(jié)果的C語言程序不同,單片機(jī)需要一次一次的循環(huán)執(zhí)行程序,故
    發(fā)表于 09-02 17:28 ?2次下載
    51<b class='flag-5'>單片機(jī)</b>的大體<b class='flag-5'>程序結(jié)構(gòu)</b>資料免費(fèi)下載

    如何使用單片機(jī)的定時(shí)器分配任務(wù)的程序結(jié)構(gòu)總結(jié)

    經(jīng)過這幾天做的程序,和以前做電子鐘時(shí)的感悟,現(xiàn)在對單片機(jī)的整個(gè)程序結(jié)構(gòu)做一下總結(jié)。相信這個(gè)總結(jié)是很有必要的,在組織大型復(fù)雜程序結(jié)構(gòu)時(shí)需要有一個(gè)正確的理論指導(dǎo)。
    發(fā)表于 08-12 17:33 ?4次下載
    如何使用<b class='flag-5'>單片機(jī)</b>的定時(shí)器分配任務(wù)的<b class='flag-5'>程序結(jié)構(gòu)</b>總結(jié)

    單片機(jī)STM32入門——(1)程序結(jié)構(gòu)

    單片機(jī)之STM32入門——(1)程序結(jié)構(gòu)程序結(jié)構(gòu)1.初識單片機(jī)2.GPIO的使用3.程序結(jié)構(gòu)程序結(jié)構(gòu)
    發(fā)表于 11-18 20:51 ?10次下載
    <b class='flag-5'>單片機(jī)</b>STM32入門——(1)<b class='flag-5'>程序結(jié)構(gòu)</b>

    FPC的結(jié)構(gòu)設(shè)計(jì).zip

    FPC的結(jié)構(gòu)設(shè)計(jì)
    發(fā)表于 03-01 15:37 ?1次下載