基于三八譯碼器控制八個數(shù)碼管同時顯示內(nèi)容的問題
下面我就把今天剛在楊老師指導(dǎo)下編寫的程序以及原理作一個簡單的分析吧。我的開發(fā)板是P0低三位(38數(shù)碼管的輸入端口)口控制數(shù)碼管的位選的,八個輸出口分別控制八個數(shù)碼管工作的。
本文引用地址:http://www.ex-cimer.com/article/201611/323751.htm程序:
;作者:李俊軒
;時間:2010年10月21日
;通過三八譯碼器讓三個IO口控制八個數(shù)碼管的工作狀態(tài)
ORG 00H
STARY:
MOV P0,#00000000B;根據(jù)三八譯碼器真值表的原理控制第一個數(shù)碼管工作
MOV P1,#00111111B;顯示 0
CALL DELAY;短暫的延時
MOV P0,#00000001B;根據(jù)三八譯碼器真值表的原理控制第二數(shù)碼管工作
MOV P1,#00000110B;顯示 1
CALL DELAY;短暫的延時
MOV P0,#00000010B;根據(jù)三八譯碼器真值表的原理控制第三數(shù)碼管工作
MOV P1,#01011011B;顯示 2
CALL DELAY;短暫的延時
MOV P0,#00000011B;根據(jù)三八譯碼器真值表的原理控制第四個數(shù)碼管工作
MOV P1,#01001111B;顯示 3
CALL DELAY;短暫的延時
MOV P0,#00000100B;根據(jù)三八譯碼器真值表的原理控制第五個數(shù)碼管工作
MOV P1,#01100110B;顯示 4
CALL DELAY;短暫的延時
MOV P0,#00000101B;根據(jù)三八譯碼器真值表的原理控制第六個數(shù)碼工作
MOV P1,#01101101B;顯示 5
CALL DELAY;短暫的延時
MOV P0,#00000110B;根據(jù)三八譯碼器真值表的原理控制第七個數(shù)碼工作
MOV P1,#01111101B;顯示 6
CALL DELAY;短暫的延時
MOV P0,#00000111B;根據(jù)三八譯碼器真值表的原理控制第八個數(shù)碼工作
MOV P1,#00000111B;顯示 7
CALL DELAY;短暫的延時
JMP STARY
DELAY:;延時程序
MOV R0,#3
DV1: MOV R1,248
DV2:DJNZ R1,DV2
DJNZ R0,DV1
RET
END
效果:在八個數(shù)碼管上顯示數(shù)字0至7
寫這程序的時候要注意的是延時時間的問題。要保留在人的視覺能夠看得見的狀態(tài)。一般是20MS以內(nèi)。
評論