74HC595扩展IO口
扫描二维码
随时随地手机看文章
//当单片机的IO口不够用时,可以用一般的数字集成电路74LS(HC)595扩展IO口用。
//下面是51单片机74HC595的c51驱动
#include<at89x51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
code uchar shu[]={1,2,4,8,16,32,64,128};
sbit ssj=P2^0;//数据线
sbit ssz=P2^1;//同步时钟
//sbit sss=P2^2;
void delay()
{
uint i,j;
for(i=0;i<400;i++)
for(j=0;j<200;j++);
}
void fasong( uchar sj )
{
uchar i;
ssz=0;
ssj=0;
// sss=0;
_nop_();
ssz=1;
ssj=1;
// sss=1;
for(i=0;i<9;i++)
{
ssz=0;//时钟拉低
// sss=0;
_nop_();
_nop_();
if((sj&0x80)==0x80)
{
ssj=1;
}
else
{ ssj=0;}
ssz=1;//时钟抬高
// sss=1;
sj=sj<<1;//数据左移一位
}
}
void main(void)
{
uchar i;
while(1)
{
for(i=0;i<8;i++)
{
fasong(shu[i]);
delay();
}
}
}