![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
51单片机精选代码
文章平均质量分 74
山东徐大侠
当个笔记用,如能帮到你万分荣幸
展开
-
一个短小精悍的非阻塞软定时器。
这样会造成执行效率的下降,而且中断看起来也乱糟糟的,如果我们直接使用阻塞延时,又会导致其他任务得不到及时处理。为了综合考虑我们还是要利用定时器来进行计数,所以我们先定义一个变量AppTimer,这时候我们又想到一个问题。因为我们要判断定时器是不是空闲的,假如>1说明正在定时中,等于1说明定时已经完成了。我们读完以后总得直到他到底是个什么状态吧,在我的项目里一般每个函数我都会加一个AppStaType判断函数的执行状态,具体定义如下。至此,一个开启,查询式的软定时器就完事了。使用,也可以配合状态机使用。原创 2023-04-07 09:52:26 · 239 阅读 · 0 评论 -
适合单片机使用的一个短小精悍的时间片轮询系统
随着单片机外设的日益丰富,以及RAM,ROM的增大。RTOS实时操作系统被越来越广泛的使用。实时操作系统对任务的实时性高效处理是毋容置疑的!但是有更多的情况我们仅仅需要一个短小精悍的轮询系统,比如实时要求不高的任务,受限内存的51系列单片机,任务较少的项目,入门不不久新朋友。相对于实时操作系统,裸机开发更简单,更快捷,代码更精简,代码执行效率更高!在逻辑不是特别复杂,要求不是特别高的情况下,裸机开发反而更适合项目需求!废话不多说先上连接点此免费下载源代码在STC官方库......原创 2022-05-13 16:19:30 · 2176 阅读 · 7 评论 -
51单片机非阻塞串口中断收发数据
51单片机是指8051内核的8位单片机,因其内部结构相对简单,成本低廉,所以应用非常广泛!串口作为单片机最基本的通信接口,无论是开发调试,日常使用都是用得比较频繁的一个基本外设!但是很多教程包括官方提供的资料都是使用查询法发送数据!基本流程就是等待忙闲标志归0,忙闲标志置1,写SBUF寄存器,等待发送完成进入中断,忙闲标志清零。发送下一字节。#include "reg51.h"#include "intrins.h"#define FOSC 11059200UL...原创 2022-05-09 09:59:42 · 3174 阅读 · 8 评论