300 黑幣
本帖最后由 yulexuan2019 于 2019-5-15 00:42 編輯
求大佬幫忙改下程序,把2個(gè)一位共陽(yáng)極數(shù)碼管秒表程序改成共陰極匯編語(yǔ)言程序,求教,實(shí)在不知道改哪里,改了半天也不對(duì),求詳細(xì)更改地方!程序功能是00-99秒表,怎么改成共陰極的。圖上上面第一個(gè)按鍵控制開(kāi)始暫停,第二個(gè)按鍵控制清零!
仿真圖和程序如下:
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP X0_INT
ORG 000BH
AJMP T0_INT
ORG 0013H
AJMP X1_INT
MAIN:
MOV TMOD,#01H ;T0定時(shí)方式1
MOV TH0, #(65536-50000) / 256 ;50ms@12MHz
MOV TL0, #(65536-50000) MOD 256;
SETB TR0
SETB ET0 ;開(kāi)啟定時(shí)中斷
SETB EX0
SETB EX1
SETB EA ;定時(shí)器初始化結(jié)束,下面循環(huán)顯示即可
MOV R1, #99H ;0~99計(jì)數(shù).
MOV R7, #1 ;50ms計(jì)數(shù).
MOV P0, #0C0H
MOV P2, #0C0H
LOOP:
SJMP LOOP
;-----------------------------------------------------------
DELAY: ;延時(shí)子程序.
AA4: MOV R4, #0
DJNZ R4, $
DJNZ R4, $
RET
;-----------------------------------------------------------
X0_INT: ;啟動(dòng)/停止
CPL F0
RETI
;-----------------------------------------------------------
X1_INT: ;清零
MOV R1, #0
MOV P0, #0C0H
MOV P2, #0C0H
RETI
;-----------------------------------------------------------
T0_INT: ;50ms中斷執(zhí)行一次.
MOV TL0, #(65536-50000) MOD 256;
MOV TH0, #(65536-50000) / 256 ;50ms@12MHz
DJNZ R7, T0_END ;中斷不到20次.
MOV R7, #20
JNB F0, T0_END
MOV A, R1
ADD A, #1
DA A
MOV R1, A
ANL A, #0FH
MOV DPTR, #TAB
MOVC A, @A+DPTR ;查出段碼
MOV P2, A
MOV A, R1
SWAP A
ANL A, #0FH
MOVC A, @A+DPTR ;查出段碼
MOV P0, A ;顯示十位數(shù).
T0_END:
RETI
;-----------------------------------------------------------
TAB:
DB 0c0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H,80H, 90H
END
我來(lái)回答