单片机

多文件编写

为了与主流的编程素养接轨,我们本章讲解如何书写简洁并且高效率的代码以及首次运用多文件编程。多文件的作用是方便编写大程序时更加的模块化,那么至于原理,头文件包含关系等这些知识还需读者自己再多多补补C语言知识了。1.多文件的优势运用多文件编程是为了使我们教程无需每次都贴出相同功能的代码,

流水灯的优化解说

1.题目为了更好地体现上一讲优化好的不支持连按代码的优势,我们来一道题目:用上7盏灯,左边6盏不停地流水,最右边1盏实现按键切换灯的打开和关闭,且按键动作不能干扰到流水灯的流速状态。实验现象状态模拟如下11111011//按键没按下11110111//按键没按下11101110//按键按下后抬起110

无源蜂鸣器+LED

1.联系生活我们已经学会控制无源蜂鸣器鸣叫的时间,那么作为本章最后一讲,联合我们学过的LED章节知识,写一个用开发板实现一个生活常见现象的代码,比如常见机器报警时,灯亮的时候蜂鸣器就响,灯灭的时候就不响,时间上表现为灯亮的时候蜂鸣器马上响,亮的时间和鸣叫的时间都为1秒,

串口通信入门

在讲解本章的内容之前请大家先反复阅读《手把手教你学51单片机》文档的第11章内容,很多概念文档都已详细讲解有。1.波特率串口通信就是单片机与电脑端,单片机与单片机,单片机与模块器件之间互发信息进行通信,比如单片机发送一个“1”的字符给电脑端,电脑端的窗口就会接收到“1”。

定时时长的做法

1.“水量”的确定我们已经懂得怎么选用“试管”了,如何装多大的“水量”来决定定时的时长呢。首先我们先拿“大试管”来说,定时器0有两个寄存器分别是TH0和TL0,大家再次粗浅的把TH0和TL0认为是两个8位的变量先吧。因为我们用的是“大试管”,

结束语

我们的教程到此就划上了一个完美的句号了,不过对于初学者来说,从串口的内容到后面的知识都是需要慢慢消化掌握的,不可能通过看我们几篇教程就能领悟所有的知识的,尤其是指针和内存之间的关系。程序的执行顺序也是我们需要完全掌握的,特别在子函数特别多的时候,

外部中断测脉冲个数

1.外部中断的常用功能外部中断经常用来记录外部脉冲的个数,也就是当我们使用外部中断1时,如果想记录自身单片机的某个引脚的下降沿个数,只需用杜邦线把这个引脚和P3.3连接即可。比如P2.3引脚产生这样的电平无规律跳转,则下降沿的个数为5所以我们就用外部中断1来实现记录K4按键从按下到松手的抖动过程中经历

代码文件和测试

创建好“infrared.c”和“infrared.h”文件。1.infrared.c的代码#include<reg52.h>#include<infrared.h>unsignedcharirflag=0;//红外接收标志,收到一帧正确数据后置1unsignedcharircode[4];//红外代

呼吸灯

1.双定时器呼吸灯实现呼吸灯的实现原理就是让小灯的IO端口在一段时间里PWM由大到小变化的占空比输出,接着又由小到大的占空比输出,小灯显示效果就是时亮时暗地交替闪烁。首先我们用定时器0定时0.1ms,全局变量pwm在其中断函数里执行简单的从0到99的循环自加,这样周期就是10ms。

串口&EEPROM

1.题目要求作为本教程最后一个例程,我们也不打算写的太复杂,这次还是运用串口的知识,实现用串口往EEPROM写入数据,同时也能用串口读出EEPROM里的数据出来显示在电脑端的窗口上。根据前几讲的串口与液晶屏的代码理解,这一讲的例程也不难理解。