單片機可以按分時、順序、中斷的方法處理多個任務。
程序是非常抽象的,程序質量的好與差直接影響到運行的效果。我們用單片機設計電子產品時,同時運行多個任務是很正常的。單片機是按順序執行指令的,所以,主程序也是按著順序從頭到底的運行的。以C語言寫的單片機程序為例,一般以main()作為主函數,利用while(1)不斷循環要執行的任務程序。在實時性要求不同的應用場合,順序運行就可以了,實時性要求很高的任務一般用中斷來處理,如果想平衡各個任務的運行時間,可以分時處理。
中斷處理實時性高任務
中斷可以理解為中途打斷,比如你正在工作,突然領導來電話了,當你認為領導電話比較重要的時候,就可以先保存正在進行的工作進度,接聽領導電話,然后再接著你的工作。單片機程序也是一樣的。高優級的任務可以設置為中斷,比如按鍵輸入中斷或者串口接收中斷。以串口接收中斷為例,假如單片機配置了串口接收中斷,當串口接收到數據時,主程序就會被打斷,保護現場數據后馬上跳到串口接收中斷程序,串口接收中斷程序處理完成后,再返回主程序接著運行。
分時處理多個任務
可以用分時的方案平衡各個任務的處理時間,比如,我們可以引入一個計數器i,假如有5個任務,可以讓i在0~4之不斷循環,當i=0時執行任務1,當i=1時執行任務2,當i=3時執行任務4,當i=4時執行任務5就可以了。
當然,你還可以用定時器中斷做一個計時器,0~1ms時運行任務1,1~2ms時運行任務2,2~3ms時運行任務3,3~4ms時運行任務4,4~5ms時運行任務5。如果有更高的要求的話,還要以用到嵌入式操作系統了,比如FreeRTOS、uCos。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
相關推薦
單片機的中斷機制是一種重要的處理方式,它允許單片機在執行主程序的過程中,能夠暫停當前任務,轉而處理外部或內部緊急事件。這種機制極大地提高了系
發表于 10-17 18:03
?624次閱讀
不必要的能耗。
優化指令集:通過高效的指令集設計,減少執行任務所需的時鐘周期,從而降低能耗。
2. 8位數據總線
8位單片機的數據總線寬度為8位,意味著它一次可以處理8位的數據。這
發表于 09-26 14:09
,大大提高了開發效率。
二、成本效益顯著:
單片機編程相對于傳統的控制方案來說,成本更低。單片機集成了多種功能,一片芯片即可完成以往需多個組件才能實現的任務,從而降低了物料成本和生產
發表于 09-26 11:45
表述存在一定的誤解,因為Keil主要是用于編寫、編譯和調試單片機程序的工具,而不是直接從單片機中讀取已編程代碼的工具。 一、Keil的主要功能 編程開發 :Keil允許用戶使用C語言或匯編語言編寫單片機程序。通過其集成的開發環境
發表于 09-02 10:32
?922次閱讀
好的程序代碼通過特定的方式寫入單片機的存儲器中,使其能夠按照預定的邏輯執行任務。單片機燒錄程序可以重新燒錄,這是單片機編程和開發過程中的一個
發表于 09-02 10:04
?1193次閱讀
。 性能差異: STM32具有更高的主頻和更大的內存空間,可以處理更復雜的任務和算法。 51單片機的主頻和內存空間相對較小,適用于簡單的控制和數據處
發表于 09-02 09:33
?726次閱讀
下位機通常是指在計算機控制系統中,與上位機(通常是PC機)配合工作的微控制器或微處理器。下位機可以
發表于 06-06 14:01
?969次閱讀
以其集成度高、體積小、成本低等特點在工業控制中占據了一席之地,而PLC則以其高可靠性、穩定性和靈活性在工業自動化領域得到了廣泛應用。那么,問題來了:單片機是否可以替代PLC呢?本文將從多個角度對這一問題進行深入探討。
發表于 06-03 14:47
?638次閱讀
單片機(MCU)是一種集成電路芯片,它將微處理器、存儲器和輸入/輸出(I/O)接口等功能集成在一個芯片上。
發表于 05-28 18:01
?1444次閱讀
這個話題老生常談了,找工作需要具備一定的技術實力,但是究竟學到什么程度就可以呢?單片機作為嵌入式系統的核心,具有廣泛的應用場景,因此掌握單片機編程技能確實能為您打開就業之門。然而,要想通過單片
發表于 03-28 08:04
?1563次閱讀
FPGA和單片機在多個方面存在顯著的差異:
發表于 03-14 16:30
?5032次閱讀
微處理器只是一個CPU,而單片機則是由CPU與其它的接口電路組合而成的,所以CPU不等于單片計算機。也可以這樣說,CPU只是計算機其中的一個部件而已。
發表于 02-02 14:30
?2297次閱讀
來自一位用戶的咨詢,麻煩幫忙解答。越詳細越好,有圖有真相。如有相關的視頻、文檔也可以輔助說明,謝謝。
有些汽車ECU會使用2片單片機,請問這2片單片機是如何分配任務的?
下圖是某F1動
發表于 02-02 08:13
單片機是一種集成電路芯片,具有處理器核心、存儲器、輸入輸出接口等主要部分。它可以用來控制并執行各種任務,廣泛應用于電子產品中。 一、單片機的
發表于 01-22 10:38
?9187次閱讀
單片機最小系統是指能夠獨立工作的最基本的硬件組成,也是單片機的必備基礎。它的作用是為單片機提供工作所需的最基本的資源和功能,使單片機能夠正常運行和完成所需要的
發表于 01-18 13:54
?4022次閱讀
評論