8051微型实时抢先多任务内核——Timic51
51系列单片机的优势是价格低廉,设计灵活,兼容性高,稳定可靠。从开发至今,在各行业中仍然广泛使用。在多数应用场合中,多任务系统有相当高的可用价值。在单片机有限的存储空间内,设计一种高可用性的多任务内核具有一定难度。
(图中12864C/D引脚信号线A9连接方式在Proteus模拟中并不会产生错误,实际上应接A[0..15]BUS)
使用多任务内核,突破存储器瓶颈,扩展了寄存器和堆栈。每个子任务都有独立的工作寄存器(R0~R7)和堆栈空间,大大降低了应用子程序的编写难度。子任务可自由的使用硬件设备,最大限度的拓展子程序发挥空间。本内核具有代码短小,多任务切换,实时抢先,子任务开发简便等特点。基本内核只占用约1KBytes程序存储空间,可以运行于最基础的8051系列单片机。
一、内核及子任务配置与要求
内核占用的硬件资源:
1.定时/计数器T0。
2.内部RAM地址范围08~1FH(24字节)。其中有一半保留空间,可由子任务使用。
3.需要扩展外部RAM。占用外部RAM地址:0E0~0FFH(32字节),100~3FFH(768字节),其中有256+16字节保留空间,可由子任务使用。因任务切换数据频繁读写,不建议使用FLASH RAM。
内核功能:
1.20ms,100ms,定时。最多定时为256*100ms,可用作软件看门狗。
*2.最多支持16个子任务。*20ms时间片定时切换任务。
3.任务抢先。
4.保护子任务现场:A,B,PSW,SP,DPTR,R0~R7,以及16字节堆栈数据。
5.待机。
子任务环境:
1.自由使用单片机中断,定时/计数器,I/O端口,除内核占用外的系统资源任意部分,包括位寻址区&#