代码文件和测试 创建好“infrared.c”和“infrared.h”文件。1.infrared.c的代码#include<reg52.h>#include<infrared.h>unsignedcharirflag=0;//红外接收标志,收到一帧正确数据后置1unsignedcharircode[4];//红外代 红外遥控与温度传感器 2022年01月11日 88 点赞 0 评论 107428 浏览
定时器工作模式 1.两种“试管”这种“试管”有65535个刻度的型号,也有255个刻度的型号,不过我们的导管水流流速是永远不变的。如果我们用的是大试管(65535个刻度),那么溢出时间我们可以控制的长一些,也就是定时时间可以多一点。我们要是想定时36个单位刻度的时间, 定时器 2022年01月09日 162 点赞 0 评论 97853 浏览
函数传参调用 本讲在上一讲的代码基础上讲解新的编程知识:函数参数传递调用!1.推陈出新上一讲的函数封装“delay();”是一个固定的功能,只能做延时1秒的作用,大多数情况下我们希望一个函数用相同的函数名通过修改一个值可以实现不一样的功能,所以就产生了函数带参调用的编程手法。 LED及入门 2022年04月03日 256 点赞 0 评论 128022 浏览
第一阶段综合例程(上) 1.其他按键的使用我们之前都是让P2.3输出低电平来让K1,K2,K3,K4作为独立按键,那我们要想用K13,K14,K15,K16做独立按键时只要P2.0输出低电平就可以了。下面是简化的原理图2.美女与男人作为本章的最后一个题目,我们结合所有学过的知识做一个综合例程,实现美女与男人的游戏的功能代码。 独立按键 2022年02月19日 223 点赞 0 评论 107670 浏览
定时器&数码管扫描显示 1.定时器中断实现间隔切换在第六章第4讲的测试代码中提到过数码管微闪烁问题,这是由于三八译码器的IO端口切换的间隔时间不均匀导致,这部分的问题宋老师已经在《手把手教你学51单片机》文档6.4.2节有详细解释,并在6.5.2节里解决了这个问题。 定时器 2022年02月27日 58 点赞 0 评论 114840 浏览
再次优化不支持连按的代码 1.还需消抖可以看到我们在第6讲和第7讲的按键不支持连按代码中,死循环都有“delay_ms(2);”,因为大多数时候主循环都要做很多事,所以我们认为这2ms的延时是很多复杂程序要执行所消耗的时间,而正是因为这个延时函数的存在把按键的物理抖动给滤掉了,误导了我们以为这样的不支持连按代码是合格的。 独立按键 2022年01月19日 57 点赞 0 评论 73333 浏览
中断函数 1.中断函数概念上一讲里,当赋值IT0为1时,P3.2遇到下降沿,IE0被置1,要想使IE0自动清零,我们引用中断函数就可以了。我们可能已经习惯了都是在main函数里阅读分析代码,其实还有另一种函数需要我们认识的,那就是中断函数。所谓中断函数就是当它满足一定的条件时就会暂停主函数的执行内容, 外部中断 2022年04月13日 173 点赞 0 评论 136065 浏览
指向数组的指针 在串口章节和液晶屏章节的部分代码中总是看到“*str!='\0'”和“*str++”却一时难以理解意思,本节我们将简要讲解这两部分代码的含义,但前提需要大家有对指针方面的知识基础,建议先了解《手把手教你学51单片机》文档12.1节知识内容先。 1602液晶屏 2022年01月02日 129 点赞 0 评论 109777 浏览
闪烁的LED 延时是单片机入门必学的应用!1.序上一讲我们已经实现点亮一盏灯,但是很多时候程序的执行都是要死循环的,不能让程序像是停在那里不执行了。所以这一讲在前面的原理图基础上实现让LED2从点亮一段时间到熄灭一段时间再点亮一段时间如此循环下去,实现闪烁LED2的功能。 LED及入门 2022年03月26日 118 点赞 0 评论 110430 浏览
单独文件封装 1.再遇多文件编程因为定时器经常在后面的教程中使用到,所以我们也把这部分功能代码单独使用文件封装起来。在第六章的教程中已经教过大家多文件创建,这里点到为止。创建好“timer.c”和“timer.h”添加进工程中2.timer.c的代码#include<reg52.h>#include<functio 定时器 2022年04月15日 160 点赞 0 评论 91165 浏览