單片機(jī)學(xué)習(xí)知識點(diǎn)全攻略(完結(jié)篇)(一)
在輪流點(diǎn)亮掃描過程中,每位顯示器的點(diǎn)亮?xí)r間是極為短暫的(約1ms),但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位顯示器并非同時點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感。
下圖所示就是我們的單片機(jī)實(shí)驗(yàn)板上的動態(tài)掃描接口。由89c51的P0口能灌入較大的電流,所以我們采用共陽的數(shù)碼管,并且不用限流電阻,而只是用兩只1N4004進(jìn)行降壓后給數(shù)碼管供電,這里僅用了兩只,實(shí)際上還能擴(kuò)充。它們的公共端則由PNP型三極管8550控制,顯然,如果8550導(dǎo)通,則對應(yīng)的數(shù)碼管就能亮,而如果8550截止,則對應(yīng)的數(shù)碼管就不可能亮,8550是由P2.7,P2.6控制的。這樣我們就能通過控制P27、P26達(dá)到控制某個數(shù)碼管亮或滅的目的。
下面的這個單片機(jī)程序,就是用實(shí)驗(yàn)板上的數(shù)碼管顯示0和1。
FIRST EQU P2.7 ;第一位數(shù)碼管的位控制
SECOND EQU P2.6 ;第二位數(shù)碼管的位控制
DISPBUFF EQU 5AH ;顯示緩沖區(qū)為5AH和5BH
ORG 0000H
AJMP START
ORG 30H
START:
MOV SP,#5FH ;設(shè)置堆棧
MOV P1,#0FFH
MOV P0,#0FFH
MOV P2,#0FFH ;初始化,所顯示器,LED滅
MOV DISPBUFF,#0 ;第一位顯示0
MOV DISPBUFF+1,#1 ;第二握顯示1
LOOP:
LCALL DISP ;調(diào)用顯示程序
AJMP LOOP
;主程序到此結(jié)束
DISP:
評論