静态变量 1.staticstatic一般不用在主函数中,大多数在中断函数和封装好的子函数里运用,它的作用是保证在子函数或中断函数中定义的变量每次调用完之后都可以保持调用完时候的值,《手把手教你学51单片机》文档7.2节有这个知识点的讲解,不过我们还是用代码来解释这个static的作用吧。 独立按键 2022年05月24日 167 点赞 0 评论 85736 浏览
指向数组的指针 在串口章节和液晶屏章节的部分代码中总是看到“*str!='\0'”和“*str++”却一时难以理解意思,本节我们将简要讲解这两部分代码的含义,但前提需要大家有对指针方面的知识基础,建议先了解《手把手教你学51单片机》文档12.1节知识内容先。 1602液晶屏 2022年01月02日 129 点赞 0 评论 109777 浏览
代码对比 1.延时函数退出舞台有了上一讲的理论讲解,代码的实现就比较简单了,实验现象就是高6位的6盏灯不停流水,我们用K4按键控制LED2的亮灭,并且途中并没有影响到6盏流水灯的运行。我们知道以前流水灯是需要延时才能看得到流水现象的,那么现在再用延时函数的话,按键就没有意义了。 独立按键 2022年04月25日 200 点赞 0 评论 107808 浏览
数组与移位 1.数组运用实现上一节的功能其实还有更简洁的方法去书写,那就是引用数组,用数组存取灯的八种状态值。定义含有8个元素的数组如下:unsignedcharLEDSET[8]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};每个元素轮流赋值给P0后延时即可。 LED及入门 2022年03月17日 255 点赞 0 评论 122669 浏览
定时时长的做法 1.“水量”的确定我们已经懂得怎么选用“试管”了,如何装多大的“水量”来决定定时的时长呢。首先我们先拿“大试管”来说,定时器0有两个寄存器分别是TH0和TL0,大家再次粗浅的把TH0和TL0认为是两个8位的变量先吧。因为我们用的是“大试管”, 定时器 2022年04月13日 196 点赞 0 评论 122263 浏览
遥控器控制舵机 1.题目要求我们在第九章第2讲第一个例程“按键控制舵机桨”的基础上,实现用红外遥控器的前三行按键控制舵机桨停留在我们想要的位置,这样就实现了无线遥控控制机械结构运动的简单功能。2.main.c测试代码#include<reg52.h>#include<function.h>//详见第六章第8讲#inc 混合例程 2022年04月12日 227 点赞 0 评论 112954 浏览
简洁式串口通信 1.串口配置函数上一讲的讲解是让大家对《手把手教你学51单片机》文档的第十一章的第一个例程的辅助理解,我们没有写单片机接收电脑端发送回来的数据字节做处理的代码。因为这些都是IO端口模拟的串口通信,由于51单片机本身集成有串口模块,所以我们使用其硬件资源即可, 串口通信 2022年02月25日 64 点赞 0 评论 89886 浏览
进一步理解中断函数 1.另一个外部中断前面两讲都是围绕外部中断0(P3.2的功能)来讲解,这里我们也还有一个外部中断1(P3.3的功能)。P3.3要想实现上一讲的功能只需杜邦线接下面的IO端口即可代码就是把“EX0”改为“EX1”,“IT0”改为“IT1”。interrupt后面的0要改为2, 外部中断 2022年04月09日 148 点赞 0 评论 119573 浏览
温度传感器代码解析Ⅰ 温度传感器的读写时序原理跟红外遥控差不多,关于宋老师的lesson16_2例程的DS18B20.c的代码这里我们就不讲解了,《手把手教你学51单片机》文档第16章都已讲解明白。我们要讲解的是温度数值的转换如何在液晶屏上显示出来。1.大于等于0度的转换首先我们知道大于等于0度的时候, 红外遥控与温度传感器 2022年05月26日 125 点赞 0 评论 98976 浏览
呼吸灯 1.双定时器呼吸灯实现呼吸灯的实现原理就是让小灯的IO端口在一段时间里PWM由大到小变化的占空比输出,接着又由小到大的占空比输出,小灯显示效果就是时亮时暗地交替闪烁。首先我们用定时器0定时0.1ms,全局变量pwm在其中断函数里执行简单的从0到99的循环自加,这样周期就是10ms。 定时器 2022年01月05日 70 点赞 0 评论 87506 浏览