amazing030 发表于 2010-5-25 17:57:03

ucosii for 51:ucos在51单片机上的移植,版本为2.51,为一个简单的门禁控制器

ucos在51单片机上的移植,版本为2.51,为一个简单的门禁控制器,只有其框架,4个任务,时间显示,密码验证,任务调度,菜单。主体框架运行良好
是在以前发过的一个状态机改过来的,因发现全部都要改,而目前更想学ucos,故只写了主体框架,即待机界面和菜单。刚学两天,只用了任务管理,想到信号量发现用不上:(。
RAM需求较大,用的是STC89C54RD+,1K的RAM,目前跑4个任务没问题。
电路10简单,就不上传了,也因核心是ucos而不是电路,NOKIA 5110LCD,DS1302,4*4 Keyboard,因时间问题,也未加注释,但编程风格良好。

点击此处下载 ourdev_556873.rar(文件大小:264K) (原文件名:uCOS_C51 V3.0.rar)

amazing030 发表于 2010-5-25 18:04:30

买了本ucos作者的书,贝贝老师翻译的那本,20来本书里唯一的一本“著”的,很是喜欢,打算翻烂

smarxx 发表于 2010-5-25 18:53:54

51跑的动ucos?

longquan 发表于 2010-5-25 21:46:29

我也买了一本,可惜没看

yangsen 发表于 2010-5-25 22:23:52

还有本书写的也不错:μC/OS ARM移植要点详解,黄燕平写的。

arndei 发表于 2010-6-4 10:28:25

向楼主学习……

zpyws 发表于 2010-6-4 19:32:47

厉害,支持一下楼主

dotor 发表于 2011-1-18 10:57:49

回复【楼主位】amazing030
-----------------------------------------------------------------------

你的这个代码太棒了,之前你的LED单任务代码用在STC89C516RD+上main里改个口就能用了,而且非常精简。
你的代码比杨毅的精简实在太多,很棒,值得好好研究下,太感谢了!
我也买了本邵贝贝的书,确实比任哲的写的好,其他的就更别提了。

zxjupc 发表于 2011-2-18 10:36:31

有没有程序讲解······见笑了

xxl88 发表于 2011-2-18 14:17:40

51 UCOS II

285915046 发表于 2011-2-18 14:28:20

下下来学习学习

gxustudent 发表于 2011-2-18 15:16:33

你这个Ucos改得太好了,我从来没有想过操作系统也可以这样写,
你将51捉衿见肘、微不足道的资源用得出神入化,
对任务切换理解得相当深刻啊!!堪称神来之笔,鬼斧神工!
我第一次看别人写的操作系统看得如此入迷,差点忘了看小_电影!
写得太好了!
先声明,我不是枪手啊!

rigol_fan 发表于 2011-2-18 16:08:24

好好研究一下,十分感谢楼主

Grey 发表于 2011-3-7 11:07:53

楼主可不可以留个QQ或者Email啊?!最近在接触uCOS,想向楼主学习一下!

Grey 发表于 2011-3-7 11:15:55

回复【楼主位】amazing030
-----------------------------------------------------------------------

楼主啊!给俺个联系方式呗!想学习一下啊!最近找了一大通资料啃了很久就想完成在51上面的移植一直搞不定啊!下载了大片的代码编译的时候只有你的完全通过,太佩服你了!
能不能给个联系方式嘛!QQ或者Email都好啊!我的QQ:791799923(很少登录,不过最近会一直开着等着),Email:GreyZhang@126.com(每天至少查看两次)。希望楼主能够回复啊~~!

danceman_uk 发表于 2011-3-20 23:17:22

谢谢楼主了!

wmm20031015 发表于 2011-3-21 08:47:40

感谢楼主

conan3314 发表于 2011-3-21 10:00:58

学习学习

afei8856 发表于 2011-4-22 21:37:59

看看

wangyj173 发表于 2011-4-23 00:03:44

LZ之前的那个也很好,占用的RAM真少

henalhs 发表于 2011-4-23 00:54:27

编译报错。。。。
TO ".\OutPut\uCOS-II"
NOPRINT RAMSIZE(256)
******************************************************************************
* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 2003H BYTE (400%) *
******************************************************************************
Program Size: data=139.2 xdata=580 code=9766
LINK/LOCATE RUN COMPLETE.0 WARNING(S),0 ERROR(S)
*** FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED
    MODULE:C:\KEIL\C51\LIB\C51L.LIB (-----)
    LIMIT:   0800H BYTES
Target not created

amazing030 发表于 2011-4-23 08:33:30

RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT
这是什么问题?找个无2K限制的版本

luck851 发表于 2011-6-30 23:18:44

mark

zzw223226 发表于 2011-9-7 14:13:39

猪,我太爱你了~~!!!真的@

zwb27 发表于 2011-9-12 15:30:44

我用small rtos 在51上也写过这类的程序,当时写的是个密码锁的程序。51上移植系统感觉是牺牲一些实时性能弥补51RAM的缺陷。写点小的应用还是挺好的。

cecwxf 发表于 2011-9-21 14:15:34

mark+look

ljmdzyx 发表于 2011-9-21 23:14:12

MARK

ERDTxiduoduo 发表于 2011-9-22 17:47:07

MARK

l09046162 发表于 2011-9-24 11:26:01

谢谢楼主分享!!!!mark!!!!!

downtoearth 发表于 2011-9-24 11:57:31

mark

downtoearth 发表于 2011-9-24 11:57:49

mark

downtoearth 发表于 2011-9-24 11:57:59

mark

jiyibolo 发表于 2011-9-24 13:05:16

请问楼主,为什么我重新建立一个工程,把你的源程序加到工程中后会出现重复定义等error的提示,请问建立工程文件时有什么设置吗?

jetimchen 发表于 2011-9-24 13:27:26

mark

liucw99 发表于 2011-9-24 14:26:32

多谢分享,我也想好好研究下。

littlepig 发表于 2011-9-24 16:22:05

mark

oxalis 发表于 2011-9-25 12:22:49

大家都说好,来瞧瞧
谢谢楼主分享!

mzbhy 发表于 2011-9-25 13:02:44

俺看下。

huhushuai123 发表于 2011-9-26 21:08:52

感动啊 正好要研究这个的

lizhengfly 发表于 2011-11-23 21:41:39

学习了,谢谢!

j-link 发表于 2012-1-4 20:44:44

因为内部的 1k RAM 不够用,ucos II怎么改全部使用外部 RAM 吗?
外部有 32k RAM!!!

szcoffee 发表于 2012-1-5 15:51:39

mark
51 ucos

zhaoliang056 发表于 2012-1-5 16:17:19

研究一下

xiaodian2008 发表于 2012-1-5 18:26:20

要是能全部搞通了,成功移植上去了就NB啦。记得分享分享经验!

673217899 发表于 2012-1-9 00:59:52

谢谢楼主分享!!!!mark!!!!!

llbdz 发表于 2012-1-9 12:58:45

51的板子有必要用操作系统吗

shamork 发表于 2012-1-12 09:07:19

mark

APTX4869 发表于 2012-1-12 12:02:49

总觉得51运行uCOS是不是太累了,资源不够啊。

summerrain19 发表于 2012-2-9 10:44:18

留待学习

idata 发表于 2012-2-12 16:48:44

支持楼主这样的做法。
但是有几个疑问,请各位也注意一下:
1、reentrant函数的使用。
楼主的有些函数,需要定义为reentrant,比如DisplayString,这个函数被不同的task调用,Task_ReadKey和Task_KeyFunc,如果在执行的时候,可能会被打断,导致不可重入。
同样的,delay函数要小心用,不要导致重入问题。

重入函数在编译的时候,编译器会把参数、局部变量放到模拟栈中,如果没有定义成reentrant,会按照默认的分配规则,可能会导致内存覆盖的问题。因为多task,编译器对函数调用树可能没有正确建立。

2、OS_ENTER_CRITICAL的使用。
在Task_ShowTime的for(;;)调用不妥,因为这个会关系统中断,知道调用OS_EXIT_CRITICAL,才有可能执行其他的。这两条语句中的过程很多,可能会开中断。
OS_ENTER_CRITICAL,最好只用在非得关中断的地方。一般是驱动操作,对时序有要求的。

3、栈大小的设置。
MaxStkSize,是如何确定的呢?这几个都用到了同样的大小,能否解释一下?谢谢

duzhang 发表于 2012-2-14 14:38:53

MARK

zhaoliang056 发表于 2012-2-14 23:49:05

mark

wishu520 发表于 2012-2-18 11:57:12

学习中

to_xyr 发表于 2012-2-26 12:54:47

MARK

LingYi 发表于 2012-12-13 09:45:53

{:victory:}

信天游 发表于 2012-12-13 16:04:29

初学者向楼主致敬{:3_42:}
向楼主学习

咱厝人 发表于 2012-12-18 20:32:22

刚开始学51,向您学习

sjh943498450 发表于 2013-1-28 17:17:39

标记学习下

shiyue01 发表于 2013-6-9 00:14:52

mark            

880705lpdhr 发表于 2013-7-10 08:08:49

MARK      

lsy5110 发表于 2013-7-10 09:01:41

谢谢{:smile:}

ZHAOBAO511 发表于 2013-7-10 10:27:49

能否发一下电路图?在PROTEUS中仿真一下,谢谢, 

yionline 发表于 2013-8-1 15:13:00

amazing030 发表于 2010-5-25 18:04 static/image/common/back.gif
买了本ucos作者的书,贝贝老师翻译的那本,20来本书里唯一的一本“著”的,很是喜欢,打算翻烂 ...

全名叫什么?

tatata000 发表于 2013-8-4 16:40:27

看起来不错,研究下

longfeix86 发表于 2013-8-4 16:56:18

我把那本书也传上来吧,如果涉及侵权请删除之

zhoufeng332 发表于 2013-8-5 19:27:41

太感谢了,好好学习!

277955973 发表于 2013-8-5 19:42:23

下载来看看...

cnzhoujin 发表于 2019-7-19 07:22:38

资料不错,一下编译成功。

angler12 发表于 2021-9-17 23:05:53

下载不了,前辈,能再分享一下吗

njl2008 发表于 2022-5-16 18:54:20

非常感谢分享,下载学习一下

国学芯用 发表于 2022-10-25 09:34:19

现在都在玩FreeRTOS   www.stcai.com

ZHAOBAO511 发表于 2023-5-13 17:58:51

本帖最后由 ZHAOBAO511 于 2023-5-13 18:07 编辑

您 好,在不?请教一下这个门禁咋用的?想学一下,另外能否把之前状态机的也发一下?此程序短小精悍,内存小,值得学习!做了仿真给大家共同研究一下。

页: [1]
查看完整版本: ucosii for 51:ucos在51单片机上的移植,版本为2.51,为一个简单的门禁控制器