-
在数字电路,我们经常会遇到逻辑电路,而在 C 语言中,我们则经常用到逻辑运算。二者在原理上是相互关联的,我们在这里就先简单介绍一下,随着学习的深入,再慢慢加深理解。 ...
-
LED 小灯是一种简单的 LED,只能通过亮和灭来表达简单的信息。而这节课我们要来学习一种能表达更复杂信息的器件——LED 数码管。
...
-
电源我们在学习过程中,很多指标都是直接用的概念指标,比如我们说+5V 代表 1,GND 代表 0 等等。但在实际电路中的电压值并不是完全精准的,那这些指标允许范围是什么呢?随着...
-
不同数据类型间的相互转换
在 C 语言中,不同数据类型之间是可以混合运算的。当表达式中的数据类型不一致时,首先转换为同一种类型,然后再进行计算。C 语言有两种...
-
前边介绍单片机资源的时候,我们提到过 STC89C52 共有 512 字节的 RAM,是用来保存数据的,比如我们定义的变量都是直接存在 RAM 里边的。但是单片机的这 512 ...
-
通信,按照传统的理解就是信息的传输与交换。对于单片机来说,通信则与传感器、存储芯片、外围控制芯片等技术紧密结合,成为整个单片机系统的“神经中枢”。没有通...
-
在我们的台式电脑上,一般都会有一个 9 针的串行接口,这个串行接口叫做 RS232 接口,它和 UART 通信有关联,但是由于现在笔记本电脑都不带这种 9 针串口了,所以和单片...
-
随着技术的发展,工业上还有 RS232 串口通信的大量使用,但是商业技术的应用上,已经慢慢的使用 USB 转 UART 技术取代了 RS232 串口,绝大多数笔记本电脑已经没有...
-
前几章我们学了一种通信协议叫做 UART 异步串行通信,这节课我们要来学习第二种常用的通信协议 I2C。I2C 总线是由 PHILIPS 公司开发的两线式串行总线,多用于连接微...
-
上一节介绍的是 I2C 每一位信号的时序流程,而 I2C 通信在字节级的传输中,也有固定的时序要求。I2C 通信的起始信号(Start)后,首先要发送一个从机的地址,这个地址一...
-
在日常生产生活中用的最多的数字是十进制数字,而单片机系统的所有数据本质上都是二进制的,所以聪明的前辈们就给我们创造了 BCD 码。
BCD 码(Binary-...
-
DS1302 是个实时时钟芯片,我们可以用单片机写入时间或者读取当前的时间数据,下面带着大家通过阅读这个芯片的数据手册来学习和掌握这个器件。
由于 IT 技术...
-
我们平时所用的不管是单片机,还是其它一些电子器件,根据使用条件的约束,可以分为商业级和工业级,主要是工作温度范围的不同,DS1302 的购买信息如下图 15-4 所示。 &nb...
-
DS1302 的一条指令一个字节共 8 位,其中第 7 位(即最高位)固定为 1,这一位如果是0 的话,那写进去也是无效的。第 6 位是选择 RAM 还是 CLOCK 的,我前...
-
进行产品开发的时候,逻辑的严谨性非常重要,如果一个产品或者程序逻辑上不严谨,就有可能出现功能上的错误。比如我们 15.3.4 节里的这个程序,我们再回顾一下,当单片机定时器时间...
-
共用体除非必要,否则我们不推荐使用,枚举的用法比较简单,在本书 19 章的项目实践中有很好的示例,这节课我们先来练习一下结构体的使用。下边这个程序的功能是一个带日期的电子钟,相...
-
PCF8591 是一个单电源低功耗的 8 位 CMOS 数据采集器件,具有 4 路模拟输入,1 路模拟输出和一个串行 I2C 总线接口用来与单片机通信。与前面讲过的 24C02...
-
RS232 标准是诞生于 RS485 之前的,但是 RS232 有几处不足的地方:
1. 接口的信号电平值较高,达到十几 V,使用不当容易损坏接口芯片,电平标...
-
在PIC系列单片机入门并不难(1)中,我们已经把8条腿消化掉了,其实我们要弄明白的也就3只腿,我们再简单一些,先整明白两条腿,即GP0,GP1...
-
前面已经学会了三条指令,至此,8位寄存器的概念概念一定要建立起来,程序通过写入寄存器不同的数据控制管脚作为输入使用还是输出使用,作为输出时是输...