八段数码管(共阴极)实验
原理图
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210108131419252.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzYxODEwNQ==,size_16,color_FFFFFF,t_70#pic_center)
74LS595芯片介绍
QA--QH 八位并行输出端,可以直接控制数码管的8个段
SER 串行数据输入端。
SRCLR(10脚) 低点平时将移位寄存器的数据清零。通常将它接Vcc。
SCK(11脚) 上升沿时移位寄存器的数据移位。下降沿数据不变
RCK(12脚) 上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时
存储寄存器数据不变。
具体代码
uint8_t Seg7[17] = { 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0x00};
int SEG_DisplayValue(u8 Bit1, u8 Bit2, u8 Bit3)
{
u8 i = 0;
u8 code_tmp = 0;
int arr[8];
double j =7;
code_tmp = Seg7[Bit3];
for(i=0;i<8;i++){
if(code_tmp & 0x80){
SER_H;
}else{
SER_L;
}
SCK_H;
code_tmp = code_tmp << 1;
SCK_L;
}
code_tmp = Seg7[Bit2];
for(i=0;i<8;i++){
if(code_tmp & 0x80){
SER_H;
}else{
SER_L;
}
SCK_H;
code_tmp = code_tmp << 1;
SCK_L;
}
code_tmp = Seg7[Bit1];
for(i=0;i<8;i++){
if(code_tmp & 0x80){
SER_H;
}else{
SER_L;
}
SCK_H;
code_tmp = code_tmp << 1;
SCK_L;
}
RCLK_H;
RCLK_L;
return 0;
}