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