;*****************************************;;實(shí)驗(yàn)名稱(chēng):兩位數(shù)碼管動(dòng)態(tài)顯示0-99實(shí)驗(yàn) ;
;作者: 龍誼 ;
;版本: VER 1.0 ;
;說(shuō)明: 采用共陰極數(shù)碼管 ;
;修改: 無(wú) ;
;編程語(yǔ)言: 匯編語(yǔ)言 ;
;*****************************************;
本文引用地址:http://cafeforensic.com/article/201611/320661.htm ORG00H
START: MOVDPTR,#TABLE;把表TABLE的地址存入數(shù)據(jù)指針
MOVR1,#00H ;計(jì)數(shù)器清零,顯示從00開(kāi)始
MOVR5,#50 ;設(shè)定顯示間隔為1秒
BEGIN: MOVA,R1 ;計(jì)數(shù)器送累加器
MOVB,#10 ;B=10
DIVAB ;除法運(yùn)算,除數(shù)送A,余數(shù)送B
MOVCA,@A+DPTR ;從表中除數(shù)所指的地址取碼
MOVP0,A ;碼由P0顯示,即顯示兩位數(shù)的十位,段選信號(hào)
MOVP2,#0FDH ;位選由P2控制
CALLDELAY ;調(diào)延時(shí)子程序
MOVP2,#0FFH ;穩(wěn)定動(dòng)態(tài)顯示處理,PROTUES仿真必加,實(shí)際電路測(cè)試可不用此行
MOVA,B ;將余數(shù)送A
MOVCA,@A+DPTR ;從表中余數(shù)所指的地址取碼
MOVP0,A ;碼由P0顯示,即顯示兩位數(shù)的個(gè)位,段選信號(hào)
MOVP2,#0FEH ;位選由P2控制
CALLDELAY ;調(diào)延時(shí)子程序
MOVP2,#0FFH ;穩(wěn)定動(dòng)態(tài)顯示處理,PROTUES仿真必加,實(shí)際電路測(cè)試可不用此行
DJNZR5,BEGIN ;顯示時(shí)間=1秒?不等于跳到BEGIN
MOVR5,#50 ;等于重新設(shè)定延時(shí)時(shí)間為1秒
INCR1 ;計(jì)數(shù)器加1
CJNER1,#100,BEGIN;計(jì)數(shù)器=100?不等于返回BEGIN
JMPSTART ;計(jì)數(shù)器=100返回開(kāi)始重新計(jì)數(shù)
DELAY: MOVR6,#20 ;采用12MHZ晶振,延時(shí)時(shí)間為0.01秒
D1: MOVR7,#248
DJNZR7,$
DJNZR6,D1
RET
TABLE: DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;共陰極數(shù)碼管0-9的編碼
END
評(píng)論