[51单片机]

8051嵌入式操作系统

[复制链接]
3973|34
手机看帖
扫描二维码
随时随地手机跟帖
engineerwubin|  楼主 | 2017-9-3 07:48 | 显示全部楼层 |阅读模式
本帖最后由 engineerwubin 于 2018-6-5 17:04 编辑

    最新版本:Starlight V0.2,支持AT89S52、STC89C52RC、STC90C58RDPlus、STC12C5A60S2、STC15F2K60S2、STC15W4K32S4、STC8A8K64S4A12和STC8F2K64S4单片机,网盘链接已经更新,欢迎下载。

    星光操作系统是基于8051单片机的嵌入式操作系统,支持多线程并发运行,提供线程互斥、同步和通信功能,其功能特性如下:
(1)支持STC89C52RC单片机,4级优化时的最小程序大小为:data = 138,xdata = 20,code = 6616。
(2)支持AT89S52单片机,4级优化时的最小程序大小为:data = 155,xdata = 0,code = 6120。
(3)支持时间片轮转调度和抢占式调度,时间片长度为10毫秒。
(4)线程的最大数量为255
(5)信号量的最大数量为255
(6)屏障的最大数量为255
(7)信箱的最大数量为255,每个信箱中消息的最大数量为255。
(8)支持中断触发,但是不支持中断嵌套。
(9)提供微秒级延时功能
(10)提供组件、库和驱动,方便使用外设。
(11)当时钟频率为12MHz时,对于时间片导致的线程切换,其切换时间为888微秒;对于外部中断导致的线程切换,其切换时间为464微秒。

    为了便于使用外设,星光操作系统提供如下组件,为应用提供统一接口:
(1)LCM1601(液晶模块)
(2)LCM1602(液晶模块)
(3)LCM12864(液晶模块)
(4)DS18B20(数字温度传感器)
(5)HS0038B(红外线接收器)
(6)AT93C46(EEPROM)
(7)AT24C02(EEPROM)
(8)DS1302(实时时钟)
(9)28BYJ48(步进永磁减速电机)

    每个组件都有对应的库,为组件提供硬件抽象层;此外,提供芯片内部设备库和原语库,前者包括GPIO、UART、Power和ISP,后者包括线程、信号量、屏障和信箱。


    星光操作系统使用手册目录为Starlight_V0.1\Manual,请查阅相关信息。

    星光操作系统支持Discover8051 V1开发板,这是基于STC89C52RC(90C版)单片机的8051开发板,详情请参考附件中的使用手册和原理图。


    在Discover8051 V1开发板的使用手册中,有20个实验讲解,涉及多个外设组件,帮助用户快速掌握8051操作系统的用法,快速学会8051单片机。如果遇到问题,请参考手册中的联系方式,方便技术交流。

    网盘中有完整的工具和资料,包括8051操作系统(源代码和示范工程)、Discover8051 V1开发板文档、芯片数据手册、Keil C51 V9.51a、CH340驱动和STC-ISP烧写工具,欢迎下载。




Starlight_V0.2网盘链接.zip

268 Bytes

相关帖子

ayb_ice| | 2017-9-3 08:27 | 显示全部楼层
51上系统意义真不大,不如裸奔

使用特权

评论回复
dirtwillfly| | 2017-9-3 09:32 | 显示全部楼层
感谢楼主分享

使用特权

评论回复
engineerwubin|  楼主 | 2017-9-3 16:38 | 显示全部楼层
ayb_ice 发表于 2017-9-3 08:27
51上系统意义真不大,不如裸奔

早期51单片机的资源有限,确实没有必要上系统,甚至装不下操作系统。
现在的51芯片,例如STC的,资源越来越多,程序的规模也在增大,操作系统可以提供必要的支持,使得用户将重点放在应用程序本身上,同时为用户提供外设组件,避免重复设计。
对于初学者,可以更快地熟悉和使用单片机,学习效果更好。

使用特权

评论回复
@若水| | 2017-9-3 19:44 | 显示全部楼层
当时钟频率为12MHz时,对于时间片导致的线程切换,其切换时间为888微秒;对于外部中断导致的线程切换,其切换时间为464微秒。

请问用什么单片机测试的?至少也需要0.5ms时间也太长了

使用特权

评论回复
linqing171| | 2017-9-3 20:50 | 显示全部楼层
本帖最后由 linqing171 于 2017-9-3 20:51 编辑

stc的资源大。。。  让被maxim收购之前的达拉斯 的8051情何以堪?

组件可以进一步增加,哪怕是电路有限制,比如tcp和usb必须配合哪个芯片。然后在做上几个样板应用,比如物联网等火一点的。

使用特权

评论回复
hp34401a| | 2017-9-3 22:18 | 显示全部楼层
linqing171 发表于 2017-9-3 20:50
stc的资源大。。。  让被maxim收购之前的达拉斯 的8051情何以堪?

组件可以进一步增加,哪怕是电路有限制 ...

你见过杜蕾斯在国内的应用多吗?C8051F资源更大,种种原因在51份额并不多,你懂的。。。

使用特权

评论回复
engineerwubin|  楼主 | 2017-9-3 22:39 | 显示全部楼层
@若水 发表于 2017-9-3 19:44
当时钟频率为12MHz时,对于时间片导致的线程切换,其切换时间为888微秒;对于外部中断导致的线程切换,其切 ...

STC89C52RC,12T模式(单倍速),进入仿真模式,计算运行时间。

使用特权

评论回复
ccSmartmeter| | 2017-9-4 08:54 | 显示全部楼层
51就不要搞什么操作系统了,它那个结果不就适合搞操作系统,浪费时间。要上操作系统,现在的ARM多方便。

使用特权

评论回复
hamstar| | 2017-9-4 09:18 | 显示全部楼层
51上面植入操作系统没有多大的实际应用价值,主要是用来学习研究的。由于51的系统运行频率低、ram资源相当有限、中断延迟非常严重,在其上面运行的操作系统反应速度很低,达不到大多数实时应用的需求,系统提供的很多API不能用,在编程时需要时刻注意资源和时间的分配问题,稍不注意就会造成系统崩溃或者死机。与裸奔比较,操作系统反而成为一种累赘,使编程者的精力过多的放在操作系统的使用上面。

使用特权

评论回复
数码小叶| | 2017-9-4 10:23 | 显示全部楼层
感谢楼主分享

使用特权

评论回复
feelhyq| | 2017-9-4 10:33 | 显示全部楼层

使用特权

评论回复
all_units| | 2017-9-4 13:18 | 显示全部楼层
谢谢楼主分享资料!顶

使用特权

评论回复
@若水| | 2017-9-4 13:18 | 显示全部楼层
engineerwubin 发表于 2017-9-3 22:39
STC89C52RC,12T模式(单倍速),进入仿真模式,计算运行时间。

888us在某些场合能干的事情也不少了,就不要搞任务切换了吧,还是裸跑好了

使用特权

评论回复
engineerwubin|  楼主 | 2017-9-4 13:22 | 显示全部楼层
本帖最后由 engineerwubin 于 2017-9-4 15:04 编辑

更新了附件,给出了网盘地址和密码,那里有完整的资料。

使用特权

评论回复
linqing171| | 2017-9-4 14:02 | 显示全部楼层
PCB上面地过孔太少了,很多地方都接近死铜了。
像按键阵列那里,正面走横线,就把竖线放背面走。

keil自带的那个搬移堆栈的功能有用,但是耗时也太浪费了。

使用特权

评论回复
engineerwubin|  楼主 | 2017-9-4 17:02 | 显示全部楼层
@若水 发表于 2017-9-4 13:18
888us在某些场合能干的事情也不少了,就不要搞任务切换了吧,还是裸跑好了 ...

888us的前提是:使用12T模式,时钟频率12MHz
(1)保持12T模式,时钟频率24MHz,切换延迟约为450us。
(2)保持12T模式,时钟频率40MHz,切换延迟约为270us。
(3)使用6T模式,时钟频率40MHz,切换延迟约为135us。

使用特权

评论回复
jlhgold| | 2017-9-5 08:53 | 显示全部楼层
来个STC12 15的,再来个silicon lab的

使用特权

评论回复
engineerwubin|  楼主 | 2017-9-5 09:23 | 显示全部楼层
jlhgold 发表于 2017-9-5 08:53
来个STC12 15的,再来个silicon lab的

现在是AT89S52和STC89C52RC,以后会包括STC90、STC12和STC15。
至于C8051系列,目前没有明确的计划。

使用特权

评论回复
engineerwubin|  楼主 | 2017-9-5 09:27 | 显示全部楼层
linqing171 发表于 2017-9-4 14:02
PCB上面地过孔太少了,很多地方都接近死铜了。
像按键阵列那里,正面走横线,就把竖线放背面走。

可以考虑提高时钟频率,这样会减少延迟,目前的延迟是针对12MHz和12T模式的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

17

帖子

2

粉丝