74hc595共阴极数码管显示
时间: 2024-06-13 07:04:57 浏览: 223
74HC595控制8位数码管-电路方案
74HC595芯片是串转并移位寄存器,可以通过串行输入控制并行输出,常用于驱动数码管等显示器件。而共阴极数码管与共阳极数码管的区别在于公共端的连接方式,共阴极数码管需要给对应段高电平才会点亮,而74HC595芯片输出的是低电平,因此需要使用PNP三极管或N沟MOS管进行电平转换。具体实现方法可以参考以下步骤:
```c++
// 引用代码[1]
int num[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f}; // 数码管0~9显示的值
int digit[4] = {0x01, 0x02, 0x04, 0x08}; // 数码管位选控制值
void display(int n) { // 显示数字n
for (int i = 0; i < 4; i++) {
digitalWrite(latchPin, LOW); // 拉低锁存器使能端
shiftOut(dataPin, clockPin, MSBFIRST, num[n % 10]); // 输出个位数码管的值
shiftOut(dataPin, clockPin, MSBFIRST, digit[i]); // 输出位选控制值
digitalWrite(latchPin, HIGH); // 拉高锁存器使能端,完成一次输出
delay(5); // 延时5ms,控制亮度
n /= 10; // 取下一位数字
}
}
// 引用代码[2]
void setup() {
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop() {
for (int i = 0; i < 10000; i++) {
display(i); // 显示数字i
}
}
```
以上代码为使用74HC595驱动共阳极数码管的示例代码,如果要驱动共阴极数码管,需要将PNP三极管或N沟MOS管的极性反转,即将PNP三极管的发射极连接到VCC,集电极连接到数码管的公共端,基极连接到74HC595的输出端;或将N沟MOS管的源极连接到GND,漏极连接到数码管的公共端,栅极连接到74HC595的输出端。
阅读全文