?? 電壓頻率vf轉換應用.txt
字號:
電壓頻率VF轉換應用
ORG 0000H
LJMP MAIN ;轉主程序
ORG 001BH
LJMP TIME ;轉中斷服務子程序
ORG 0100H
MAIN MOV SP,#53H ;設堆棧指針
MOV TMOD,#15H
MOV TH1,#3CH
MOV TL1,#0B7H ;定時器1初始化
MOV TL0,#00H
MOV TH0,#00H ;計數器0初始化
MOV 23H,#14H
ORL IE,#8AH
MOV TCON,#50H ;啟動T0、T1
LOOP1 LJMP LOOP1
ORG 0200H
TIME DJNZ 23H,LOOP2 ;1秒不到退出
MOV 23H,#14H
MOV 40H,TH0
MOV 41H,TL0 ;取出TH0.TL0內容
MOV R2,40H
MOV R3,41H ;計數脈沖取出
LCALL ZOYO ;調二轉十進制子程序
LCALL SSEE ;調用顯示子程序
MOV TL0,#00H
MOV TH0,#00H ;重新計數
LOOP2 MOV TL1,#0B7H
MOV TH1,#3CH ;恢復初值
RETI
ORG 0300H
ZOYO CLR A
MOV R4,A
MOV R5,A
MOV R6,A ;0送R4 R5 R6
MOV R7,#10H ;16送位計數器R7
LO3O CLR C ;R2 R3左移.移出的
MOV A,R3 ;最高位送CY
RLC A
MOV R3,A
MOV A,R2
RLC A
MOV R2,A
MOV A,R6
ADDC A,R6 ;(R4 R5 R6)﹡2+CY送R4 R5 R6
DA A ;十進制調整
MOV R6,A
MOV A,R5
ADDC A,R5
DA A
MOV R5,A
MOV A,R4
ADDC A,R4
DA A
MOV R4,A
DJNZ R7,LO3O ;循環16次
RET
ORG 0400H
SSEE MOV A,R6
ANL A,#0FH
ACALL DSEND ;取個位數并顯示
MOV A,R6
SWAP A
ANL A,#0FH
ACALL DSEND ;取十位數并顯示
MOV A,R5
ANL A,#0FH
CALL DSEND ;取百位數并顯示
MOV A,R5
SWAP A
ANL A,#0FH
ACALL DSEND ;取千位數并顯示
MOV A,R4
ANL A,#0FH
ACALL DSEND ;取萬位數并顯示
MOV A,R4
SWAP A
ANL A,#0FH
ACALL DSEND ;取十萬位數并顯示
RET
DSEND MOV DPTR,#DTAB
MOVC A,@A+DPTR ;取字符
MOV SBUF,A ;發送字符
JNB TI,$ ;等待串口發送完
CLR TI
RET
DTAB DB 3FH ;0
DB 06H ;1
DB 5BH ;2
DB 4FH ;3
DB 66H ;4
DB 6DH ;5
DB 7DH ;6
DB 07H ;7
DB 7FH ;8
DB 6FH ;9
END
注意:執行程序用連續運行,不能使用全速運行。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -