
你是怎么用3片74HC595控制24个数码管的,能给我电路图和c程序吗,我的邮 15
spi总线连接4片74hc595级联控制24个7段数码管显示 展开
这是三片595级联的电路图,在PROTUES仿真通过;
//作者:
//QQ:396870725 //有仿真图
/***************595
3片74HC595级联程序
********************
/***************2013.4.5***********************
/***************
功能:串入并出显示
*************/
#include <reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit dig=P2^1;
sbit clock=P2^0;
sbit out=P2^2;
void write595(uchar dat);
void out595();
/**********************************************/
/**********************************************/
void main()
{
clock=0; // 11脚
out=1; // 12脚
while(1)
{
write595(0xf0); //这实际上是最后一个595,因为送数是先送低位再送高位。
write595(0x0f); //里面的数据你自己可以改一下,试下观察效果。
write595(0xaa);
write595(0xdb);//实际是第一个74HC595
out595();
}
}
/**********************************************/
/**********************************************/
void write595(uchar dat) //数据传输函数
{
uchar l,kdat;
kdat=dat;
for(l=0;l<8;l++) //循环送完8位数据
{
clock=0;
dig=(kdat&0x01); //按位传数据 每次传一位;
kdat=kdat>>1;
clock=1; //移入1位。
}
}
/**********************************************/
/**********************************************/
void out595(void)
{
out=0; //12脚
_nop_();
_nop_();
out=1; //上升沿将数据送到输出锁存器, 12脚
_nop_();
_nop_();
out=0; // 12脚
}

2024-04-12 广告
2012-04-25