制作出來的實(shí)物圖如下:
327fcb7db4d6200c7c95edbac3cd4c85.jpg (268 KB, 下載次數(shù): 75)
下載附件
2022-3-7 10:59 上傳
這是我二十多年前的第一個51單片機(jī)作品。功能如下:
1。邏輯檢測;高電平顯示H,低電平顯示L,開漏輸出顯示O。
2。時鐘頻率測量;1M赫以下,由高位到低位依次顯示。
3。1000赫茲方波信號發(fā)生器,也由數(shù)碼管顯示頻率。
單片機(jī)匯編程序如下:
ORG 0000H
AJMP FIST
ORG 000BH
AJMP TOIP
ORG 001BH
AJMP TIIP
FIST: MOV P1, #0FFH
MOV P3, #0F7H
MOV IP, #08H
MOV TMOD, #25H
MOV TH1, #06H
MOV TL1, #06H
MOV 23H, #0
MOV R3, #1
MOV R4, #1
MOV R5, #1
SETB TR1
SETB ET0
SETB ET1
SETB EA
LOOP: CLR P1.7
ACALL D125
SETB P1.7
ACALL D125
AJMP LOOP
CHPC: CJNE R2, #0, IBT1
CJNE R1, #0, IBT1
CJNE R0, #0, IBT1
JNB P3.4, GAOU
SETB P3.3
NOP
MOV TL0, #0
JNB P3.4, OPEN
CLR P3.3
MOV P1, #0C7H
AJMP LOOP
GAOU: MOV P1, #89H
AJMP LOOP
OPEN: CLR P3.3
MOV P1, #0C0H
AJMP LOOP
IBT1: SETB PSW.1
CLR A
MOV 20H, #0
MOV 21H, #0
MOV 22H, #0
MOV B, #24
IBT2: CLR C
MOV A, R2
RLC A
MOV R2, A
MOV A, R1
RLC A
MOV R1, A
MOV A, R0
RLC A
MOV R0, A
BTOD: MOV A, 20H
ADDC A, 20H
DA A
MOV 20H, A
MOV A, 21H
ADDC A, 21H
DA A
MOV 21H, A
MOV A, 22H
ADDC A, 22H
DA A
MOV 22H, A
DJNZ B, IBT2
MOV DPTR, #DATE
CLR PSW.5
MOV R0, #22H
ROOP: MOV R1, #2
MOV A, @R0
MOV B, #10H
DIV AB
CJNE A, #0, DOOM
JNB PSW.5, DOOK
AJMP DOOM
XOOP: XCH A, B
CJNE A, #0, DOOM
JNB PSW.5,DOOK
DOOM: SETB PSW.5
MOVC A, @A+DPTR
MOV P1, A
ACALL D125
ACALL D125
DOOK: MOV P1, #0FFH
ACALL D125
ACALL D125
DJNZ R1, XOOP
DEC R0
CJNE R0, #1FH, ROOP
CLR PSW.1
AJMP LOOP
TOIP: INC 23H
RETI
TIIP: DJNZ R3, BACK
CPL P3.5
MOV R3, #15
DJNZ R4, BACK
MOV R4, #8
DJNZ R5, BACK
MOV R5, #0FAH
CLR TR0
JB PSW.1, BACK
MOV R2, TL0
MOV TL0, #0
SETB TR0
MOV R1, TH0
MOV TH0, #0
MOV R0, 23H
MOV 23H, #0
MOV DPTR, #CHPC
POP 7FH
POP 7FH
MOV 7FH, DPL
PUSH 7FH
MOV 7FH, DPH
PUSH 7FH
BACK: RETI
D125: MOV 24H, #2
MAIN: MOV R6, #0FAH
SUBP: MOV R7, #0FAH
DJNZ R7, $
DJNZ R6, SUBP
DJNZ 24H, MAIN
RET
DATE: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H
DB 92H, 82H, 0F8H, 80H, 90H
END
|