Thông báo

Collapse
No announcement yet.

Cần giúp đỡ về DS12887

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Cần giúp đỡ về DS12887

    Bác nào đã làm về Realtime DS12887 xin giúp em với. Em đang làm đồ án về đồng hồ điện tử sử dụng 89C51+DS12887.Không biết chương trình có sai hay ko mà sao led 7 đoạn chỉ hiển thị 969696 thôi. Đây là chương trình em viết:
    Code:
    REGA		EQU	0AH
    REGB		EQU 	0BH
    REGSEC	       EQU     00H	     ;THANH GHI GIAY
    REGMIN	       EQU     02H	;THANH GHI PHUT
    REGHOUR	      EQU     04H	;THANH GHI GIO
    HOUR		EQU	32H	
    MIN		EQU	31H	
    SEC		EQU	30H
    			
    			ORG 0000H
    			CALL DELAY_200MS
    			MOV HOUR,#6
    			MOV MIN,#0
    			MOV SEC,#0
    MAIN:			ACALL SET_RTC
    			ACALL WRITE_HMS
    BAT_DAU:		ACALL READ_HMS
    			ACALL XU_LY_DU_LIEU
    			ACALL HIEN_THI
    			SJMP BAT_DAU
    ;-------------------------------------------
    SET_RTC:		PUSH	00H
    			PUSH	ACC
    			MOV	R0,#REGA	
    			MOV	A,#20H	
    			MOVX	@R0,A	
    			MOV	R0,#REGB	
    			MOV	A,#06H
    			MOVX	@R0,A	
    			POP	ACC
    			POP	00H
    			RET
    ;---------------------------------------------
    WRITE_HMS:	
    			PUSH	00H
    			PUSH	ACC
    			MOV	R0,#REGSEC
    			MOV	A,SEC	
    			MOVX	@R0,A	
    			MOV	R0,#REGMIN
    			MOV	A,MIN	      
    			MOVX	@R0,A	
    			MOV	R0,#REGHOUR
    			MOV	A,HOUR
    			MOVX	@R0,A	
    			POP	ACC
    			POP	00H
    			RET
    ;----------------------------------------------
    READ_HMS:
    			PUSH	00H
    			PUSH	ACC
    			MOV	R0,#REGSEC	
    			MOVX	A,@R0	
    			MOV	34H,A	
    			MOV	R0,#REGMIN	
    			MOVX	A,@R0	
    			MOV	35H,A	
    			MOV	R0,#REGHOUR	
    			MOVX	A,@R0	
    			MOV	36H,A	
    			POP	ACC
    			POP	00H
    			RET
    ;----------------------------------------------
    XU_LY_DU_LIEU:
    			CALL TM_GIAY
    			CALL TM_PHUT
    			CALL TM_GIO
    			RET
    	
    	TM_GIAY:	MOV A,34H
    			CALL BINTOBCD
    			MOV R6,A
    			ANL A,#0FH
    			CALL TRA_BANG
    			MOV 40H,A
    			MOV A,R6
    			SWAP A
    			ANL A,#0FH
    			CALL TRA_BANG
    			MOV 41H,A
    			RET
    	
    	TM_PHUT:	MOV A,35H
    			CALL BINTOBCD
    			MOV R6,A
    			ANL A,#0FH
    			CALL TRA_BANG
    			MOV 42H,A
    			MOV A,R6
    			SWAP A
    			ANL A,#0FH
    			CALL TRA_BANG
    			MOV 43H,A
    			RET
    	
    	TM_GIO:	MOV A,36H
    			CALL BINTOBCD
    			MOV R6,A
    			ANL A,#0FH
    			CALL TRA_BANG
    			MOV 44H,A
    			MOV A,R6
    			SWAP A
    			ANL A,#0FH
    			CALL TRA_BANG
    			MOV 45H,A
    			RET
    			
    	BINTOBCD:	MOV B,#10
    			DIV AB
    			SWAP A
    			ADD A,B
    			RET
    
    	TRA_BANG:	MOV DPTR,#TABLE
    			MOVC A,@A+DPTR
    			RET
    	TABLE:	DB 0A0H,0F9H,0A4H,0D0H,99H,92H,82H,0F8H,80H,90H
    ;------------------------------------------
    HIEN_THI:		MOV P2,#0FEH
    			MOV P1,40H
    			CALL DELAY_2MS
    			MOV P2,#0FDH
    			MOV P1,41H
    			CALL DELAY_2MS
    			MOV P2,#0FBH
    			MOV P1,42H
    			CALL DELAY_2MS
    			MOV P2,#0F7H
    			MOV P1,43H
    			CALL DELAY_2MS
    			MOV P2,#0EFH
    			MOV P1,44H
    			CALL DELAY_2MS
    			MOV P2,#0DFH
    			MOV P1,45H
    			CALL DELAY_2MS
    			RET
    ;----------------------------------------------
    DELAY_2MS:		PUSH 07H
    			PUSH 06H
    			MOV R7,#4
    	NHAY3:	MOV R6,#250
    			DJNZ R6,$
    			DJNZ R7,NHAY3
    			POP 06H
    			POP 07H
    			RET
    ;---------------------------------------------
    DELAY_200MS:	PUSH 07H
    			PUSH 06H
    			PUSH 05H
    			MOV R7,#2
    	BACK2:	MOV R6,#200
    	BACK1:	MOV R5,#250
    			DJNZ R5,$
    			DJNZ R6,BACK1
    			DJNZ R7,BACK2
    			POP 05H
    			POP 06H
    			POP 07H
    			RET
    			END
    Còn đây là sơ đồ phần cứng:
    real time.pdf
    Last edited by VNarmy; 20-10-2007, 09:03.

  • #2
    Port 0 Thì Không Treo Trở, Lại đi Treo Trở Port 2.mất Căn Bản Quá.đọc Lại Datasheet Con 89 đi.

    Comment


    • #3
      Nguyên văn bởi microteck Xem bài viết
      Port 0 Thì Không Treo Trở, Lại đi Treo Trở Port 2.mất Căn Bản Quá.đọc Lại Datasheet Con 89 đi.
      Cái board mình dùng để test đã có điện trở kéo lên rồi. Kết quả vẫn vậy. Các bác làm ơn dò xem chương trình của mình có sai chỗ nào không? Không biết con DS12887 của mình còn sống ko nữa. Có cách nào để kiểm tra ko vậy?

      Comment


      • #4
        bác nên kiểm tra từng phần,muốn biết rtc còn sống hay đã chết thì bác khai báo cho xuất xung 2hz,gắn led vào chân SQW led nháy thì sống,sau đó bác kiểm tra xem xuất led có đúng ko,bác cho xuất 123456 thử coi đúng ko,chúc bác thành công

        Comment


        • #5
          Nguyên văn bởi hongtam Xem bài viết
          Cái board mình dùng để test đã có điện trở kéo lên rồi. Kết quả vẫn vậy. Các bác làm ơn dò xem chương trình của mình có sai chỗ nào không? Không biết con DS12887 của mình còn sống ko nữa. Có cách nào để kiểm tra ko vậy?
          Bạn viết chương trình này à?

          tôi nghỉ chương trình này ko phải bạn viết đâu?
          chương trình đó của 1 cao thủ viết.

          Comment


          • #6
            Nguyên văn bởi Haha1+1=3 Xem bài viết
            Bạn viết chương trình này à?

            tôi nghỉ chương trình này ko phải bạn viết đâu?
            chương trình đó của 1 cao thủ viết.
            Ai viết thì có gì quan trọng hả bác. Cái quan trọng ở đây là hiểu chương trình và ứng dụng nó vào thực tế. Nếu bác ko tin tui viết thì cũng được , ko có gì buồn cả.

            Comment


            • #7
              tớ thấy chương trình cũng bt có gì đâu mà cao thủ,cái quan trọng là hiểu nó làm việc thế nào thôi chứ,chép ở đâu thì có quan trọng gì,mà cuối cùng là chạy được chưa vậy bác

              Comment


              • #8
                Nguyên văn bởi sandro_bk Xem bài viết
                tớ thấy chương trình cũng bt có gì đâu mà cao thủ,cái quan trọng là hiểu nó làm việc thế nào thôi chứ,chép ở đâu thì có quan trọng gì,mà cuối cùng là chạy được chưa vậy bác
                Chưa bác ơi. Không biết chương trình sai hay là con DS12887 chết. Nếu DS12887 chết thì tiếc lắm vì mới mua 55k lận đó. Có ai thấy chương trình sai ở đâu ko vậy,giúp mình với. Không được nữa chắc tốn 55k mua con khác quá.

                Comment

                Về tác giả

                Collapse

                hongtam Tìm hiểu thêm về hongtam

                Bài viết mới nhất

                Collapse

                Đang tải...
                X