91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子元器件>芯片引腳圖>

用74HC165讀8個按鍵狀態(tài) - 全文

2018年02月02日 11:05 網(wǎng)絡整理 作者: 用戶評論(0
關鍵字:74HC165(15124)

74HC165是一款高速CMOS移位寄存器,,電壓為2.0~6.0V,驅(qū)動電流為+/-5.2mA。74HC165引腳兼容TTL(LSTTL)系列(定義于JEDEC標準№.7A)。

74hc165基本參數(shù)

電壓:2.0~6.0V

驅(qū)動電流:+/-5.2mA

傳輸延遲:16ns@5V

最高頻率:56MHz@5V

邏輯電平:CMOS

工作溫度:-40~+85℃

封裝:SO16,SSOP16,DIP16,TSSOP16

  74HC165用法

  74HC165級聯(lián),如下圖

用74HC165讀8個按鍵狀態(tài)

  SH/LD為低,并口數(shù)據(jù)存入8個位寄存器中。8個位寄存器分別為Q0、Q1、Q2、Q3、Q4、Q5、Q6、Q7。此時Q7里已經(jīng)有值,可以直接讀取了所以,邏輯可以是這樣讀取Q7的數(shù)據(jù),然后IN_CLK_LOW;IN_CLK_HIGH;制造一次上升沿,執(zhí)行移位操作,使Q6的值移位到Q7中。SH/LD為高,允許移位。一個時鐘脈沖,QH向外輸出一位數(shù)據(jù),同時,從SER采集一位數(shù)據(jù)補充8位寄存器。

  如上級聯(lián)情況,右邊74HC165的SER懸空,采集數(shù)據(jù)為0.

  左邊74HC165,一個脈沖,QH輸出一位數(shù)據(jù),同時,從SER采集一位數(shù)據(jù)補充低位。 相當于如下: 開始前

  H1-G1-F1-E1-D1-C1-B1-A1 H2-G2-F2-E2-D2-C2-B2-A2 開始傳輸

  1,1G-1F-1E-1D-1C-1B-1A-2H 2G-2F-2E-2D-2C-2B-2A-0

  2,1F-1E-1D-1C-1B-1A-2H-2G 2F-2E-2D-2C-2B-2A-0-0

  3,1E-1D-1C-1B-1A-2H-2G-2F 2E-2D-2C-2B-2A-0-0-0 。。。

  14,B2-A2-0-0-0-0-0-0 0-0-0-0-0-0-0-0

  15,A2-0-0-0-0-0-0-0 0-0-0-0-0-0-0-0

  16,0-0-0-0-0-0-0-0 0-0-0-0-0-0-0-0

  這樣,就把2個級聯(lián)的74HC165的并口數(shù)據(jù),全部以串口形式傳輸給了MCU。

用74HC165讀8個按鍵狀態(tài)

74HC165是一款并入串出的芯片,下圖通過74HC165讀入8個按鍵狀態(tài),并用7個LED燈L1~L8分別對應S1~S8,來顯示按鍵狀態(tài)。

硬件連接圖如下:

用74HC165讀8個按鍵狀態(tài)

程序代碼如下:

1//--------------------------------------------------------------------------

2//來源:http://hi.baidu.com/mculove/home

3//程序名稱:用74HC165讀8個按鍵狀態(tài)

4//晶振:11.0592MHz;

5//MCU型號:STC89C52RC;

6//電路板型號:EBV-MV(51實驗板);

7//--------------------------------------------------------------------------

8

9

10

11

12//--------------------------------------------------------------------------

13//硬件連接:

14//EBVn-[VCC]-》MVn-[--VCC--]

15//EBVn-[GND]-》MVn-[//GND//]

16//MVn-{EX3}-[Y0]-》MVn-{EX2}-[L1]

17//MVn-{EX3}-[Y1]-》MVn-{EX2}-[L2]

18//MVn-{EX3}-[Y2]-》MVn-{EX2}-[L3]

19//MVn-{EX3}-[Y3]-》MVn-{EX2}-[L4]

20//MVn-{EX3}-[Y4]-》MVn-{EX2}-[L5]

21//MVn-{EX3}-[Y5]-》MVn-{EX2}-[L6]

22//MVn-{EX3}-[Y6]-》MVn-{EX2}-[L7]

23//MVn-{EX3}-[Y7]-》MVn-{EX2}-[L8]

24//-》MVn-{EX2}-(VCC)

25//-》MVn-{EX3}-(VCC)

26

27//EBVn-[P10]-》MVn-{EX3}-[A]

28//EBVn-[P11]-》MVn-{EX3}-[B]

29//EBVn-[P12]-》MVn-{EX3}-[C]

30//EBVn-[P13]-》MVn-{EX3}-[G1]

31//--------------------------------------------------------------------------

32

33

34

35

36//--------------------------------------------------------------------------

37//實驗結果:

38//當按下一個按鍵時候,對應的LED燈被點亮。如按下S1,則L1燈亮,按下S2,則L2燈亮。。.。。.

39//--------------------------------------------------------------------------

40

41

42

43//------------------------------------------------------

44//頭文件;

45#include《AT89X52.H》

46

47#defineHC165_nPLP3_5//移位或載入選擇信號

48#defineHC165_CKP3_6//時鐘信號

49#defineHC165_OUTP3_7//數(shù)據(jù)輸出

50

51//------------------------------------------------------

52voiddelay(void)

53{

54unsignedchari,j;

55for(i=250;i》0;i--)

56for(j=200;j》0;j--);

57}

58

59unsignedcharHC165(void)//返回值為char型,8位

60{

61unsignedchari;

62unsignedcharTemp;

63HC165_CK=1;

64HC165_nPL=0;//HC165讀按鍵

65HC165_nPL=1;//暫停HC165讀按鍵

66Temp=0;

67if(HC165_OUT==1)Temp|=0x01;//此時HC165_OUT為Temp的最高位。

68for(i=0;i《7;i++)//需要移位7次,才能讀完

69{

70HC165_CK=0;

71HC165_CK=1;//時鐘上升沿,HC165移位

72Temp《《=1;//Temp左移一位,為新來的數(shù)據(jù)空出最后一位

73if(HC165_OUT==1)//讀入新來的數(shù)據(jù)到最后一位

74{

75Temp|=0x01;

76}

77}

78HC165_CK=0;

79return(Temp);//經(jīng)過7次循環(huán)后,D6,D5,D4,D3,D2,D1,D0被依次讀入Temp的7個位中

80}

81

82

83

84//------------------------------------------------------

85//程序入口;

86voidmain(void)

87{

88while(1)

89{

90P1=HC165();

91delay();

92}

93}

上一頁12全文

非常好我支持^.^

(10) 34.5%

不好我反對

(19) 65.5%

( 發(fā)表人:姚遠香 )

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關規(guī)定!

      ?