单片机秒表程序

2024-12-16 03:16:01
推荐回答(1个)
回答1:

SPK EQU P1.0
T0H EQU 30H
T0L EQU 31H
Time EQU 32H
SER EQU 33H
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0ISR
ORG 001BH
LJMP T1ISR
ORG 0030H
MAIN:
MOV SP,#5FH
MOV TMOD,#11H
SETB ET0
SETB ET1
SETB EA
LCALL DELAY
REP:
MOV SER,#0
MOV Time,#1
LOOP:
SETB TR0
MOV A,SER
CLR C
RLC A
MOV F0,C
MOV DPTR,#STAB
ADD A,DPL
MOV DPL,A
MOV DPH,A
ADDC A,#0
MOV C,F0
ADDC A,#0
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV R2,A
CJNE A,#255,LPC
LJMP REP
LPC:
INC DPTR
CLR A
MOVC A,@A+DPTR
MOV R3,A
MOV DPTR,#FREQ
MOV A,R2
JNZ LPCC
CLR TR0
SJMP LPCCC
LPCC:
DEC A
RL A
PUSH ACC
MOVC A,@A+DPTR
MOV T0H,A
POP ACC
INC A
MOVC A,@A+DPTR
MOV T0L,A
LPCCC:
MOV Time,R3
SETB TR1
WAIT:
MOV A,Time
JNZ WAIT
LJMP LOOP
;-----------------------------
T0ISR:
CLR TR0
MOV TH0,T0H
MOV TL0,T0L
SETB TR0
CPL SPK
RETI
;-----------------------------
T1ISR:
CLR TR1
MOV TH1,#HIGH(65536-50000)
MOV TL1,#LOW(65536-50000)
SETB TR1
DEC Time
MOV A,Time
JNZ T1E
MOV TH0,T0H
MOV TL0,T0L
T1E:
RETI
;-----------------------------
DELAY:
    MOV R2,#100
DLY1:
    MOV R3,#200
DLY2:
    MOV R4,#248
    DJNZ R4,$
    DJNZ R3,DLY2
    DJNZ R2,DLY1
    RET
;-----------------------------
STAB:
DB 10,10,9,10,10,10,11,10,12,40,8,10,7,10,8,10,9,10,10,40
DB 6,10,8,10,7,10,8,10,5,10,8,10,9,10,8,10,7,10,8,10,8,40
DB 10,10,9,10,10,10,11,10,12,40,8,10,7,10,8,10,9,10,10,20,10,10,5,10
DB 6,30,8,10,8,30,5,10,4,10,6,10,7,10,8,10,10,10,11,10,9,20
DB 10,10,9,10,10,10,11,10,12,40,8,10,7,10,8,10,9,10,10,20,10,10,5,10
DB 6,10,8,10,0,10,5,5,3,5,4,10,8,10,8,10,6,10,7,10,7,10,7,10,8,10,9,40
DB 0,30,5,10,12,30,11,10,10,20,10,10,14,10,15,30,14,10
DB 15,10,14,10,12,10,8,10,8,30,13,10,13,20,11,10,6,10,7,10,7,10,7,10,8,10
DB 9,30,5,10,12,30,11,10,10,10,10,10,10,10,14,10,15,30,14,10
DB 15,10,14,10,12,10,8,10,8,30,13,10,13,20,11,10,6,10,7,10,7,10,7,10,8,20,8,20,255
;-----------------------------
FREQ:
DB 0F2H,03DH ;1低音1
DB 0F3H,0BDH ;2低音2
DB 0F5H,014H ;3低音3
DB 0F5H,0B1H ;4低音4
DB 0F6H,0D0H ;5低音5
DB 0F7H,0D1H ;6低音6
DB 0F8H,0B5H ;7低音7

DB 0F9H,01EH ;8中音1
DB 0F9H,0DEH ;9中音2
DB 0FAH,08AH ;10中音3
DB 0FAH,0D8H ;11中音4
DB 0FBH,068H ;12中音5
DB 0FBH,0E8H ;13中音6
DB 0FCH,05AH ;14中音7
 
DB 0FCH,08FH ;15高音1
DB 0FCH,0EFH ;16高音2
DB 0FDH,045H ;17高音3
DB 0FDH,06CH ;18高音4
DB 0FDH,0B4H ;19高音5
DB 0FDH,0F4H ;20高音6
DB 0FEH,029H ;21高音7
;-----------------------------
END