//当单片机的IO口不行用时,可以用一般的数字集成电路74LS(HC)595扩展IO口用。
//下面是51单片机74HC595的c51驱动
#include
#include
#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();
}
}
}
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/xitong/261157.html