74ls595级联电路及驱动程序分享

IC应用电路图

486人已加入

描述

  74ls595级联电路

  74ls595是一块能够使以为并且锁存数据的芯片,特别适合用于16*16点阵硬件电路中,关于其使用请查阅相关网页。下面就把具体的程序及其级联的电路贴出来。

驱动程序

  74ls595驱动程序分享

  #include 《reg52.h》 //52芯片管脚定义头文件

  #include 《intrins.h》 //内部包含延时函数 _nop_();

  sbit SDATA_595=P1^0; //串行数据输入

  sbit SCLK_595 =P1^1; //移位时钟脉冲

  sbit RCK_595 =P1^2; //输出锁存器控制脉冲

  void WR_595(unsigned char temp)

  {

  unsigned char j;

  SCLK_595=0;

  for (j=0;j《8;j++)

  {

  temp=temp《《1 ;

  SDATA_595=CY;

  SCLK_595=1; //上升沿发生移位

  _nop_();

  _nop_();

  SCLK_595=0;

  }

  }

  void OUT_595(void)

  {

  RCK_595=0;

  _nop_();

  _nop_();

  RCK_595=1; //上升沿将数据送到输出锁存器

  _nop_();

  _nop_();

  RCK_595=0;

  }

  main()

  {

  WR_595(0xc3);

  WR_595(0x55);

  OUT_595();

  while(1)

  {

  ;

  }

  }

  74LS595串入并出应用

  C代码:

  /*************** writer:shopping.w ******************/

  #include

  #include

  #define uint unsigned int

  #define uchar unsigned char

  sbit SH_CP = P2^0;

  sbit DS = P2^1;

  sbit ST_CP = P2^2;

  uchar temp;

  uchar code DSY_CODE[]=

  {

  0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90

  };

  void Delay(uint x)

  {

  uchar i;

  while(x--)

  {

  for(i=0;i《120;i++);

  }

  }

  void In_595()

  {

  uchar i;

  for(i=0;i《8;i++)

  {

  temp 《《= 1;

  DS = CY;

  SH_CP = 1;

  _nop_();

  _nop_();

  SH_CP = 0;

  }

  }

  void Out_595()

  {

  ST_CP = 0;

  _nop_();

  ST_CP = 1;

  _nop_();

  ST_CP = 0;

  }

  void main()

  {

  uchar i;

  while(1)

  {

  for(i=0;i《10;i++)

  {

  temp = DSY_CODE[i];

  In_595();

  Out_595();

  Delay(200);

  }

  }

  }

驱动程序

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分