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

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

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

單片機(jī)可以同時(shí)處理多個(gè)任務(wù)嗎

姚小熊27 ? 來源:電工之家 ? 作者:電工之家 ? 2020-04-06 15:43 ? 次閱讀

單片機(jī)可以按分時(shí)、順序、中斷的方法處理多個(gè)任務(wù)。

程序是非常抽象的,程序質(zhì)量的好與差直接影響到運(yùn)行的效果。我們用單片機(jī)設(shè)計(jì)電子產(chǎn)品時(shí),同時(shí)運(yùn)行多個(gè)任務(wù)是很正常的。單片機(jī)是按順序執(zhí)行指令的,所以,主程序也是按著順序從頭到底的運(yùn)行的。以C語(yǔ)言寫的單片機(jī)程序?yàn)槔话阋詍ain()作為主函數(shù),利用while(1)不斷循環(huán)要執(zhí)行的任務(wù)程序。在實(shí)時(shí)性要求不同的應(yīng)用場(chǎng)合,順序運(yùn)行就可以了,實(shí)時(shí)性要求很高的任務(wù)一般用中斷來處理,如果想平衡各個(gè)任務(wù)的運(yùn)行時(shí)間,可以分時(shí)處理。

中斷處理實(shí)時(shí)性高任務(wù)

中斷可以理解為中途打斷,比如你正在工作,突然領(lǐng)導(dǎo)來電話了,當(dāng)你認(rèn)為領(lǐng)導(dǎo)電話比較重要的時(shí)候,就可以先保存正在進(jìn)行的工作進(jìn)度,接聽領(lǐng)導(dǎo)電話,然后再接著你的工作。單片機(jī)程序也是一樣的。高優(yōu)級(jí)的任務(wù)可以設(shè)置為中斷,比如按鍵輸入中斷或者串口接收中斷。以串口接收中斷為例,假如單片機(jī)配置了串口接收中斷,當(dāng)串口接收到數(shù)據(jù)時(shí),主程序就會(huì)被打斷,保護(hù)現(xiàn)場(chǎng)數(shù)據(jù)后馬上跳到串口接收中斷程序,串口接收中斷程序處理完成后,再返回主程序接著運(yùn)行。

分時(shí)處理多個(gè)任務(wù)

可以用分時(shí)的方案平衡各個(gè)任務(wù)的處理時(shí)間,比如,我們可以引入一個(gè)計(jì)數(shù)器i,假如有5個(gè)任務(wù),可以讓i在0~4之不斷循環(huán),當(dāng)i=0時(shí)執(zhí)行任務(wù)1,當(dāng)i=1時(shí)執(zhí)行任務(wù)2,當(dāng)i=3時(shí)執(zhí)行任務(wù)4,當(dāng)i=4時(shí)執(zhí)行任務(wù)5就可以了。

當(dāng)然,你還可以用定時(shí)器中斷做一個(gè)計(jì)時(shí)器,0~1ms時(shí)運(yùn)行任務(wù)1,1~2ms時(shí)運(yùn)行任務(wù)2,2~3ms時(shí)運(yùn)行任務(wù)3,3~4ms時(shí)運(yùn)行任務(wù)4,4~5ms時(shí)運(yùn)行任務(wù)5。如果有更高的要求的話,還要以用到嵌入式操作系統(tǒng)了,比如FreeRTOSuCos。

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

    關(guān)注

    6037

    文章

    44561

    瀏覽量

    635637
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    單片機(jī)的中斷機(jī)制

    單片機(jī)的中斷機(jī)制是一種重要的處理方式,它允許單片機(jī)在執(zhí)行主程序的過程中,能夠暫停當(dāng)前任務(wù),轉(zhuǎn)而處理外部或內(nèi)部緊急事件。這種機(jī)制極大地提高了系
    的頭像 發(fā)表于 10-17 18:03 ?732次閱讀

    低功耗8位單片機(jī):技術(shù)特性與應(yīng)用前景!

    不必要的能耗。 優(yōu)化指令集:通過高效的指令集設(shè)計(jì),減少執(zhí)行任務(wù)所需的時(shí)鐘周期,從而降低能耗。 2. 8位數(shù)據(jù)總線 8位單片機(jī)的數(shù)據(jù)總線寬度為8位,意味著它一次可以處理8位的數(shù)據(jù)。這
    發(fā)表于 09-26 14:09

    8位單片機(jī),32位單片機(jī)編程和應(yīng)用優(yōu)勢(shì)

    ,大大提高了開發(fā)效率。 二、成本效益顯著: 單片機(jī)編程相對(duì)于傳統(tǒng)的控制方案來說,成本更低。單片機(jī)集成了多種功能,一片芯片即可完成以往需多個(gè)組件才能實(shí)現(xiàn)的任務(wù),從而降低了物料成本和生產(chǎn)
    發(fā)表于 09-26 11:45

    keil可以讀出單片機(jī)的程序嗎

    表述存在一定的誤解,因?yàn)镵eil主要是用于編寫、編譯和調(diào)試單片機(jī)程序的工具,而不是直接從單片機(jī)中讀取已編程代碼的工具。 一、Keil的主要功能 編程開發(fā) :Keil允許用戶使用C語(yǔ)言或匯編語(yǔ)言編寫單片機(jī)程序。通過其集成的開發(fā)環(huán)境
    的頭像 發(fā)表于 09-02 10:32 ?997次閱讀

    單片機(jī)燒錄程序可以重新燒嗎

    好的程序代碼通過特定的方式寫入單片機(jī)的存儲(chǔ)器中,使其能夠按照預(yù)定的邏輯執(zhí)行任務(wù)。單片機(jī)燒錄程序可以重新燒錄,這是單片機(jī)編程和開發(fā)過程中的一個(gè)
    的頭像 發(fā)表于 09-02 10:04 ?1260次閱讀

    stm32和51單片機(jī)的區(qū)別是什么

    。 性能差異: STM32具有更高的主頻和更大的內(nèi)存空間,可以處理更復(fù)雜的任務(wù)和算法。 51單片機(jī)的主頻和內(nèi)存空間相對(duì)較小,適用于簡(jiǎn)單的控制和數(shù)據(jù)
    的頭像 發(fā)表于 09-02 09:33 ?780次閱讀

    下位機(jī)單片機(jī)嗎還是雙片

    下位機(jī)通常是指在計(jì)算機(jī)控制系統(tǒng)中,與上位機(jī)(通常是PC機(jī))配合工作的微控制器或微處理器。下位機(jī)可以
    的頭像 發(fā)表于 06-06 14:01 ?993次閱讀

    單片機(jī)可以替代PLC嗎

    以其集成度高、體積小、成本低等特點(diǎn)在工業(yè)控制中占據(jù)了一席之地,而PLC則以其高可靠性、穩(wěn)定性和靈活性在工業(yè)自動(dòng)化領(lǐng)域得到了廣泛應(yīng)用。那么,問題來了:單片機(jī)是否可以替代PLC呢?本文將從多個(gè)角度對(duì)這一問題進(jìn)行深入探討。
    的頭像 發(fā)表于 06-03 14:47 ?657次閱讀

    單片機(jī)可以作為上位機(jī)嗎?

    單片機(jī)(MCU)是一種集成電路芯片,它將微處理器、存儲(chǔ)器和輸入/輸出(I/O)接口等功能集成在一個(gè)芯片上。
    的頭像 發(fā)表于 05-28 18:01 ?1477次閱讀

    單片機(jī)學(xué)到什么程度可以找工作?

    這個(gè)話題老生常談了,找工作需要具備一定的技術(shù)實(shí)力,但是究竟學(xué)到什么程度就可以呢?單片機(jī)作為嵌入式系統(tǒng)的核心,具有廣泛的應(yīng)用場(chǎng)景,因此掌握單片機(jī)編程技能確實(shí)能為您打開就業(yè)之門。然而,要想通過單片
    的頭像 發(fā)表于 03-28 08:04 ?1582次閱讀
    <b class='flag-5'>單片機(jī)</b>學(xué)到什么程度<b class='flag-5'>可以</b>找工作?

    fpga是單片機(jī)

    FPGA不是單片機(jī)。兩者雖然都是電子產(chǎn)品,但它們?cè)?b class='flag-5'>多個(gè)方面有著本質(zhì)的不同。
    的頭像 發(fā)表于 03-14 17:17 ?1565次閱讀

    fpga和單片機(jī)的區(qū)別

    FPGA和單片機(jī)多個(gè)方面存在顯著的差異:
    的頭像 發(fā)表于 03-14 16:30 ?5144次閱讀

    有些汽車ECU會(huì)使用2片單片機(jī),請(qǐng)問這2片單片機(jī)是如何分配任務(wù)的?

    來自一位用戶的咨詢,麻煩幫忙解答。越詳細(xì)越好,有圖有真相。如有相關(guān)的視頻、文檔也可以輔助說明,謝謝。 有些汽車ECU會(huì)使用2片單片機(jī),請(qǐng)問這2片單片機(jī)是如何分配任務(wù)的? 下圖是某F1動(dòng)
    發(fā)表于 02-02 08:13

    什么是單片機(jī)? 單片機(jī)由哪幾個(gè)主要部分組成?

    單片機(jī)是一種集成電路芯片,具有處理器核心、存儲(chǔ)器、輸入輸出接口等主要部分。它可以用來控制并執(zhí)行各種任務(wù),廣泛應(yīng)用于電子產(chǎn)品中。 一、單片機(jī)
    的頭像 發(fā)表于 01-22 10:38 ?9431次閱讀

    單片機(jī)最小系統(tǒng)的作用 單片機(jī)最小系統(tǒng)包含哪幾部分

    單片機(jī)最小系統(tǒng)是指能夠獨(dú)立工作的最基本的硬件組成,也是單片機(jī)的必備基礎(chǔ)。它的作用是為單片機(jī)提供工作所需的最基本的資源和功能,使單片機(jī)能夠正常運(yùn)行和完成所需要的
    的頭像 發(fā)表于 01-18 13:54 ?4098次閱讀