基于msp430g2553移位寄存器hc595程序

tcvsdonnnie   2012-8-10 21:07 楼主

#ifndef __YIWEI595_H__
#define __YIWEI595_H__
#include "msp430g2553.h"
#include "delay.h"  


#define  LCK_OUT  P2DIR|=BIT3
#define  LCK_IN  P2DIR&=~BIT3
#define  LCK_H  P2OUT|=BIT3
#define  LCK_L  P2OUT&=~BIT3

#define  SCK_OUT P2DIR|=BIT4   
#define  SCK_IN P2DIR&=~BIT4
#define  SCK_H P2OUT|=BIT4   
#define  SCK_L P2OUT&=~BIT4 

#define  SDI_OUT P2DIR|=BIT5
#define  SDI_IN P2DIR&=~BIT5
#define  SDI_H P2OUT|=BIT5
#define  SDI_L P2OUT&=~BIT5

//串行输入函数//
void input_595(uchar  duan)
{
  uint i,j;
  SDI_OUT;
  SCK_OUT;
  LCK_OUT;
  LCK_L;     // 锁存器端口产生一个上升沿,将数据输出 
 for(i=0;i<8;i++)
 {
    if(duan&0x80)
     SDI_H;
    else
     SDI_L;
    SCK_H; 
    //产生一个时钟上升沿,使数据移位
    for(j=20;j>0;j--);
    SCK_L;
    for(j=10;j>0;j--);
      duan<<= 1;     // 数据移位
}
 LCK_H;
}
#endif

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复