找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

UCOSII 在51系列單片機(jī)C8051f340的移植移植實(shí)例

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
UCOSII 在51系列單片機(jī)C8051f340的移植實(shí)例


全部源碼下載:
UCOS-II操作系統(tǒng)(創(chuàng)建任務(wù)學(xué)習(xí)).rar (258.45 KB, 下載次數(shù): 76)

apps的主程序:
  1. /********************************************************************
  2. * 文件名  : usertask.c
  3. * 描述    :  UCOS-II的main函數(shù)文件,該例子是創(chuàng)建任務(wù)實(shí)驗(yàn)學(xué)習(xí),任務(wù)之間可以完全獨(dú)立,
  4. *            通過在任務(wù)中調(diào)用OSTimeDly(),來完成任務(wù)的掛起,讓別的任務(wù)運(yùn)行。
  5. *                         這里創(chuàng)建了3個(gè)任務(wù),任務(wù)1開關(guān)LED12、任務(wù)2開關(guān)LED13、任務(wù)3開關(guān)LED14。
  6. * 創(chuàng)建人  :云杰
  7. * QQ      :494713348
  8. * 電話    :15123350190
  9. * Email          :founder_elec@foxmail.com
  10. * 網(wǎng)址    :http://shop66398134.taobao.com
  11. * 時(shí)間    :2010年4月10日
  12. * 版本號(hào)  :V0.1.0
  13. * 修改記錄:
  14. *
  15. *********************************************************************/
  16. #include"includes.h"
  17. #include"absacc.h"


  18. sbit LED12  = P2^3;                   //LED12管腳定義
  19. sbit LED13  = P0^3;                   //LED13管腳定義
  20. sbit LED14  = P2^2;                   //LED14管腳定義

  21. OS_STK xdata StartTaskStk[USER_STACK_SIZE],Task1Stk[USER_STACK_SIZE],Task2Stk[USER_STACK_SIZE];

  22. //定義3個(gè)信號(hào)量   
  23. INT8U   err;

  24. void StartTask(void) KCREENTRANT;
  25. void Task1(void) KCREENTRANT;
  26. void Task2(void) KCREENTRANT;
  27. void InitTimer0(void)KCREENTRANT;



  28. void main(void)
  29. {       
  30.         EA=0;
  31.         PCA0MD &= ~0x40;                  //禁止看門狗
  32.         OSCICN |= 0x83;                   //不分頻,使用內(nèi)部12M晶振,系統(tǒng)時(shí)鐘頻率為12MHz
  33.         OSInit();
  34.         OSTaskCreate(StartTask,(void *)0,&StartTaskStk[0],0);//創(chuàng)建第一個(gè)任務(wù)
  35.         OSStart();
  36. }

  37. void StartTask(void) KCREENTRANT
  38. {
  39.         P0MDOUT = 0x08;              // 設(shè)置P0.3 輸出為推挽方式
  40.     P2MDOUT = 0x0c;              // 設(shè)置P2.2,P2.3輸出為推挽方式
  41.     XBR1 = 0x40;  
  42.         LED12 = 1;
  43.         LED13 = 1;
  44.         LED14 = 1;
  45.         InitTimer0();
  46.         OSStatInit();                            //開啟CPU使用率統(tǒng)計(jì)
  47.         //程序中的任務(wù)建議在這里創(chuàng)建,當(dāng)然也可以在其它任務(wù)中創(chuàng)建任務(wù)
  48.         OSTaskCreate(Task1, (void *)0, &Task1Stk[0], 2);
  49.     OSTaskCreate(Task2, (void *)0, &Task2Stk[0], 3);      
  50.     for(;;)         
  51.         {
  52.         LED12 = ~LED12;
  53.                 OSTimeDly(20);                     
  54.     }
  55. }
  56. void Task1(void) KCREENTRANT
  57. {       
  58.     for(;;)         
  59.         {
  60.         LED13 = ~LED13;
  61.                 OSTimeDly(40);
  62.     }
  63. }
  64. void Task2(void) KCREENTRANT
  65. {
  66.     for(;;)         
  67.         {
  68.         LED14 = ~LED14;
  69.                 OSTimeDly(60);                     
  70.     }
  71. }


復(fù)制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:166844 發(fā)表于 2017-2-27 10:22 | 只看該作者
不能下載啊
回復(fù)

使用道具 舉報(bào)

板凳
ID:280346 發(fā)表于 2018-1-28 09:57 | 只看該作者
初來乍到 學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

地板
ID:207927 發(fā)表于 2019-8-8 17:24 | 只看該作者
支持一下
回復(fù)

使用道具 舉報(bào)

5#
ID:216371 發(fā)表于 2019-8-21 13:40 | 只看該作者
學(xué)習(xí)中....
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表