#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