登录
首页 » 嵌入式系统 » 一个最简单的多任务并行系统 51例程

一个最简单的多任务并行系统 51例程

于 2023-05-03 发布 文件大小:18.86 kB
0 175
下载积分: 2 下载次数: 1

代码说明:

前言想了很久,要不要写这篇文章?最后觉得对操作系统感兴趣的人还是很多,写吧.我不一定能造出玉,但我可以抛出砖.包括我在内的很多人都对51使用操作系统呈悲观态度,因为51的片上资源太少.但对于很多要求不高的系统来说,使用操作系统可以使代码变得更直观,易于维护,所以在51上仍有操作系统的生存机会.流行的uCos,Tiny51等,其实都不适合在2051这样的片子上用,占资源较多,唯有自已动手,以不变应万变,才能让51也有操作系统可用.这篇贴子的目的,是教会大家如何现场写一个OS,而不是给大家提供一个OS版本.提供的所有代码,也都是示例代码,所以不要因为它没什么功能就说LAJI之类的话.如果把功能写全了,一来估计你也不想看了,二来也失去灵活性没有价值了.下面的贴一个示例出来,可以清楚的看到,OS本身只有不到10行源代码,编译后的目标代码60字节,任务切换消耗为20个机器周期.相比之下,KEIL内嵌的TINY51目标代码为800字节,切换消耗100~700周期.唯一不足之处是,每个任务要占用掉十几字节的堆栈,所以任务数不能太多,用在128B内存的51里有点难度,但对于52来说问题不大.这套代码在36M主频的STC12C4052上实测,切换任务仅需2uS.

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • ds1302+1602shizh0ng.含闹钟
    #include     //包含单片机寄存器的头文件 #include   //包含_nop_()函数定义的头文件 unsigned char code digit[10]={"0123456789"};   //定义字符数组显示数字 sbit SCLK=P2^5;   //位定义1302芯片的接口,时钟输出端口定义在P1.0引脚 sbit DATA=P2^6;   //位定义1302芯片的接口,数据输出端定义在P1.1引脚 I/O sbit RST=P2^7;    //位定义1302芯片的接口,复位端口定义在P1.2引脚 CE sbit s1=P1^0; //   时间移位 sbit s2=P1^1;  //   时间加 sbit s3=P1^2;  //时间减 请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报
    2022-03-01 14:54:39下载
    积分:1
  • embedded technology university bulletin board Banju talks
    嵌入式技术漫谈中科大bbs版聚讲座-embedded technology university bulletin board Banju talks
    2022-08-15 02:34:48下载
    积分:1
  • niosII(12864)lcd基本指令定义
    niosII(12864)lcd基本指令定义-niosII (12864) lcd definition of basic commands
    2022-08-18 23:28:48下载
    积分:1
  • 国外某大学关于FreeRTOS的讲义。由于目前对FreeRTOS的介绍还很欠缺,官方网站的离线文档需要购买,因此这个材料可以帮助你深了解FreeRTOS。有一
    国外某大学关于FreeRTOS的讲义。由于目前对FreeRTOS的介绍还很欠缺,官方网站的离线文档需要购买,因此这个材料可以帮助你深入了解FreeRTOS。有一点要申明:建议是英文的,-Abroad on a university lecture FreeRTOS. Since the introduction of FreeRTOS is still lacking, the official website of the offline files will need to purchase, so this material can help you a deeper understanding FreeRTOS. It should be stated: the recommendations are in English,
    2022-04-10 06:12:38下载
    积分:1
  • 用C语言开发的小程序控制器平台
    在keil平台下用c语言开发的基于89c2051的小程序-the platform using C language development on the small program 89c2051
    2022-08-13 03:50:47下载
    积分:1
  • RS232转RS485电路原理图,值得一看.
    RS232转RS485电路原理图,值得一看.-RS232 to RS485 circuit schematics, worth a visit.
    2022-02-03 14:45:34下载
    积分:1
  • Embedded Development for the dll file homemade JTAG
    嵌入式开发中用于自制JTAG的dll文件-Embedded Development for the dll file homemade JTAG
    2022-11-16 18:00:03下载
    积分:1
  • Keil UV3中自带操作ARTX的应用例程
    Keil UV3中自带操作系统ARTX的应用例程-Keil UV3 were bringing their operating system of routines ARTX
    2022-04-16 21:24:34下载
    积分:1
  • PIC16 红外接收器与 Nec 代码
    这一项目使用泛型的38 千赫红外 riceiver 解码标准 nec 编纂中最受欢迎的电视遥控器,使用测试此代码对 PIC 16F873,但它的适合很多不同的 PIC,像 PIC12,16、 18、 dsPic、 33。 收到的信号解调由红外接收器连接到 RB0,此端口状态的变化,产生一个中断。 在同一时间 TMR0 用于检查的时间信号和理解,如果接到用户 0 或 1。 此固件中收到的代码是写直接插入端口 C,但您可以更改它以激活中继或领导。 该代码将移植到其他单片机与外部中断结束计时器功能。
    2022-01-25 17:49:31下载
    积分:1
  • LINUX下的ARM开发的用户手册
    LINUX下的ARM开发的用户手册-LINUX ARM development of the user manual
    2022-07-04 18:38:03下载
    积分:1
  • 696518资源总数
  • 106140会员总数
  • 8今日下载