带返回值的函数 1.返回值之前我们封装的函数都是void类型无返回值的函数。随着学习的深入,我们需要把C语言的精髓学到家。前面几讲在“function.c”中没有提及过按键的函数封装,大家也知道我们在第五章用到的按键功能函数都需要定义全局变量,这种过多的使用全局变量是编程的大忌。 多文件编程 2022年03月29日 54 点赞 0 评论 119064 浏览
串口printf系列函数 1.printf系列的函数实现懂得了单片机通过串口传输数据给电脑端窗口查看,那么,有时我们需要发送字符串,有时需要发送一个变量的数值是多少,以及还要发送回车换行这三种情况。所以我们把这三个功能函数封装起来,方便后续的串口使用。首先笔者写的“voidprintf_str(u8*str)”函数就是专门用来 串口通信 2022年04月30日 136 点赞 0 评论 117460 浏览
按键用法 1.联系生活按键的常用做法就像生活中的电磁炉那样,按下电磁炉上的“+”键后马上松开,发现电磁炉上的数就增加了。现在我们打算用开发板像按电磁炉上的按键一样,按一下灯被点亮,再按一次灯被熄灭这样的来回切换灯的状态的功能。不过在讲解实际运用之前我们还需来了解按键的抖动!2.实际按键过程我们之前所讲的按键过程 独立按键 2022年01月21日 253 点赞 0 评论 116302 浏览
寄存器 1.单片机内部资源大家看到下面这张图片应该不算陌生了可是如果我们看到的是这张的话就会觉得陌生像我们所熟知的P0,P1,P2,P3,包括上图的TCON以及“#include<reg52.h>”头文件中的IE,SCON等等都叫做寄存器。这些寄存器我们粗浅的认为就是一个8位的变量, 外部中断 2022年05月19日 84 点赞 0 评论 116166 浏览
结束语 我们的教程到此就划上了一个完美的句号了,不过对于初学者来说,从串口的内容到后面的知识都是需要慢慢消化掌握的,不可能通过看我们几篇教程就能领悟所有的知识的,尤其是指针和内存之间的关系。程序的执行顺序也是我们需要完全掌握的,特别在子函数特别多的时候, 完结 2022年04月19日 87 点赞 0 评论 116127 浏览
点亮LED 1.硬件连接了解了上一讲的一些元器件的使用原理,那么使用本教程的开发板点亮最右端的LED2的硬件连接简化为如下所示2.软件分析我们知道74HC138要想正常工作,单片机的P1.4要输出0,P1.3输出1。接着要想三极管导通,IO6需要输出低电平, LED及入门 2022年04月20日 213 点赞 0 评论 116124 浏览
定时器简单运用 1.细节上一讲里,我们知道TH0和TL0合成的“16位的变量”的初值最小要为0,不能是负数,所以我们要满足:65536-(x/(12/11059200))>=0。解得x<=0.071111秒=71.111毫秒。也就是用定时器的工作模式1最长的定时时间为71毫秒左右而已。 定时器 2022年02月03日 56 点赞 0 评论 115082 浏览
定时器&数码管扫描显示 1.定时器中断实现间隔切换在第六章第4讲的测试代码中提到过数码管微闪烁问题,这是由于三八译码器的IO端口切换的间隔时间不均匀导致,这部分的问题宋老师已经在《手把手教你学51单片机》文档6.4.2节有详细解释,并在6.5.2节里解决了这个问题。 定时器 2022年02月27日 58 点赞 0 评论 114840 浏览
函数封装 1.简洁代码单片机程序阅读一般都是先从主函数开始,上一讲的程序写法在主函数中显得不简洁,影响人阅读代码的效率。有时我们只需要知道一条语句代表什么意思即可,所以我们把延时部分封装为一个函数,在主函数里调用函数名表示此处语句延时1秒,这样可读性就强的多, LED及入门 2022年03月01日 131 点赞 0 评论 114393 浏览
超声波模块 1.超声波模块型号超声波模块是一种常用的测距工具,一般用在避障小车,水位监控系统中,本教程使用的模块型号为HC-SR04,外观形状大体如下模块除了两个电源引脚外,还有TRIG,ECHO引脚,这两个引脚分别接我们开发板的P2.0和P2.1。工作原理就是起初先给这两个引脚都拉低, 舵机与超声波模块 2022年02月18日 213 点赞 0 评论 114248 浏览