新闻中心

EEPW首页>嵌入式系统>设计应用> MSP430读取74hc165的一个例子

MSP430读取74hc165的一个例子

作者: 时间:2016-11-13 来源:网络 收藏
/******************************************************************************************************

msp430f14974hc165

本文引用地址://m.amcfsurvey.com/article/201611/316432.htm

P30----------165CLK

P31----------S/L

P32----------165OUT

******************************************************************************************************/

#include

typedef unsigned char uchar;

typedef unsigned int uint;

typedef unsigned long int ulong;

#define NUM_165 4 //级联165个数

uchar ucBuf165[NUM_165];

#define CLK165_UPP3OUT|=BIT0

#define CLK165_DOWNP3OUT&=~BIT0

#define SL165_UPP3OUT|=BIT1

#define SL165_DOWNP3OUT&=~BIT1

#define OUT165(P3IN&BIT2)>>2

/**************************************************************

初始化

***************************************************************/

void Init165(void)

{

P3DIR|=BIT0;

P3DIR|=BIT1;

P3DIR&=~BIT2;

CLK165_DOWN;

SL165_UP;

}

/*************************************************************

将并行口的数据锁存

**************************************************************/

void ShLd165(void)

{

SL165_DOWN;

SL165_UP;

}

/*************************************************************

读一片165数据

*************************************************************/

uchar Read165(void)

{

uchar temp,i;

temp=OUT165<<7;

for(i=1;i<8;i++)

{

CLK165_DOWN; CLK165_UP; temp+=OUT165<<(7-i);

}

CLK165_DOWN; CLK165_UP;

return(temp);

}

/*****************************************************************

读取BCD码

*****************************************************************/

void GetBCD(void)

{

uchar i;

Init165();

ShLd165();

for(i=0;i

{

ucBuf165[i]=~Read165();

}

}



关键词:MSP430读取74hc16

评论


技术专区

关闭