找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

89s52單片機移植ucosii源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:283148 發(fā)表于 2019-1-23 10:57 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
真正的將ucosii移植到89s52上,讓256ram也能運行ucosii,供大家學(xué)習(xí)探討。

單片機源程序如下:
  1. #include "reg51.h"
  2. #include "ucos_ii.h"
  3. /****************************
  4.    
  5. 1.最大可用任務(wù)3個,再多data空間不足。
  6. 2.可用服務(wù)只有OS_time 函數(shù),其他服務(wù)無法使用,ram開銷太多
  7. 3.最大任務(wù)優(yōu)先級8級
  8. 4.所有任務(wù)堆棧一樣,stksize。
  9. 5.模擬堆棧與系統(tǒng)堆棧共用,系統(tǒng)堆棧滿增,模擬堆棧滿減
  10. 6.任務(wù)堆棧只能放data區(qū) ,其他變量放idata
  11. 7.僅供學(xué)習(xí)研究,不足之處請指教。
  12. 9.編譯模式,小模式

  13.     使用單片機89s52
  14.     RAM :256
  15.    
  16. ****************************/
  17. #define task1prio    2
  18. #define task2prio    4
  19. sbit P10 =P1^0;
  20. sbit P11 =P1^1;

  21. INT8U data task1stk[stksize];
  22. INT8U data task2stk[stksize];

  23. void max(void)reentrant ;


  24. void task1(void);
  25. void task2(void);

  26. void main(void)
  27. {
  28.     OSInit();
  29.     OSTaskCreate(task1,(void* )0,task1stk,task1prio);
  30.     OSTaskCreate(task2,(void* )0,task2stk,task2prio);
  31.     OSStart();
  32.    

  33. }

  34. void task1(void)
  35. {


  36. while(1)
  37.    
  38. {
  39.     //P10 = !P10;
  40.     max();
  41.     OSTimeDlyHMSM(0,0,1,0);

  42. }

  43. }

  44. void task2(void)
  45. {

  46. while(1)
  47.    
  48. {
  49.    
  50.     P11 = !P11;
  51.     OSTimeDlyHMSM(0,0,2,0);

  52. }

  53. }

  54. void max(void)reentrant
  55. {
  56. INT32U i;
  57.     i++;

  58. }
  59. ……………………

  60. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
89s52-ucosii.7z (152.46 KB, 下載次數(shù): 46)


評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規(guī)則

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

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

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