C语言里如何编写精确的微量延时-众所周知,相比于其他编程语言,C语言在编写嵌入式编程中有着绝对的优势。但它总也有缺点的:它的时序性比较差,不容易编写精准的延时。而在编写嵌入系统驱动程序时,常常需要比较精确的软件延时,这使得C语言的“劣势”暴露了出来,一般都只能通过嵌入汇编的方式实现。
基于AVR单片机端口的操作方法解析-AVR端口是真正的双向端口,不像51伪双向。这也是AVR的一项优势,只是操作时大家注意DDRn就可以了。真正双向端口在模拟时序方面不如伪双向的方便。
DDRnPORTnPINn解释:n为端口号:ABCDE
DDRn:控制端口是输入还是输出,0为输入,1为输出。个人记忆方法:一比零大所以往外挤,即1为输出,0为输入。
STM32单片机的ADS1115通过模拟I2C驱动-收获:对于I2C通信协议的理解更加深刻,对ADS1115也能进行单通道的使用。I2C的开始、发送/读写、应答、结束等一定要严格按照时序操作,ADS的操作还有所欠缺,仅仅会配置单通道,对于其他配置并没有关注,最近要把多通道的和阈值的配置也写好,到时再更新
80C51单片机模拟I2C总线的主机程序分享-I2C总线协议程序
在使用的过程中一定要注意时序、时间的问题。
i2c.c
/*
I2C.c
标准80C51单片机模拟I2C总线的主机程序
All rights reserved.
*/
#include “I2C.h”
//定义延时变量,用于宏I2C_Delay()
unsigned char data I2C_Delay_t;
/*
单片机P0口的内部结构及工作原理-当D端和CP/CLK端同时有信号输入后突然撤掉CP/CLK信号时,D的值将会被保存到(“锁”)在器件内,此时Q和~Q端并没有信号输出,等下一个时序再次输入到CP/CLK端,Q和~Q将会正常输出D端传送的信号;
单片机p0口的工作原理解析-当D端和CP/CLK端同时有信号输入后突然撤掉CP/CLK信号时,D的值将会被保存到(“锁”)在器件内,此时Q和~Q端并没有信号输出,等下一个时序再次输入到CP/CLK端,Q和~Q将会正常输出D端传送的信号;
51单片机对LCD1602液晶的驱动设计-1、1602液晶读写时序
(1)、读状态
RS=L,R/W=H,E=H。(判断忙完毕后释放总线)
(2)、读数据
RS=H,R/W=H,E=H。
(3)、写指令
RS=L,R/W=L,D0~D7=指令码,E=高脉冲
(4)、写数据
RS=H,R/W=L,D0~D7=数据,E=高脉冲