;=============================================
B_MOV8W:;個(gè)位的9位分為3份,放到3個(gè)筆段寄存器的最高2位去
MOV TTL,A
BTS0 R.0
BSET SEG0H.0
RLCM TTL
RLCM SEG0;左移2位,一共8位
RLCM TTL
RLCM SEG0
BTS0 TTL.7
BSET SEG1H.0 ;每3位的頭1位是到高字節(jié)寄存器
RLCM TTL;白白左移1位,
RLCM TTL;左移2位,
RLCM SEG1
RLCM TTL
RLCM SEG1
BTS0 TTL.7
BSET SEG2H.0
RLCM TTL;白白左移1位,
RLCM TTL;左移2位,
RLCM SEG2
RLCM TTL
RLCM SEG2
ret
B_MOV8WA:
MOV TTL,A
BTS0 R.0
BSET FC
BTS1 R.0
BCLR FC
RLCM SEG0
RLCM TTL
RLCM SEG0;左移2位,一共8位
RLCM TTL
RLCM SEG0
RLCM TTL;左移2位,
RLCM SEG1
RLCM TTL
RLCM SEG1
RLCM TTL
RLCM SEG1
RLCM TTL
RLCM SEG2
RLCM TTL;左移2位,
RLCM SEG2
RLCM TTL
RLCM SEG2
ret
;============================================================
ISR:; 中斷服務(wù)子程序
PUSH
B_T0ISR:
BTS1 FT0IRQ
JMP B_POP
BCLR FT0IRQ
MOV_ P1M,#00H
BTS0 FPSD;顯示采用雙向倒相方式進(jìn)行
JMP B_1111;但是,似乎單向方式也是一樣的.
;試驗(yàn)證明,采用反相方式是更加穩(wěn)定的.
MBZ0 XSJS
JMP @F
BCLR FP50
BTS0 SEG0H.0
BSET FP50 ;B2
;-----如果是使用 MOV P5,A,就要預(yù)先有一個(gè)寄存器來(lái)轉(zhuǎn)移這個(gè)數(shù)據(jù)
MOV_ P2,SEG0;F,A,B,F,A,B,*
BSET FP17M
BSET FP17
INCMS XSJS
JMP B_TC0;B_LOOP
@@:
MBC01 XSJS
JMP @F
BCLR FP50
BTS0 SEG1H.0
BSET FP50 ;C2
MOV_ P2,SEG1;E,G,C,E,G,C,*
BSET FP16M
BSET FP16
INCMS XSJS
JMP B_TC0;B_LOOP
@@:
BCLR FP50
BTS0 SEG2H.0
BSET FP50 ;LO
MOV_ P2,SEG2;*,D4,*,DP3,D3,*,COL
BSET FP15M
BSET FP15
CLR XSJS
BSET FPSD
JMP B_TC0
B_1111:
MBZ0 XSJS
JMP @F
BSET FP50 ;LO
BTS0 SEG0H.0
BCLR FP50
MOV A,SEG0;F,A,B,F,A,B,*
XOR A,#0FFH
MOV P2,A
BSET FP17M
BCLR FP17
INCMS XSJS
JMP B_TC0;B_LOOP
@@:
MBC01 XSJS
JMP @F
BSET FP50 ;LO
BTS0 SEG1H.0
BCLR FP50
MOV A,SEG1;E,G,C,E,G,C,*
XOR A,#0FFH
MOV P2,A
BSET FP16M
BCLR FP16
INCMS XSJS
JMP B_TC0;B_LOOP
@@:
BSET FP50 ;LO
BTS0 SEG2H.0
BCLR FP50
MOV A,SEG2;*,D4,*,DP3,D3,*,COL
XOR A,#0FFH
MOV P2,A
BSET FP15M
BCLR FP15
CLR XSJS
BCLR FPSD
B_TC0:
MOV_ T0C,#131
INCMS SZ03S
CMPRS1 SZ03S,#50;25;/50;30
JMP B_POP
CLR SZ03S
BSET FK03S
;///5*30=150,
INCMS SZ05S
CMPRS1 SZ05S,#3;5
JMP B_POP
CLR SZ05S
CPLF_ FSS05S
BSET FK05S
BSET FK03S
;-----------------------------------
B_POP:;2604 退出中斷
POP
RETI
;*************************************************
B_KEY:
RET
;==================================================
B_ADZH:
RET
;=======================================
B_READ:;AD 通知讀數(shù)
RET
;================================================================
B_ADCULI:
RET
;================================================================
B_OUT:
RET
;==================================================================
B_ZBLED:
RET
;準(zhǔn)備顯示數(shù)據(jù)
MBZ0F KEYJS
JMP B_XSAD
BTS0 FK2S
JMP @F
BTS0 FSS05S
JMP B_XSXXX
@@:
MBC01 KEYJS
JMP @F
MOV_ TTL,HIL
MOV_ TTH,HIH
JMP B_HEX_BCD
@@:
MBC02 KEYJS
JMP @F
MOV_ TTL,LOL
MOV_ TTH,LOH
JMP B_HEX_BCD
@@:
MBC03 KEYJS
JMP B_XSAD
MOV_ XSQW,#11110111B ;-
JMP B_GGG
B_XSAD:
BTS1 F_DIS
RET
BCLR F_DIS
BTS1 FHHH
JMP @F
MOV_ XSQW,#01100001B
MOV XSBW,A
MOV XSSW,A
MOV XSGW,A
RET
@@:
MOV_ TTL,DVL
MOV_ TTH,DVH
JMP B_HEX_BCD
B_XSXXX:
MBC01 KEYJS
JMP @F
MOV_ XSQW,#01100001B;/H
JMP B_GGG
@@:
MBC02 KEYJS
JMP @F
MOV_ XSQW,#00111101B;/L
JMP B_GGG
@@:
MBC03 KEYJS
RET
MOV_ XSQW,#01110000B;/P
B_GGG:
MOV_ XSBW,#11110111B ;-
MOV XSSW,A
MOV XSGW,A
RET
;====================================
B_HEX_BCD:;轉(zhuǎn)換為十進(jìn)制BCD碼
CLR TQW
CLR TBW
CLR TSW
B_BCD0:
CLR R
MOV A,TTL
SUB A,#100
MOV TTL,A
MOV A,TTH
SBC A,R
MOV TTH,A
BTS1 FC
JMP @F
B_BCD1:
INCMS TBW
NOP
CMPRS1 TBW,#10
JMP B_BCD0
CLR TBW
INCMS TQW
JMP B_BCD0
@@:
MOV A,#100
ADD TTL,A
X_BCD1:
MOV A,TTL
SUB A,#10
BTS1 FC
JMP @F
MOV TTL,A
INCMS TSW
JMP X_BCD1
@@:
MOV A,TTL
; MOV XSGW,A
; MOV A,TGW
CALL LED_TABLE
MOV XSGW,A
MOV A,TSW
CALL LED_TABLE
MOV XSSW,A
MOV A,TBW
CALL LED_TABLE
MOV XSBW,A
MOV A,TQW
CALL LED_TABLE
MOV XSQW,A
RET
;========================================
B_LEDXS:
RET
;===================================
ENDP
(完成----我無(wú)法上傳壓縮包文件,僅可以分幾次完成一份文章!)