74CH595N与8位共阴数码管的连接实现0~9循环显示
小弟小白一枚,刚接触arduino 不久!驱动数码管直接插到板子上 我觉得 有点浪费 经过了解可以用74CH595N解决这个问题!希望大神 大牛 大大们 来个详细介绍!
我很真诚的亲们{:soso_e149:}
越详细越好(毕竟还是小白嘛),最好有图有真相哦 用shiftOut函数,虽然我用的是STCunio,也就是51版的arduino:lol,程序应该差不多,595使用shiftOut函数之后要再来个下降沿才是正确的。我这个是级联的
code table1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
code table2[]={0xf7,0xfb,0xfd,0xfe};
void main()
{ int dataPin=8;
int clockPin=9;
int ST_CP=10;
int _data;
u8 data1,data2,data3,data4;
Serialbegin(2400);
pinMode(dataPin,PullUp);
pinMode(clockPin,PullUp);
pinMode(ST_CP,PullUp);
while(1)
{
//最先进的数据会在Q7输出
u8 i;
for(i=0;i<=9;i++)
{
shiftOut(dataPin, clockPin, MSBFIRST,table1);//位选
shiftOut(dataPin, clockPin, MSBFIRST,0xf7); //段选
digitalWrite(ST_CP,LOW);
digitalWrite(ST_CP,HIGH);
delay_ms(200);
}
for(i=0;i<=9;i++)
{
shiftOut(dataPin, clockPin, MSBFIRST,table1);//位选
shiftOut(dataPin, clockPin, MSBFIRST,0xfb); //段选
digitalWrite(ST_CP,LOW);
digitalWrite(ST_CP,HIGH);
delay_ms(200);
}
for(i=0;i<=9;i++)
{
shiftOut(dataPin, clockPin, MSBFIRST,table1);//位选
shiftOut(dataPin, clockPin, MSBFIRST,0xfd); //段选
digitalWrite(ST_CP,LOW);
digitalWrite(ST_CP,HIGH);
delay_ms(200);
}
for(i=0;i<=9;i++)
{
shiftOut(dataPin, clockPin, MSBFIRST,table1);//位选
shiftOut(dataPin, clockPin, MSBFIRST,0xfe); //段选
digitalWrite(ST_CP,LOW);
digitalWrite(ST_CP,HIGH);
delay_ms(200);
}
_data=1345;
while(1)//一直显示_data的值
{
data1=_data/1000;
data2=_data%1000/100;
data3=_data%100/10;
data4=_data%10;
shiftOut(dataPin, clockPin, MSBFIRST,table1);//位选
shiftOut(dataPin, clockPin, MSBFIRST,table2); //段选
digitalWrite(ST_CP,LOW);
digitalWrite(ST_CP,HIGH);
shiftOut(dataPin, clockPin, MSBFIRST,table1);//位选
shiftOut(dataPin, clockPin, MSBFIRST,table2); //段选
digitalWrite(ST_CP,LOW);
digitalWrite(ST_CP,HIGH);
shiftOut(dataPin, clockPin, MSBFIRST,table1);//位选
shiftOut(dataPin, clockPin, MSBFIRST,table2); //段选
digitalWrite(ST_CP,LOW);
digitalWrite(ST_CP,HIGH);
shiftOut(dataPin, clockPin, MSBFIRST,table1);//位选
shiftOut(dataPin, clockPin, MSBFIRST,table2); //段选
digitalWrite(ST_CP,LOW);
digitalWrite(ST_CP,HIGH);
}
}
}
虽然有点看不懂 但是先谢谢了 慢慢搞
页:
[1]