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

評論