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

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

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

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

姚小熊27 ? 來(lái)源:電工之家 ? 作者:電工之家 ? 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ǔ)言寫(xiě)的單片機(jī)程序?yàn)槔?,一般以main()作為主函數(shù),利用while(1)不斷循環(huán)要執(zhí)行的任務(wù)程序。在實(shí)時(shí)性要求不同的應(yīng)用場(chǎng)合,順序運(yùn)行就可以了,實(shí)時(shí)性要求很高的任務(wù)一般用中斷來(lái)處理,如果想平衡各個(gè)任務(wù)的運(yùn)行時(shí)間,可以分時(shí)處理。

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

中斷可以理解為中途打斷,比如你正在工作,突然領(lǐng)導(dǎo)來(lái)電話了,當(dāng)你認(rèn)為領(lǐng)導(dǎo)電話比較重要的時(shí)候,就可以先保存正在進(jìn)行的工作進(jìn)度,接聽(tīng)領(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)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6030

    文章

    44499

    瀏覽量

    632174
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    單片機(jī)中并行是什么意思

    單片機(jī)中的并行是指能夠同時(shí)執(zhí)行多個(gè)操作或指令的能力。傳統(tǒng)的計(jì)算機(jī)體系結(jié)構(gòu)中,處理器通常是按照順序執(zhí)行指令,即一條指令執(zhí)行完畢后再執(zhí)行下一條指令。而在
    的頭像 發(fā)表于 12-20 09:33 ?1148次閱讀

    單片機(jī)可以替代PLC嗎?單片機(jī)和PLC的區(qū)別

    單片機(jī)不能完全替代PLC 。雖然單片機(jī)可以通過(guò)編程實(shí)現(xiàn)類(lèi)似的功能,但是在可靠性和穩(wěn)定性方面相對(duì)來(lái)說(shuō)稍遜于PLC。
    的頭像 發(fā)表于 12-13 10:39 ?1564次閱讀

    單片機(jī)操作系統(tǒng)有哪些

    單片機(jī)操作系統(tǒng)(RTOS)是一種專(zhuān)門(mén)設(shè)計(jì)用于單片機(jī)的操作系統(tǒng),它可以提供任務(wù)調(diào)度、內(nèi)存管理、設(shè)備驅(qū)動(dòng)等功能,幫助程序員更高效地開(kāi)發(fā)嵌入式系統(tǒng)。在本文中,我們將詳細(xì)介紹幾種常見(jiàn)的
    的頭像 發(fā)表于 12-08 16:18 ?4824次閱讀

    單片機(jī)可以識(shí)別模擬信號(hào)么?單片機(jī)接收的是什么信號(hào)?

    單片機(jī)可以識(shí)別模擬信號(hào)么?單片機(jī)接收的是什么信號(hào)? 單片機(jī)(microcontroller)是一種集成了微處理器、內(nèi)存和一系列外設(shè)接口的集成
    的頭像 發(fā)表于 11-22 16:32 ?2667次閱讀

    STM32單片機(jī)裸機(jī):實(shí)現(xiàn)多任務(wù)設(shè)計(jì)實(shí)現(xiàn)

    單片機(jī)開(kāi)發(fā)過(guò)程中,隨著任務(wù)的增多,完全等待一個(gè)任務(wù)完成后,再去執(zhí)行下一個(gè)任務(wù)的弊端越發(fā)明顯。
    的頭像 發(fā)表于 11-21 15:02 ?3437次閱讀
    STM32<b class='flag-5'>單片機(jī)</b>裸機(jī):實(shí)現(xiàn)多<b class='flag-5'>任務(wù)</b>設(shè)計(jì)實(shí)現(xiàn)

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

    器架構(gòu),STM32單片機(jī)具有更高的運(yùn)行速度和更好的性能,可以運(yùn)行更復(fù)雜的任務(wù)。而51單片機(jī)的性能較低,只適合一些簡(jiǎn)單的任務(wù)。 存儲(chǔ) STM3
    發(fā)表于 11-20 13:18