网站设计参考文献有哪些,网站黑链检测,济宁市任城区建设局网站,番禺人才网车床工铣床工招聘我们前面的博文《输入端口少如何扩展#xff1f;74hc148或74ls148级联在arduino中实现16转4的应用》介绍了148,148输入后可以立即输出到数码管#xff0c;可以说它是自带编BCD编码器的。而今天这里我们主要介绍的74hc165是没有编码器#xff0c;这里我们以proteus为仿真环境…我们前面的博文《输入端口少如何扩展74hc148或74ls148级联在arduino中实现16转4的应用》介绍了148,148输入后可以立即输出到数码管可以说它是自带编BCD编码器的。而今天这里我们主要介绍的74hc165是没有编码器这里我们以proteus为仿真环境arduino作为编译代码环境。 文章原出处https://blog.csdn.net/haigear/article/details/132911752
一、芯片介绍
1、图片介绍
常规我们拿到的165的芯片是这样的芯片手册中的管脚顺序及命名方式和proteus中的有所差别左边的图为芯片手册中的图右边的为proteus中的图 很明显我们看到proteus中9号管脚为SO而芯片手册中的9号管脚为Qh名称不但作用都是输出脚。
2、管脚功能描述
由于我们重点在proteus中仿真所以我们这里只对proteus中的管脚进行功能的介绍
管脚名:功能描述:D0…D7并行输入脚INH并联负载低电平有效SH/LD即我们说的CP串行时钟CLK时钟使能低电平有效SO串行输出,即我们常说的DSQH反相串行输出通常不使用SI串行输入*
二、原理图
这里我们只是为了测试其功能简单的使用了一个排阻和8个按钮接在了并行输入端口D0~D7上。 二、测试代码 几个管脚的定义这里我们说明一下好让大家能够与上表列出的管脚对应这里的datapin就是so管脚clockpin就是CLK管脚latchPin就是SH/LD管脚。 下面的代码只是一个简单的演示代码所以就不过多的做解释了。
/* Main.ino file generated by New Project wizard** Created: 周四 9月 14 2023* Processor: ATmega328P* Compiler: Arduino AVR (Proteus)*/const int dataPin 2; // 数据引脚
const int clockPin 3; // 时钟引脚
const int latchPin 4; // 锁存引脚
const int numRegisters 1; // 74HC165芯片个数byte registerData[numRegisters]; // 存储74HC165芯片数据的数组void setup() {pinMode(dataPin, INPUT);pinMode(clockPin, OUTPUT);pinMode(latchPin, OUTPUT);// 初始化串行通信Serial.begin(9600);
}void loop() {// 读取74HC165芯片数据readData();// 打印每个输入引脚状态for (int i 0; i numRegisters * 8; i) {Serial.print(Input );Serial.print(i);Serial.print(: );Serial.println(bitRead(registerData[i / 8], i % 8));}delay(1000);
}void readData() {digitalWrite(latchPin, LOW);delayMicroseconds(10);digitalWrite(latchPin, HIGH);for (int i numRegisters - 1; i 0; i--) {registerData[i] shiftIn(dataPin, clockPin, MSBFIRST);}
}对于初学者我们看到shiftIn或者shiftOut这样的函数都是arduino自带的为移位操作特别定制的函数可以在arduino的IDE中reference里面查找。
三、测试效果 有了上面的基本电路后我们就可以实现对arduino或者其他的stm32或者8051单片机的输入端口的扩展比如我们加一个键盘矩阵或者多个按钮那就再也不用担心输入端口不够啦。如果键盘数量大于8个那我们可以通过SO和下一个165芯片的SI进行级联实现8xn的端口扩展比如做一个电子琴那就要多级联几个才足够我们实现多个音阶。
文章随时可能更新请注明原出处https://blog.csdn.net/haigear/article/details/132911752
级联有一片博文可以供大家参考我这里就不赘述https://www.cnblogs.com/F-91/p/14713514.html