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

单片机多线程设置

发布时间:2024-07-10 15:24:06

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

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

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

2. 51单片机如何实现多线程多任务换距话说,有哪些程序可以在“后台”自己运行 比如定时器,计数

另一种说发是单片机中断里的函数成为前台,而主函数成为后台,这是前后台系统,但多个任务同时运行不能做到,只能是说在单位时间内任务是多任务并行的

3. 单片机中如何实现多线程,多任务

可以将不同任务放在定时器中断里, 然后将任务分步骤执行(这大概就叫状态机吧). 比如任务1放在主循环里, 任务2放在定时器1中断里, 任务3放在定时器2中断里. 或者自己利用定时器实现时间片轮换算法. 关键是分配好任务执行的时间片, 以满足对不同事件的响应. 感觉单片机实时性的要求很高。

4. 单片机 同时处理多件事

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

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

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

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

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

6. 单片机中如何实现多线程,多任务

如果不用OS, 可以将不同任务放在定时器中断里, 然后将任务分步骤执行(这大概就叫状态机吧). 比如任务1放在主循环里, 任务2放在定时器1中断里, 任务3放在定时器2中断里. 或者自己利用定时器实现时间片轮换算法. 关键是分配好任务执行的时间片, 以满足对不同事件的响应. 感觉单片机实时性的要求很高.

7. 51单片机如何实现多线程多任务换距话说,有哪些程序可以在“后台”自己运行

2、51内部没有捕捉器、AD转换和硬件PWM;
3、中断系统在执行中断函数时是需要占用cpu资源的,就是当前程序暂停跑过去执行中断函数,结束了再回去继续;
4、如果是用来设置功能或模式的寄存器,工作完成后其值是不会改变的,会改变的比如uart的数据缓存器以及定时器的时值,这些随时改变的寄存器也不会影响正常工作;
举例中的错误,51单片机定时器能够定时ds最大周期是65535微秒,即65.535毫秒,不存在定时一秒的情况,除非定时中断内用变量累加判断。

阅读全文

与单片机多线程设置相关的资料

热点内容
php实现redis消息队列 浏览:704
一汽租赁解压南京 浏览:731
服务器PCIE插槽干什么 浏览:810
解压不走c盘 浏览:604
瞿欣欣程序员 浏览:211
抖音点赞源码出售 浏览:961
学计算机什么解压软件好 浏览:237
高铁上如何寻找程序员 浏览:750
pubgmobile怎么转移服务器 浏览:993
原神升级文件夹 浏览:53
9个压缩文件同一个名字怎么解压 浏览:623
functionsphp在哪 浏览:972
安卓手机天气怎么设置到主屏 浏览:564
三星手机的提示app有什么作用 浏览:575
什么邮箱app 浏览:877
程序员那么可爱女主车祸 浏览:282
java遍历set 浏览:1000
游戏源码教学discuz 浏览:47
水环式氢气压缩机的工作原理 浏览:546
php投票cookie 浏览:527