<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>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 51單片機與74HC164靜態(tài)顯示接口

51單片機與74HC164靜態(tài)顯示接口

作者: 時(shí)間:2016-11-23 來(lái)源:網(wǎng)絡(luò ) 收藏
單片機應用系統中,顯示器顯示常用兩種方法:靜態(tài)顯示和動(dòng)態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個(gè)顯示器都要占用單獨的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數據時(shí),再發(fā)送新的字形碼,因此,使用這種方法單片機中CPU的開(kāi)銷(xiāo)小??梢蕴峁﹩为氭i存的I/O接口電路很多,這里以常用的串并轉換電路74LS164為例,介紹一種常用靜態(tài)顯示電路,以使大家對靜態(tài)顯示有一定的了解。

MCS-51單片機串行口方式0為移位寄存器方式,外接6片74LS164作為6位LED顯示器的靜態(tài)顯示接口,把8031的RXD作為數據輸出線(xiàn),TXD作為移位時(shí)鐘脈沖。74LS164為T(mén)TL單向8位移位寄存器,可實(shí)現串行輸入,并行輸出。其中A、B(第1、2腳)為串行數據輸入端,2個(gè)引腳按邏輯與運算規律輸入信號,共一個(gè)輸入信號時(shí)可并接。T(第8腳)為時(shí)鐘輸入端,可連接到串行口的TXD端。每一個(gè)時(shí)鐘信號的上升沿加到T端時(shí),移位寄存器移一位,8個(gè)時(shí)鐘脈沖過(guò)后,8位二進(jìn)制數全部移入74LS164中。R(第9腳)為復位端,當R=0時(shí),移位寄存器各位復0,只有當R=1時(shí),時(shí)鐘脈沖才起作用。Q1…Q8(第3-6和10-13引腳)并行輸出端分別接LED顯示器的hg···a各段對應的引腳上。在給出了8個(gè)脈沖后,最先進(jìn)入74LS164的第一個(gè)數據到達了最高位,然后再來(lái)一個(gè)脈沖會(huì )有什么發(fā)生呢?再來(lái)一個(gè)脈沖,第一個(gè)脈沖就會(huì )從最高位移出,搞清了這一點(diǎn),下面讓我們來(lái)看電路,6片7LS164首尾相串,而時(shí)鐘端則接在一起,這樣,當輸入8個(gè)脈沖時(shí),從單片機RXD端輸出的數據就進(jìn)入到了第一片74LS164中了,而當第二個(gè)8個(gè)脈沖到來(lái)后,這個(gè)數據就進(jìn)入了第二片74LS164,而新的數據則進(jìn)入了第一片74LS164,這樣,當第六個(gè)8個(gè)脈沖完成后,首次送出的數據被送到了最左面的164中,其他數據依次出現在第一、二、三、四、五片74LS164中。

驅動(dòng)程序:

入口:把要顯示的數分別放在顯示緩沖區60H-65H共6個(gè)單元中,并且分別對應各個(gè)數碼管LED0-LED5。

出口:將預置在顯示緩沖區中的6個(gè)數成相應的顯示字形碼,然后輸出到顯示器中顯示。

顯示程序如下:

DISP:MOVSCON,#00H;初始化串行口方式

MOVR1,#06H;顯示6位數

MOVR0,#65H;60H-65H為顯示緩沖區

MOVDPTR,#SEGTAB;字形表的入口地址

LOOP:

MOVA,@R0;取最高位的待顯示數據

MOVCA,@A+DPTR;查表獲取字形碼

MOVSBUF,A;送串口顯示

DELAY:JNBTI,DELAY;等待發(fā)送完畢

CLRTI;清發(fā)送標志

DECR0;指針下移一位,準備取下一個(gè)待顯示數

DJNZR1,LOOP;直到6個(gè)數據全顯示完。

RET

SETTAB:;字形表

DB03H9FH27H0DH99H49H41H1FH01H09H0FFH

;0123456789消隱碼

測試用主程序

ORG0000H

AJMPSTART

ORG30H

START:MOVSP,#6FH

MOV65H,#0

MOV64H,#1

MOV63H,#2

MOV62H,#3

MOV61H,#4

MOV60H,#5

LCALLDISP

SJMP

如果按圖示數碼管排列,則以上主程序將顯示的是543210,想想看,如果要顯示012345該怎樣送數?

你們只接了一個(gè)數碼管,想想應該很容易吧。

74LS165是一個(gè)8位并入串出的移位寄存器,原理一樣。


評論


技術(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>