基于msp430f149移位寄存器595

tcvsdonnnie   2012-8-10 20:12 楼主

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


#define  LCK_OUT  P3DIR|=BIT3
#define  LCK_IN  P3DIR&=~BIT3
#define  LCK_H  P3OUT|=BIT3
#define  LCK_L  P3OUT&=~BIT3

#define  SCK_OUT P3DIR|=BIT4   
#define  SCK_IN P3DIR&=~BIT4
#define  SCK_H P3OUT|=BIT4   
#define  SCK_L P3OUT&=~BIT4 

#define  SDI_OUT P3DIR|=BIT5
#define  SDI_IN P3DIR&=~BIT5
#define  SDI_H P3OUT|=BIT5
#define  SDI_L P3OUT&=~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号
    写回复