久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1633|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

狀態(tài)機程序在51單片機上正常運行

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:731890 發(fā)表于 2023-12-30 17:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
對于51單片機由于其內(nèi)部資源的限制,運行一個打操作系統(tǒng)是比較困難的,但是我們可以使用一個狀態(tài)機來運行不同的任務(wù),這樣可以大減輕51單片機內(nèi)部資源的負擔(dān),也實現(xiàn)了多任務(wù)的架構(gòu)。

單片機源程序如下:

  1. #include <reg52.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include "delay.h"
  5. #include "timer0.h"
  6. #include "usart1.h"


  7. #define   Task_Size      8
  8. unsigned char Event_List[8];
  9. unsigned char Task_PQH;
  10. void (*Task_List[Task_Size])(void);

  11. void Task0()
  12. {
  13.   Uart1_SendString("Task0\r\n");
  14.         delay_ms(250);
  15. }

  16. void Task1()
  17. {
  18.   Uart1_SendString("Task1\r\n");
  19.         delay_ms(250);
  20. }

  21. void Task2()
  22. {
  23.         Uart1_SendString("Task2\r\n");
  24.         delay_ms(250);
  25. }

  26. void Task3()
  27. {
  28.         Uart1_SendString("Task3\r\n");
  29.         delay_ms(250);
  30. }

  31. void Task4()
  32. {
  33.         Uart1_SendString("Task4\r\n");
  34.         delay_ms(250);
  35. }

  36. void Task5()
  37. {
  38.         Uart1_SendString("Task5\r\n");
  39.         delay_ms(250);
  40. }


  41. void Task6()   
  42. {
  43.         Uart1_SendString("Task6\r\n");
  44.   delay_ms(250);        
  45. }

  46. void Task7()       //空閑任務(wù)
  47. {
  48.   Uart1_SendString("Task7\r\n");
  49.         delay_ms(250);
  50. }


  51. void main()
  52. {
  53.         Uart1_Init();//串口初始化
  54.         Init_timer0();      //定時器0初始化
  55.         Task_List[0]=Task0;     //初步化任務(wù)表
  56.   Task_List[1]=Task1;
  57.   Task_List[2]=Task2;
  58.   Task_List[3]=Task3;
  59.   Task_List[4]=Task4;
  60.   Task_List[5]=Task5;
  61.   Task_List[6]=Task6;
  62.   Task_List[7]=Task7;
  63.         
  64.         for(Task_PQH=0;Task_PQH<Task_Size;Task_PQH++)   //初始化事件
  65. {
  66.    Event_List[Task_PQH]=0;
  67. }
  68.   while(1)
  69. {
  70.                  for(Task_PQH=0;Task_PQH<Task_Size-1;Task_PQH++)   //查找最高優(yōu)先級任務(wù)
  71.                  {
  72.                          if(Event_List[Task_PQH]>0)                   //有事件發(fā)生
  73.                          break;
  74.                  }

  75.                  Task_List[Task_PQH]();           //執(zhí)行任務(wù)
  76. }
  77. }
復(fù)制代碼
原理圖: 無
仿真: 無
代碼: 狀態(tài)機.7z (19.26 KB, 下載次數(shù): 33)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂2 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:145357 發(fā)表于 2024-1-17 22:45 來自手機 | 只看該作者
感謝樓主分享,認真學(xué)習(xí)一下
回復(fù)

使用道具 舉報

板凳
ID:1064915 發(fā)表于 2024-1-18 08:21 | 只看該作者
       狀態(tài)機,一般指有限狀態(tài)機(英語:finite-state machine,縮寫:FSM)又稱有限狀態(tài)自動機(英語:finite-state automaton,縮寫:FSA),是表示有限個狀態(tài)以及在這些狀態(tài)之間的轉(zhuǎn)移和動作等行為的數(shù)學(xué)計算模型。有限狀態(tài)機是在自動機理論和計算理論中研究的一類自動機。
       有限狀態(tài)機歸屬于自動機理論范疇,從自動機理論的領(lǐng)域分層圖可以看出,越往外層,概念越復(fù)雜。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 瑟瑟免费视频 | 狠狠色网| 狠狠干美女| 欧美激情久久久 | 日本午夜视频 | 仙人掌旅馆在线观看 | 欧美日韩精品久久久免费观看 | 欧美一二三区 | 亚洲免费一区二区 | 日韩成人| 超碰导航 | 国产一区二区三区久久久久久久久 | 日美女逼逼 | 国产精品一区二区三区四区 | 羞羞视频一区二区 | h视频亚洲| 亚洲欧美综合精品久久成人 | 国产高清视频在线观看 | 日韩精品 电影一区 亚洲 | 国产日韩欧美一区 | 中文字幕在线观 | 91伊人 | 日韩欧美在线观看 | 二区三区视频 | 中文一区二区 | 久久国产精品免费一区二区三区 | 国产黄色网址在线观看 | 91精品国产一区二区三区香蕉 | 欧美一区二区在线观看 | 性在线 | 国产成人精品免费视频 | 91丨九色丨国产在线 | 欧美中文字幕一区 | 亚洲成人动漫在线观看 | 91xxx在线观看 | 综合久久综合久久 | 免费在线成人 | 青青激情网| 成人在线一区二区 | 国产欧美视频一区 | 99精品网|