找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1864|回复: 0
打印 上一主题 下一主题
收起左侧

89s52单片机移植ucosii源程序

[复制链接]
跳转到指定楼层
楼主
真正的将ucosii移植到89s52上,让256ram也能运行ucosii,供大家学习探讨。

单片机源程序如下:
  1. #include "reg51.h"
  2. #include "ucos_ii.h"
  3. /****************************
  4.    
  5. 1.最大可用任务3个,再多data空间不足。
  6. 2.可用服务只有OS_time 函数,其他服务无法使用,ram开销太多
  7. 3.最大任务优先级8级
  8. 4.所有任务堆栈一样,stksize。
  9. 5.模拟堆栈与系统堆栈共用,系统堆栈满增,模拟堆栈满减
  10. 6.任务堆栈只能放data区 ,其他变量放idata
  11. 7.仅供学习研究,不足之处请指教。
  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黑下载附件…………
复制代码

所有资料51hei提供下载:
89s52-ucosii.7z (152.46 KB, 下载次数: 46)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表