
51单片机如何实现多线程多任务?有哪些程序可以在“后台”自己运行?
2个回答
展开全部
1、51单片机无法实现多线程任务,只能实现单线程。这是由51单片机的硬件决定的,否则多线程芯片就没有必要设计出来了。
2、51单片机的硬件资源,如:定时器、计数器、捕获器、比较器、AD转换、pwm、UART等等大部分的硬件资源,初始化以及启动由用户控制。开始运行后,51单片机的相关硬件电路能自动运行,无需干预。
3、在这些硬件资源运行过程中,用户可以进行其他操作(一般不更改正在运行的硬件资源,否则会影响初始设定)。
4、但在这些硬件资源运行结束后,大部分的情况下,对应的特殊寄存器(含中断)会被更改,此时,需用户进行查询特殊寄存器或处理中断。处理这些时,用户需要停止正在运行的程序,不能同时进行其他工作。
例如:
用户设置定时器为周期1S;开启定时器中断。
启动定时器后,用户可以执行其他无关定时器的运算、控制。到达1S的时间时,定时器产生中断,用户执行的程序将被停止,保存现场后,程序运行跳转至定时器中断,开始执行定时器中断程序。在定时器中断程序执行结束后,恢复现场,重新从用户程序被中断的位置开始运行。
2、51单片机的硬件资源,如:定时器、计数器、捕获器、比较器、AD转换、pwm、UART等等大部分的硬件资源,初始化以及启动由用户控制。开始运行后,51单片机的相关硬件电路能自动运行,无需干预。
3、在这些硬件资源运行过程中,用户可以进行其他操作(一般不更改正在运行的硬件资源,否则会影响初始设定)。
4、但在这些硬件资源运行结束后,大部分的情况下,对应的特殊寄存器(含中断)会被更改,此时,需用户进行查询特殊寄存器或处理中断。处理这些时,用户需要停止正在运行的程序,不能同时进行其他工作。
例如:
用户设置定时器为周期1S;开启定时器中断。
启动定时器后,用户可以执行其他无关定时器的运算、控制。到达1S的时间时,定时器产生中断,用户执行的程序将被停止,保存现场后,程序运行跳转至定时器中断,开始执行定时器中断程序。在定时器中断程序执行结束后,恢复现场,重新从用户程序被中断的位置开始运行。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |