<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 可編程數碼管/鍵盤(pán)串行接口芯片HD7279A的原理與應用

可編程數碼管/鍵盤(pán)串行接口芯片HD7279A的原理與應用

作者: 時(shí)間:2011-08-01 來(lái)源:網(wǎng)絡(luò ) 收藏

該指令的格式如下:

D7D6D5D4D3D2D1D0
10010a2a1a0
D7D6D5D4D3D2D1D0
DPABCDEFG

在該指令格式中,a2,a1,a0為位地址,A~G和DP為顯示數據,分別對應7段LED管的各段。當相應的數據位為1時(shí),該段點(diǎn)亮,否則,該段不亮。實(shí)際上,此指令是比較靈活的,設計時(shí)可以通過(guò)造字形表來(lái)顯示用戶(hù)所需的字符。

(4)閃爍控制88H

此命令用于控制各個(gè)管的閃爍屬性,d1~d8分別對應管1~8。在相應的各位中0表示閃爍,1表示不閃爍。開(kāi)機后的缺省狀態(tài)為各位均不閃爍。具體指令格式如下:

D7D6D5D4D3D2D1D0
10001000
D7D6D5D4D3D2D1D0
d8d7d6d5d4d3d2d1

(5)讀數據指令15H

該指令的格式如下:

D7D6D5D4D3D2D1D0
00010101
D7D6D5D4D3D2D1D0
d7d6d5d4d3d2d1d0

該指令主要用于從HD7279A讀出當前的按鍵代碼。與其它指令不同的是,此命令的前一個(gè)字節00010101B為微控制器傳送到HD7279A的指令,而后一個(gè)字節d0~d7才是HD7279A返回的按鍵代碼,該代碼的具體范圍是0~3FH(當無(wú)鍵按下時(shí),為0xFF)。

當HD7279A檢測到有效按鍵時(shí),KEY引腳從高電平變?yōu)榈碗娖?,并一直保持到按鍵結束。在此期間,如果HD7279A接收到“讀數據指令”,則輸出當前按鍵的代碼;而如果在接收到“讀鍵盤(pán)指令”時(shí)沒(méi)有有效按鍵被按下時(shí),HD7279A則輸出FFH(11111111B)。

3.3 時(shí)序

綜上所述在HD7279A的指令結構類(lèi)型中不帶數據的純指令的指令寬度為8BIT,即微處理器需發(fā)送8個(gè)CLK脈沖。而帶有數據的指令寬度為16BIT,即微處理器需發(fā)送16個(gè)CLK脈沖。但其中的讀取鍵盤(pán)數據指令寬度也是16BIT的前8個(gè)BIT為微處理器發(fā)送到HD7279A的指令,后8個(gè)BIT為HD7279A返回的鍵盤(pán)代碼。執行此指令時(shí),HD7279A的DATA端在第9個(gè)CLK脈沖的上升沿變?yōu)檩敵鰻顟B(tài),并于第16個(gè)脈沖的下降沿恢復為輸入狀態(tài),以等待接收下一個(gè)指令。圖1是HD7229A的3種指令時(shí)序圖。

圖2


4 HD7279A的

4.1 硬件電路

HD7279A的典型電路如圖2所示,使用時(shí)HD7279A應連接共陰式數碼管,無(wú)需用到的鍵盤(pán)和數碼管可以不連接。如果不用鍵盤(pán),則典型電路圖中連接到鍵盤(pán)的8只10kΩ電阻和8只100kΩ下拉電阻均可以省去。而如果使用鍵盤(pán),則電路中的8只100kΩ下拉電阻則不能省略。除非不接入數碼管,否則連接至DP及SA~SG的8只200Ω電阻也不能省去。

4.2 軟件編程

通過(guò)下面的一些子程序可對鍵盤(pán)進(jìn)行監視,并在有鍵按下時(shí)讀取按鍵代碼,以便調用顯示程序將該鍵值顯示在LED顯示器上。在圖2所示的電路中,HD7279A的外接振蕩元件可使用典型值。AT89C51的晶振頻率為6MHz。

如果將P1.0接到CS,P1.1接到CLK,P1.2接到DATA,而將P1.3接KEY,那么,其具體的軟件程序代碼如下:

(1) 發(fā)送一字節子程序:(發(fā)送數存于A中)

STFS: MOV R7,#08H

LP1: RLC A

MOV P1.2,C

SETB P1.1

MOV R6#02H

LP2: DJNZ R6, LP2 ;延時(shí)8μs

CLR P1.1

MOV R6, #02H

LP3:DJNZ R6,LP3 ;延時(shí)8μs

DJNZ R7,LP1

RET

(2)接收一字節子程序:(接收字符存于A中)

STJS: MOV R7,#08H

LP1:SETB P1.1

SETB P1.2

MOV R6,#02H

LP2: DJNZ R6,LP2 ;延時(shí)8μs

MOV C, P1.2

RLC A

CLR P1.1

MOV R6,#01H

LP3: DJNZ R6,LP3 ;延時(shí)

DJNZ R7,LP1



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>