新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MSP430讀取74hc165的一個(gè)例子

MSP430讀取74hc165的一個(gè)例子

作者: 時(shí)間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
/******************************************************************************************************

msp430f14974hc165

本文引用地址:http://m.butianyuan.cn/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 //級(jí)聯(lián)165個(gè)數(shù)

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;

}

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

將并行口的數(shù)據(jù)鎖存

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

void ShLd165(void)

{

SL165_DOWN;

SL165_UP;

}

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

讀一片165數(shù)據(jù)

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

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();

}

}



關(guān)鍵詞: MSP430讀取74hc16

評(píng)論


技術(shù)專區(qū)

關(guān)閉