一个最简单的多任务并行系统 51例程
前言想了很久,要不要写这篇文章?最后觉得对操作系统感兴趣的人还是很多,写吧.我不一定能造出玉,但我可以抛出砖.包括我在内的很多人都对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.
- 2023-05-03 10:15:03下载
- 积分:1
Vending machine control system design requirements: Design a vending machine con...
自动售货机控制系统设计
要求:
设计制作一个自动售货机控制系统。
该系统能完成货物信息存储,进程控制,硬币处理,余额计算,显示等功能。
该系统可以管理四种货物,每种的数量和单价在初始化时输入,在存储器中存储。用户可以用硬币进行购物,按键进行选择。
系统根据用户输入的货币,判断钱币是否够,钱币足够则根据顾客的要求自动售货,钱币不够则给出提示并退出。
系统自动的计算出应找钱币余额、库存数量并显示。
-Vending machine control system design requirements: Design a vending machine control system. The system can complete cargo information storage, process control, coin handling, balance calculation, display and other functions. The system can manage four kinds of goods, the quantity and unit price of each in the initialization input, stored in memory. Users can use coins shopping button to choose. The monetary system based on user input to determine whether enough money, coins, according to customer requirements is sufficient Vending, coins were not given prompt and exit. The system automatically calculate the balance should be looking for coins, inventory number and displayed.
- 2023-05-27 20:35:03下载
- 积分:1