PCF8591是一个单电源低功耗的8位CMOS数据采集器件,具有4路模拟输入,1路模拟输出和一个串行I2C总线接口用来与MCU通信。3个地址引脚A0、A1、A2用于编程硬件地址,允许最多8个器件连接到I2C总线而不需要额外的片选电路。器件的地址、控制以及数据都是通过I2C总线来传输,我们先看一下PCF8591的原理图,[详细]
单片机最小系统主要由电源、复位、振荡电路以及扩展部分等部分组成。最小系统原理图如图所示。电源模块对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源模块的稳定可靠是系统平稳运行的前提和基础。51单片机虽然使用时间最早、应用范围最广,但是在实际使用过程中,一个和典型的问题[详细]
I2C总线是由PHILIPS公司开发的两线式串行总线,多用于连接微处理器及其外围设备。I2C总线的主要特点是接口方式简单,两条线可以挂多个参与通信的器件,即多机模式,而且任何一个器件都可以作为主机,当然同一时刻只能一个主机。 从原理上来讲,UART属于异步通信,比如电脑发送给单片机,电脑只负责把数[详细]
PCF8591的通信接口是I2C,那么编程肯定是符合这个协议的。单片机对PCF8591进行初始化,一共发送三个字节即可。第一个字节,和EEPROM类似,第一个字节是地址字节,其中7位代表地址,1位代表读写方向。地址高4位固定是1001,低三位是A2,A1,A0,这三位我们电路上都接了GND,因此也就是000,如图1所示。[详细]
随着技术的发展,工业上还有RS232串口通信的大量使用,但是商业技术的应用上,已经慢慢的使用USB转UART技术取代了RS232串口,绝大多数笔记本电脑已经没有串口这个东西了,那我们要实现单片机和电脑之间的通信该如何办呢?我们只需要在我们电路上添加一个USB转串口芯片,就可以成功实现USB通信协议和标[详细]
给从机下发不同的指令,从机去执行不同的操作,这个就是判断一下功能码即可,和我们前边学的实用串口例程是类似的。多机通信,无非就是添加了一个设备地址判断而已,难度也不是很大。我们找了一个Modbus调试精灵,通过设置设备地址,读写寄存器的地址以及数值数量等参数,可以直接替代串口调试助手,比[详细]
本节课的DS1302是个实时时钟芯片,我们可以用单片机写入时间或者读取当前的时间数据,我也会带着大家通过阅读这个芯片的数据手册来学习和掌握这个器件。由于IT技术国际化比较强,因此数据手册绝大多数都是英文的,导致很多英语基础不好的同学看到英文手册头就大了。这里我要告诉大家的是,只要精神不退缩,方法[详细]
细心的同学在阅读PCF8591手册的时候,会发现控制字的第4位和第5位是用于控制PCF8591的模拟输入引脚是单端输入还是差分输入。差分输入是模拟电路常用的一个技巧,这里我们简单介绍一些相关内容。 从严格意义上来讲,所有的信号都是差分信号,因为所有的电压只能是相对于另外一个电压而言。但是大多[详细]
似乎我们多次提到了上拉电阻,下拉电阻,具体到底什么样的电阻算是上下拉电阻,上下拉电阻都有何作用呢?上拉电阻就是将不确定的信号通过一个电阻拉到高电平,同时此电阻也起到一个限流作用,下拉就是下拉到低电平。比如我们的IO设置为开漏输出高电平或者是高阻态时,默认的电位是不确定的,外部经一个电阻[详细]
1、电源我们在学习过程中,很多指标都是直接用的概念指标,比如我们说+5V代表1,GND代表0等等这些。但在实际电路中是没有这么精准的,那这些指标允许范围是什么呢?随着我们所学的内容不断增多,大家要慢慢培养一种阅读手册的能力。比如我们使用STC89C52RC单片机的时候,我们找到他的手册的11页,第二个[详细]
为了让大家充分理解UART串口通信的原理,我们先用P3.0和P3.1这两个当做IO口来进行模拟实际串口通信的过程,原理搞懂后,我们再使用寄存器配置实现串口通信过程。 对于UART串口波特率,常用的值是300、600、1200、2400、4800、9600、14400、19200、28800、38400、57600、115200、128000、256000等速[详细]
时钟周期:时钟周期T是时序中最小的时间单位具体计算的方法就是1/时钟源,我们KST-51单片机开发板上用的晶振是11.0592M,那么对于我们这个单片机系统来说,时钟周期=1/11059200秒。 机器周期:我们的单片机完成一个操作的最短时间。机器周期主要针对汇编语言而言,在汇编语言下程序的每一条语句执[详细]
在C语言程序中,是不能一次使用整个数组的,只能使用单个数组元素。一个数组元素相当于一个变量,使用数组元素的时候与使用相同数据类型的变量的方法一样。比如这个LedChar这个数组,如果没加code关键字,那么它可读可写,我们可以写成a = LedChar[0]这样来把数组的一个元素的值送个a这个变[详细]
1、通信的三种基本类型我们常用的通信通常可以分为单工、半双工、全双工通信。单工就是指只允许一方向另外一方传送信息,而另一方不能回传信息。比如我们的电视遥控器,我们的收音机广播等,都是单工通信技术。半双工是指数据可以在双方之间相互传播,但是同一时刻只能其中一方发给另外一方,比如我们的对讲机就[详细]
看似很简单的东西,但是从同学们学习视频的情况来看,很多同学不能彻底明白。这里先简单介绍一些注意事项,然后还是从实验中讲解会比较深刻。1、十进制就不多说了,逢十进位,一个位有十个值:0~9,我们的生活中到处都是它的身影。二进制就是逢二进位,它的一个位只有两个值:0和1,但它却是实现计算机系统的[详细]
for语句是我们今后编程的一个常用的语句,这个语句必须得学会其用法,他不仅仅可以用来做延时,还可以用来做一些循环运算。for语句的一般形式如下: for(表达式1; 表达式2; 表达式3) (需要执行的语句); 其执行过程是:表达式1首先执行且只执行一次;然后执行表达式2,通常都是一个用于判定条[详细]
不管是数字电路,还是C语言,我们都会经常遇到逻辑运算和逻辑电路,在这里我介绍一下,大家先简单了解一下,知道有这么回事,回头遇到了,再详细研究。 首先,在“逻辑”这个概念范畴内,存在真和假这两个逻辑值,而将其对应到数字电路或C语言中,就变成了“非0值”和“0值”这两个值,即逻辑上的“假[详细]
C语言常用的延时办法,有以下4种图1 C语言延时 图1是我们编程语言常用的4种延时方法,其中两种非精确延时,两种精确一些的延时。for语句和while语句都可以通过改变i的范围值来改变延时时间,但是C语言的时间都是不能通过程序看出来的。 精确延时有两个方法,一个方法是用定时器来延时,这个方法[详细]
在我们单片机C语言编程的时候,每个程序我们都会固定的加一句while(1),这条语句就可以起到死循环的作用。对于while语句来说,他的一般形式是: While (表达式) { 循环体语句; [详细]

扫码关注我们
0755-82591179
邮箱:ivy@yingtexin.net
地址:深圳市南山区桃源街道平山社区平山一路2号南山云谷创业园二期11栋410-411

Copyright © 2014-2026 颖特新科技有限公司 All Rights Reserved. 粤ICP备14043402号-4