?? 12345.asm
字號:
org 0000h
START: ;MOV 30h,#00H
;MOV 31h,#00H
;MOV 32h,#00H
MOV DPTR,#TABLE ;送段碼表首地址
MOV 35H, #00H
SETB P3.4
SETB P3.5
CLR P3.6 ;選擇ADC0808的通道3
WAIT: CLR p3.2
SETB p3.2
CLR p3.2 ;啟動轉換
JNB p3.1,$ ;等待轉換結束
SETB p3.0 ;允許輸出
MOV 35h,P1 ;暫存轉換結果
CLR p3.0 ;關閉輸出
MOV R0,#35h
;存放AD轉換值的首地址
MOV R1,#38H ;存放BCD碼的首地址
;MOV R2,#1 ;要轉化的AD轉換值的個數
MOV R4,#0 ;暫存轉化結果的低位
MOV R5,#0 ;;暫存轉化結果的高位
CLR C
MOV A,@R0 ;取要轉化的AD轉換值
MOV B,#14H ;×20
MUL AB
MOV R3,A ;積低位存入TEMPLOW單元
MOV A,B
MOV R2,A ;積高位存入TEMPHIGH單元
CLR A ;轉化程序
MOV R6,A
MOV R7,#10H
BP1:CLR C
MOV A,R3
RLC A
MOV R3,A
MOV A, R2
RLC A
MOV R2,A
MOV A ,R6
ADDC A ,R6
DA A
MOV R6 ,A
MOV A ,R5
ADDC A ,R5
DA A
MOV R5 ,A
MOV A,R4
ADDC A,R4
SWAP A
MOV R4,A
DJNZ R7,BP1
MOV 30H,R6
MOV 31H,R5
MOV R0,#30H
MOV R1,#38H
MOV R7,#02H
BP2: MOV A,@R0
ANL A,#0FH
MOV @R1,A
INC R1
MOV A,@R0
SWAP A
ANL A,#0FH
MOV @R1,A
INC R0
INC R1
DJNZ R7, BP2
; RET
LCALL DISP ;顯示AD轉換結果
SJMP WAIT
;*******************
;顯示子程序
;*******************
DISP:MOV A,#0FDH
MOV P2,A
MOV A,3BH
MOV DPTR,#TABLE
MOVC A,@A+DPTR
ORL A,#80H ;加小數點
MOV P0,A
CALL DELAY
MOV A, #0FBH
MOV P2,A
MOV A,3AH
MOV DPTR, #TABLE
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAY
MOV A, #0F7H
MOV P2,A
MOV A,39H
MOV DPTR, #TABLE
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAY
MOV A, #0FEH
MOV P2,A
MOV A,38H
MOV DPTR, #TABLE
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAY
RET
TABLE: DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
DELAY: MOV 40,#34H
D0: MOV 41,#19H
D1: DJNZ 41,D1
DJNZ 40,D0
RET
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -