Em làm bảng đồng hồ số cỡ lớn, khi chạy thì mỗi phút nó sai số 5s. Cái đồng hồ của em, một phút của nó chỉ có 55 s. Chán ghê, bác nào có kinh nghiệm xin hãy hướng dẫn dùm em. Em xin đội ơn các bác, Em ko bit sử dụng IC real Time, đã lỡ làm theo cách này rùi. cac bac hãy hướng dẫn em cách khắc phục, sai số cũng dc nhưng it thôi.
Code : <<>>
Code : <<>>
Code:
ORG 0000H
JMP BEGIN
ORG 0003H
JMP NGAT_NGOAI0_VECTOR
ORG 000BH
JMP TIMER0_VECTOR
ORG 0030H
BEGIN:
;THIET LAP CHE DO CHO TIMER 0 VA NGAT NGOAI
GIATRITIMER0 EQU 25903
MOV IE,#83H ;CHO PHEP NGAT TIMER 0 VA NGAT NGOAI0
SETB TCON.0 ;CHON NGAT NGOAI KICH SUON XUONG
MOV TMOD,#01H ;CHO CHE DO 1 CHO TIMER O
MOV TH0,# HIGH (GIATRITIMER0)
MOV TL0,# LOW (GIATRITIMER0)
;NAP BIT CAO BAN DAU CHO TIMER 0;
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
;LUU MA CUA CAC SO TU 0->9 VAO CAC O NHO
MOV 70H,#7FH ;LUU MA SO 0
MOV 71H,#0EH ;----------1
MOV 72H,#0B7H ;----------2
MOV 73H,#9FH ;LUU MA SO 3
MOV 74H,#0CEH ;LUU MA SO 4
MOV 75H,#0DDH ;LUU MA SO 5
MOV 76H,#0FDH ;LUU MA SO 6
MOV 77H,#0FH ;LUU MA SO 7
MOV 78H,#0FFH ;LUU MA SO 8
MOV 79H,#0DFH ;LUU MA SO 9
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
;LUU GIA TRI THOI GIAN BAN DAU
MOV 40H,#0 ;CHUC GIO BANG 0
MOV 41H,#0 ;GIO BANG 0
MOV 42H,#0 ;CHUC PHUT BANG 0
MOV 43H,#0 ;PHUT BANG 0
MOV 44H,#0 ;CHUC GIAY VA GIAY BANG 0
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
SETB TR0 ;BAT TIMER 0
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
LAPLAI: CALL HIENTHI
CALL XULY_THOIGIAN
JMP LAPLAI
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
HIENTHI:
MOV A,40H ;HIEN THI CHUC GIO
MOV R0,#70H ;
ADD A,R0 ;
MOV R0,A ;
MOV P3,@R0 ;
MOV A,41H ;HIEN THI GIO
MOV R0,#70H ;
ADD A,R0 ;
MOV R0,A ;
MOV P1,@R0 ;
MOV A,42H ;HIEN THI CHUC PHUT
MOV R0,#70H ;
ADD A,R0 ;
MOV R0,A ;
MOV P0,@R0 ;
MOV A,43H ;HIEN THI PHUT
MOV R0,#70H ;
ADD A,R0 ;
MOV R0,A ;
MOV P2,@R0 ;
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XULY_THOIGIAN:
MOV A,44H
CJNE A,#60,THOAT_XULY
MOV 44H,#0 ;GIAY = 0
INC 43H ;TANG PHUT
MOV A,43H
CJNE A,#10,THOAT_XULY
MOV 43H,#0 ;PHUT BANG 0
INC 42H ;TANG CHUC PHUT
MOV A,42H
CJNE A,#6,THOAT_XULY
MOV 42H,#0 ; CHUC PHUT BANG 0
MOV A,40H
CJNE A,#2,TTG ; SO SANH CHUC GIO
INC 41H ;TANG GIO
MOV A,41H
CJNE A,#4,THOAT_XULY; SO SANH GIO VOI 4
MOV 40H,#0 ;CHUC GIO BANG 0
MOV 41H,#0 ;GIO BANG 0
MOV 42H,#0 ;CHUC PHUT BANG 0
MOV 43H,#0 ;PHUT BANG 0
MOV 44H,#0 ;CHUC GIAY VA GIAY BANG 0
JMP THOAT_XULY
TTG:
INC 41H
MOV A,41H
CJNE A,#10,THOAT_XULY
MOV 41H,#0 ; EP GIO BANG 0
INC 40H ; TANG CHUC GIO
THOAT_XULY:
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
NGAT_NGOAI0_VECTOR: ;CHUONG TRINH CON XU LI PHIM VA TNAG THOI GIAN THEO PHIM
;CLR IE.0 ; XOA DIEU KIEN NGAT NGOAI DE XU LY PHIM MENU
SETB P1.2 ; BAO TRANG THAI CHINH GIO
MOV R4,#50
DOCPHIM:
CALL HIENTHI
CALL DELAY_PHIM_200MS
MOV A,P0 ; DOC P0
ANL A,#04H ; CHI LAY RA P0.2
MOV R1,A ; LUU P0 VAO R1
MOV A,P2
ANL A,#04H
MOV R2,A
;MOV A,P3
;ANL A,#04H
;MOV R3,A
CJNE R1,#0,DEN_PHIM_GIO; XEM P0.2 CO DUOC NHAN ?(BANG 0)
INC 43H ;TANG PHUT
MOV A,43H
CJNE A,#10,DOCPHIM
MOV 43H,#0 ;PHUT BANG 0
INC 42H ;TANG CHUC PHUT
MOV A,42H
CJNE A,#6,DOCPHIM
MOV 42H,#0 ; CHUC PHUT BANG 0
JMP DOCPHIM
DEN_PHIM_GIO:
CJNE R2,#0,DEN_PHIM_MENU; XEM PHIM GIO CO DUOC NHAN?
MOV A,40H
CJNE A,#2,TTG1 ; SO SANH CHUC GIO
INC 41H ;TANG GIO
MOV A,41H
CJNE A,#4,DOCPHIM; SO SANH GIO VOI 4
MOV 40H,#0 ;CHUC GIO BANG 0
MOV 41H,#0 ;GIO BANG 0
JMP DOCPHIM
TTG1:
INC 41H
MOV A,41H
CJNE A,#10,DOCPHIM
MOV 41H,#0 ; EP GIO BANG 0
INC 40H ; TANG CHUC GIO
JMP DOCPHIM
DEN_PHIM_MENU:
DJNZ R4,DOCPHIM
;CJNE R3,#0,DOCPHIM
;MOV R3,#10
;HERE: CALL DELAY_PHIM_200MS
;DJNZ R3,HERE
;SETB IE.0
RETI
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TIMER0_VECTOR:
CLR TR0
clr p1.2
MOV 60H,#7
BACK1: MOV 61H,#250
BACK2: MOV 62H,#250
BACK3: DJNZ 62H,BACK3
DJNZ 61H,BACK2
DJNZ 60H,BACK1
INC 44H ;TANG GIAY
MOV TH0,# HIGH (GIATRITIMER0)
MOV TL0,# LOW (GIATRITIMER0)
SETB TR0
RETI
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DELAY_PHIM_200MS:
MOV R7,#10
D3:MOV R6,#100
D2:MOV R5,#100
D1:DJNZ R5, D1
DJNZ R6, D2
DJNZ R7, D3
RET
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
END
bạn làm ơn chèn vô code dùm mình luôn đi, mình biết gắn nó vô chỗ nào bi h. Mình ko biết j về điện tử hết. hii...i, mình đội ơn bạn nhiều nhiều...


Comment