导航:首页 > 操作系统 > 单片机实现多线程

单片机实现多线程

发布时间:2024-12-06 11:06:34

⑴ 51单片机如何实现多线程多任务有哪些程序可以在“后台”自己运行

51单片机可以实现执行时间片形式的多线程任务,具体做法是:1、弄个表两字节一个单位存一下各个任务的执行地址。2、在中断级别较高的T0定时器中断中,把中断压进堆栈的那两个字节保存到表里。3、用表里别的线程的地址重压进堆栈。4、从中断里退出就可以切到另一个线程继续跑了。

我记得这个在早先2000年那时候的大学计算机系单片机原理专业课里讲过,但是那科挂掉的实在太多,现在好像已经把这些独门绝技大多给砍没了,就剩背背汇编指令集。

⑵ 单片机 同时处理多件事

单片机是不能同时处理多件事情。如果要想同步处理多件事情,只能是先中断正在做的事情,转移到其它需要做的事情上,等事情处理完毕,或者还是处理到一定程度,再转回之前正在做的事情。
一、关于单片机:

单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
二、单片机的应用分类:
单片机(Microcontrollers)作为计算机发展的一个重要分支领域,根据发展情况,从不同角度,单片机大致可以分为通用型/专用型、总线型/非总线型及工控型/家电型。
1、通用型
这是按单片机(Microcontrollers)适用范围来区分的。例如,80C51式通用型单片机,它不是为某种专门用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。
2、总线型
这是按单片机(Microcontrollers)是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、 数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接,另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。
3、控制型
这是按照单片机(Microcontrollers)大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型,通常是小封装、低价格,外围器件和外设接口集成度高。 显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。

⑶ STM32在这种情况下是不是需要使用实时操作系统

不一定,可以不使用。
uCOSII、RTX之类的操作系统,主要是通过定时器切换实现了多线程功能。
裸机编程时,常常需要调用延时函数来进行等待。此时的CPU多处于闲置状态(例如执行for循环延时)。加入了实时操作系统后,RTOS会利用定时器进行任务切换。在调用系统的延时函数时并非让CPU循环,而是判断是否有其他任务需要执行。从而提高CPU执行效率。但RTOS需要占用定时器。且会造成RAM消耗严重、实时性降低等问题。
用不用RTOS见仁见智。但是从学习的角度,了解一点RTOS对于提高代码水平很有帮助

⑷ 单片机有线程吗

大部分单片机可以移植嵌入式实时操作系统的,操作系统内核会分配CPU给各个任务工作,也就是平时说的多线程,或者多任务

⑸ 怎么样让51单片机实现伪多线程工作(软件上实现)简单的论述一下,有程序实例更好.

你也知道,51单片机没办法实现多线程操作,所以你已经指明了条件,实现伪多线程工作(软件上实现),也就是软件模拟多线程。
我想你也没指望这个多线程多优秀,只是实验性质,锻炼锻炼编程技巧。这个还是可以实现的,虽然我也没走过。
没查资料,不知道有没有这方面的介绍和可移植的操作系统,仅凭自己想象与你探讨。
其实早期的WINDOWS操作系统,由于CPU 是单核,本质上就是伪多线程,包括现在的ARM 单片机可以实现的UCOSII。

51单片机实现伪多线程要解决两个问题,一个是速度,一个是内存规模。实现方法不过是利用定时中断把CPU的工作分割成时间片,分配给不同的任务。这有点像数码管的动态扫描,只要速度够快,感觉上各个任务的运行就是流畅的。问题的关键在于现场保护和紧急任务的处理,这两项调度好,编制一个伪多线程程序并不难。
但由于51资源有限,真的只能是试验一下。

阅读全文

与单片机实现多线程相关的资料

热点内容
微商授权查询系统源码 浏览:980
安卓什么情况没法建立新工程 浏览:219
气球解压社区活动 浏览:924
话费会员充值源码 浏览:319
邮件接收服务器叫什么 浏览:529
代理服务器被限制怎么办 浏览:234
atompython环境变量 浏览:911
记录程序员 浏览:996
javabbs源代码 浏览:231
文件夹命名带什么符 浏览:966
黑马程序员全栈 浏览:225
萍乡溯源码鱼胶零售 浏览:440
幸存者pdf 浏览:556
中国人寿保险app怎么变更银行卡号 浏览:118
node服务启动命令 浏览:548
自编宝塔线源码 浏览:139
电脑桌面解压视频教程 浏览:846
安卓手机玩三国战略为什么会卡 浏览:536
浪潮服务器怎么进入启动项 浏览:156
华为当前手机壁纸放在哪个文件夹 浏览:446