单片机

延时1秒

延时1秒1.准确延时学会了上一讲的软件调试教学,我们现在用软件调试出延时很接近1毫秒的代码:for(j=115;j>0;j--);如果要延时1秒,那是不是循环1000次这条语句呢?for(i=0……

指向数组的指针

指向数组的指针在串口章节和液晶屏章节的部分代码中总是看到“ *str!='\0' ”和“ *……

中断函数

中断函数1.中断函数概念上一讲里,当赋值IT0为1时,P3.2遇到下降沿,IE0被置1,要想使IE0自动清零,我们引用中断函数就可以了。我们可能已经习惯了都是在main函数里阅读分析代码,其实还有另一种函数需……

多个数码管显示

多个数码管显示1.余晖效应流水灯如果在流速太快的基础上再加速,那么我们看到的则是一排灯都在亮着,这就叫人眼的余晖效应。同理,我们想让多个数码管同时亮,那么就要让三八译码器的IO0~IO5每个输出引脚轮流快速切换出低……

遥控器控制舵机

遥控器控制舵机1.题目要求我们在第九章第2讲第一个例程“按键控制舵机桨”的基础上,实现用红外遥控器的前三行按键控制舵机桨停留在我们想要的位置,这样就实现了无线遥控控制机械结构运动的简单功能。……

单独文件封装

单独文件封装1.再遇多文件编程因为定时器经常在后面的教程中使用到,所以我们也把这部分功能代码单独使用文件封装起来。在第六章的教程中已经教过大家多文件创建,这里点到为止。创建好“timer.c&rdqu……

支持连按与全局变量

支持连按与全局变量1.支持连按的思路支持连按的代码就是在“不支持连按”代码的思路上把“if(KEY4==1)”改为“if(KEY4==0)”,这样……

程序点灯

程序点灯1.头文件在#include<reg52.h>头文件中,把单片机中的寄存器地址封装起来定义成宏供我们调用,寄存器这个概念我们初学先不用太深刻的去理解它,在《手把手教你学51……

简洁式串口通信

简洁式串口通信1.串口配置函数上一讲的讲解是让大家对《手把手教你学51单片机》文档的第十一章的第一个例程的辅助理解,我们没有写单片机接收电脑端发送回来的数据字节做处理的代码。因为这些都是IO端口模拟的串口通信,由于……

无源蜂鸣器题目

无源蜂鸣器题目1.初学者的坑上一讲的代码单片机一上电无源蜂鸣器就不停鸣叫比较吵,那么我们有没有办法让它规定响多久就可以停止不叫了呢。首先我们知道要想让无源蜂鸣器持续响,那么P1.6就要以一定的时间间隔(也可叫一定频……