原理搞清楚了,那么下面我们就先编写一个独立按键的程序,把最基本的功能验证一下。
#include <reg52.h>
通常按键所用的开关都是机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上就稳定的接通,在断开时也不会一下子彻底断开,而是在闭合和断开的瞬...
我们讲独立按键扫描的时候,大家已经简单认识了矩阵按键是什么样子了。矩阵按键相当于 4 组每组各 4 个独立按键,一共是 16 个按键。那我们如何区分这些按键呢?想一下我们生活所...
28BYJ-48 是 4 相永磁式减速步进电机,其外观如图 9-3 所示: &...
再重新看一下上面的步进电机外观图和内部结构图:步进电机一共有 5 根引线,其中红色的是公共端,连接到 5V 电源,接下来的橙、黄、粉、蓝就对应了 A、B、C、D 相;那么如果要...
不同数据类型间的相互转换
在 C 语言中,不同数据类型之间是可以混合运算的。当表达式中的数据类型不一致时,首先转换为同一种类型,然后再进行计算。C 语言有两种...
PWM 在单片机中的应用是非常广泛的,它的基本原理很简单,但往往应用于不同场合上意义也不完全一样,这里我先把基本概念和基本原理给大家介绍一下,后边遇到用的时候起码知道是个什么东...
通信按照基本类型可以分为并行通信和串行通信。并行通信时数据的各个位同时传送,可以实现字节为单位通信,但是通信线多占用资源多,成本高。比如我们前边用到的 P0 = 0xFE;一次...
为了让大家充分理解 UART 串口通信的原理,我们先把 P3.0 和 P3.1 当做 IO 口来进行模拟实际串口通信的过程,原理搞懂后,我们再使用寄存器配置实现串口通信过程。&...
1602 液晶内部带了 80 个字节的显示 RAM,用来存储我们发送的数据,它的结构如图12-2 所示。 ...
随着我们对通信技术的深入学习,大家要逐渐在头脑中建立起时序这种概念。所谓“时序”从字面意义上来理解,一是“时间问题”,二是&ld...
我们前边学第 7 章点阵 LED 的时候,可以实现上下移动,左右移动等。而对于 1602 液晶来说,也可以进行屏幕移动,实现我们想要的一些效果,那我们来用一个例程实现字符串在 ...
我们上一节的这个液晶滚屏移动程序,大概有 160 行左右。随着我们硬件模块使用的增多,程序量的增大,我们往往要把程序写到多个文件里,方便代码的编写、维护和移植。
...
在硬件上,I2C 总线是由时钟总线 SCL 和数据总线 SDA 两条线构成,连接到总线上的所有器件的 SCL 都连到一起,所有 SDA 都连到一起。I2C 总线是开漏引脚并联的...
上一节介绍的是 I2C 每一位信号的时序流程,而 I2C 通信在字节级的传输中,也有固定的时序要求。I2C 通信的起始信号(Start)后,首先要发送一个从机的地址,这个地址一...