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

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

于 2023-05-03 发布 文件大小:18.86 kB
0 231
下载积分: 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 个回复

  • PIC18F4550+18B20测温程序
    PIC18F4550+18B20测温程序本程序实现: 1、使用DS18B20数字温度传感器测温(通过RE1端口),小数点后2位。 2、使用LCD1602通用液晶显示屏显示:Temp=26.32摄氏度 3、完全调试通过。
    2022-07-09 04:44:48下载
    积分:1
  • lpc2294 Bootloader Linux开发
    lpc2294 Bootloader Linux嵌入开发-err
    2022-03-17 03:30:48下载
    积分:1
  • Taxi automatic meter design requirements: 1 meter taxi meter. The meter' s bi...
    出租车自动计价器设计 要求: 计一个出租车计价器。 该计价器的计费系统:行程 3公里内,且等待累计时间2分钟内,起步费为10元;3公里外以每公里1.6元计费,等待累计时间2分钟外以每分钟以1.5元计费。 并能显示行驶公里数、等待累计时间、总费用。 -Taxi automatic meter design requirements: 1 meter taxi meter. The meter" s billing system: stroke within 3 km, and the total waiting time of 2 minutes, the starting fee is 10 yuan 3 kilometers away, charging 1.6 yuan per kilometer, waiting outside the aggregate time of 2 minutes to 1.5 yuan per minute billing. And can show the number of road miles, waiting for the accumulated time, the total cost.
    2023-03-13 10:30:03下载
    积分:1
  • uboot是一款优秀的的bootloader程序。本软件包是uboot在ADI公司的blackfin533处理器上的移植。...
    uboot是一款优秀的嵌入式系统的bootloader程序。本软件包是uboot在ADI公司的blackfin533处理器上的移植。--Uboot is a good bootloader program for embedded system. This software package is a migration of uboot on ADI s blackfin533 CPU.
    2022-03-13 05:48:09下载
    积分:1
  • 利用单片机让数码管显示12345678
    利用单片机AT89C51让开发板的数码管显示12345678。 用C语言编写
    2022-02-03 12:24:26下载
    积分:1
  • Labview 核心 2 培训
    Labview 核心 2 培训 银行、 位图文件的作家, 六、 窗口,自定义 示威游行, 确定警告, 错误处理 全球数据 打印控制台, 与本地变量的队列等,
    2022-05-06 23:06:53下载
    积分:1
  • RS232 interrupt the development of C language source code package includes C sou...
    RS232 中断开发 C 语言源程序 包内包含C源代码以及汇编子程序-RS232 interrupt the development of C language source code package includes C source code and compiled subprogram
    2022-04-22 21:53:19下载
    积分:1
  • This article describes how to use AD to identify the user s keyboard input metho...
    本文介绍了如何用AD识别用户输入的键盘的方法,较之点阵识别有其不可替代的优势;因为如果用4*4的话须消耗8个I/O口,而如果系统有AD功能的话就可能轻松解决了。 单片机8051F330发给ARM然后发给电脑。 其原理就是利用电阻的分压,按键时产生不同的电压,再用中断快速读取电压;然后对其进行编码,通过串口软件EASYARM在个人电脑里显示;经实验观察,效果还可以。 -This article describes how to use AD to identify the user s keyboard input methods, compared with dot-matrix recognition has its irreplaceable advantages because if we use 4* 4, then to be consumed eight I/O port, and if the system function in AD, then on may be easily resolved. Singlechip 8051F330 distributed computer and then distributed to ARM. Its principle is to use the sub-ballast resistor, when keys have different voltage, and then quickly read voltage interruption then encode, through the serial port software EASYARM in the personal computer display by experimental observation, the effect can also be.
    2022-05-25 22:40:40下载
    积分:1
  • 的dac8574以MSP430F449接口
    Interfacing the DAC8574 to the MSP430F449
    2023-02-17 15:00:04下载
    积分:1
  • 步进电机控制主机程序,与步进电机控制副机程序配合使用。
    步进电机控制主机程序,与步进电机控制副机程序配合使用。-stepper motor control mainframe procedures, and stepper motor control deputy with the use of aircraft procedures.
    2023-04-02 05:35:03下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载