Thông báo

Collapse
No announcement yet.

Help mach dong dong ho

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

  • Help mach dong dong ho

    Tình hình là e đang có bài tập viết giao tiếp AT89C51 với led 7 đoạn đếm giờ phút giây bằng ngôn ngử ASM nhưng không biết viết ntn. Bro nào có mạch đó cho e với có dk không .thank nhiều
    ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

  • #2
    em viết được một đoạn như thế này nhưng sao khi hiển thị lên đếm giây xong được một phút mà led đếm phút sáng rồi lại tắ nhỉ. em kung không biết nửa, bro nào giúp em với
    link DONG HO.rar
    ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

    Comment


    • #3
      đã sửa lại code của chú, tham khảo rồi viết thêm cho led hour, viết hoài ko chạy thì post lên hỏi tiếp
      Code:
      	ORG	00H
      main:
      	MOV	P3,#00H
      	MOV	R1,#0
      	MOV	R2,#0
      	MOV	DPTR,#MALED7SEG
      LOOP:	CALL	GIAIMA
      	CALL	GIAIMA1
      	MOV	R5,#25
      LOOP1:	CALL	HIENTHI
      	CALL	HIENTHI1
      	DJNZ	R5,LOOP1
      	INC	R1
      	CJNE	R1,#60,LOOP
      	MOV	R1,#0
      	INC	R2
      	CJNE	R2,#60,LOOP
      	MOV	R2,#0
      	SJMP	LOOP
      HIENTHI:
      	MOV	P0,42H
      	SETB	P3.1
      	CALL	DELAY
      	CLR	P3.1
      	MOV	P0,41H
      	SETB	P3.0
      	CALL	DELAY
      	CLR	P3.0
      	RET
      HIENTHI1:
      	MOV	P0,44H
      	SETB	P3.3
      	CALL	DELAY
      	CLR	P3.3
      	MOV	P0,43H
      	SETB	P3.2
      	CALL	DELAY
      	CLR	P3.2
      	RET
      GIAIMA:
      	MOV	A,R1
      	MOV	B,#10
      	DIV	AB
      	MOVC	A,@A+DPTR
      	MOV	41H,A
      	MOV	A,B
      	MOVC	A,@A+DPTR
      	MOV	42H,A
      	RET
      GIAIMA1:
      	MOV	A,R2
      	MOV	B,#10
      	DIV	AB
      	MOVC	A,@A+DPTR
      	MOV	43H,A
      	MOV	A,B
      	MOVC	A,@A+DPTR
      	MOV	44H,A
      	RET
      DELAY:
      	MOV	R7,#20
      LAP:	MOV	R6,#250
      	DJNZ	R6,$
      	DJNZ	R7,LAP
      	RET
      MALED7SEG: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
      	END

      Comment


      • #4
        Nguyên văn bởi chung1608 Xem bài viết
        đã sửa lại code của chú, tham khảo rồi viết thêm cho led hour, viết hoài ko chạy thì post lên hỏi tiếp
        Code:
        	ORG	00H
        main:
        	MOV	P3,#00H
        	MOV	R1,#0
        	MOV	R2,#0
        	MOV	DPTR,#MALED7SEG
        LOOP:	CALL	GIAIMA
        	CALL	GIAIMA1
        	MOV	R5,#25
        LOOP1:	CALL	HIENTHI
        	CALL	HIENTHI1
        	DJNZ	R5,LOOP1
        	INC	R1
        	CJNE	R1,#60,LOOP
        	MOV	R1,#0
        	INC	R2
        	CJNE	R2,#60,LOOP
        	MOV	R2,#0
        	SJMP	LOOP
        HIENTHI:
        	MOV	P0,42H
        	SETB	P3.1
        	CALL	DELAY
        	CLR	P3.1
        	MOV	P0,41H
        	SETB	P3.0
        	CALL	DELAY
        	CLR	P3.0
        	RET
        HIENTHI1:
        	MOV	P0,44H
        	SETB	P3.3
        	CALL	DELAY
        	CLR	P3.3
        	MOV	P0,43H
        	SETB	P3.2
        	CALL	DELAY
        	CLR	P3.2
        	RET
        GIAIMA:
        	MOV	A,R1
        	MOV	B,#10
        	DIV	AB
        	MOVC	A,@A+DPTR
        	MOV	41H,A
        	MOV	A,B
        	MOVC	A,@A+DPTR
        	MOV	42H,A
        	RET
        GIAIMA1:
        	MOV	A,R2
        	MOV	B,#10
        	DIV	AB
        	MOVC	A,@A+DPTR
        	MOV	43H,A
        	MOV	A,B
        	MOVC	A,@A+DPTR
        	MOV	44H,A
        	RET
        DELAY:
        	MOV	R7,#20
        LAP:	MOV	R6,#250
        	DJNZ	R6,$
        	DJNZ	R7,LAP
        	RET
        MALED7SEG: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
        	END
        thanhk bác nhiều nhá.
        Last edited by thuongdtqb; 19-03-2012, 17:05.
        ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

        Comment


        • #5
          mà bác có thể giải thích dùm mấy lệnh bác thêm cho em với dk không
          Last edited by thuongdtqb; 19-03-2012, 17:11.
          ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

          Comment


          • #6
            em viết thêm led hour như thế này nhưng chạy bị giật. Em không biết do gì nửa bác coi dùm em với. Mà cho em hỏi lun là dòng lệnh: MOV R5,#25 có nghỉ là gì vậy và lệnh giảm R5: DJNZ R5,LOOP1 để làm gì . thank bac nhiều
            Code:
            	ORG	00H
            main:
            	MOV	P3,#00H
            	MOV	R1,#0
            	MOV	R2,#0
            	MOV	R3,#0
            	MOV	DPTR,#MALED7SEG
            LOOP:	CALL	GIAIMAGIAY
            	CALL	GIAIMAPHUT
            	CALL	GIAIMAGIO
            	MOV	R5,#25
            LOOP1:	CALL	HIENTHIGIAY
            	CALL	HIENTHIPHUT
            	CALL	HIENTHIGIO
            	DJNZ	R5,LOOP1
            	INC	R1
            	CJNE	R1,#60,LOOP
            	MOV	R1,#0
            	INC	R2
            	CJNE	R2,#60,LOOP
            	MOV	R1,#0
            	MOV	R2,#0
            	INC	R3
            	CJNE	R3,#60,LOOP
            	MOV	R3,#0
            	SJMP	LOOP
            HIENTHIGIAY:
            	MOV	P0,42H
            	SETB	P3.1
            	CALL	DELAY
            	CLR	P3.1
            	MOV	P0,41H
            	SETB	P3.0
            	CALL	DELAY
            	CLR	P3.0
            	RET
            HIENTHIPHUT:
            	MOV	P0,44H
            	SETB	P3.3
            	CALL	DELAY
            	CLR	P3.3
            	MOV	P0,43H
            	SETB	P3.2
            	CALL	DELAY
            	CLR	P3.2
            	RET
            HIENTHIGIO:
            	MOV	P0,46H
            	SETB	P3.5
            	CALL	DELAY
            	CLR	P3.5
            	MOV	P0,45H
            	SETB	P3.4
            	CALL	DELAY
            	CLR	P3.4
            	RET
            GIAIMAGIAY:
            	MOV	A,R1
            	MOV	B,#10
            	DIV	AB
            	MOVC	A,@A+DPTR
            	MOV	41H,A
            	MOV	A,B
            	MOVC	A,@A+DPTR
            	MOV	42H,A
            	RET
            GIAIMAPHUT:
            	MOV	A,R2
            	MOV	B,#10
            	DIV	AB
            	MOVC	A,@A+DPTR
            	MOV	43H,A
            	MOV	A,B
            	MOVC	A,@A+DPTR
            	MOV	44H,A
            	RET
            GIAIMAGIO:
            	MOV	A,R3
            	MOV	B,#10
            	DIV	AB
            	MOVC	A,@A+DPTR
            	MOV	45H,A
            	MOV	A,B
            	MOVC	A,@A+DPTR
            	MOV	46H,A
            	RET
            DELAY:
            	MOV	R7,#20
            LAP:	MOV	R6,#250
            	DJNZ	R6,$
            	DJNZ	R7,LAP
            	RET
            MALED7SEG: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
            	END
            ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

            Comment


            • #7
              vấn đề quét led bị giật và MOV R5,#25 để làm gì là hai vấn đề liên quan tới nhau. Chú tìm hiểu lại phương pháp quét led cụ thể là phần thời gian lưu ảnh sẽ hiểu. Sửa chương trình ko chỉ rặp khuôn cái đã sửa, mà phải sửa lại cái đã được sửa rồi.

              Comment


              • #8
                Thì thời gian lưu ảnh của mắt là 24 hình/S. Nhưng em vẩn không hỉu R5 ở đây để làm gì.Bác có thể giải thích cho em vớ dk không
                ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

                Comment


                • #9
                  Nguyên văn bởi thuongdtqb Xem bài viết
                  Thì thời gian lưu ảnh của mắt là 24 hình/S. Nhưng em vẩn không hỉu R5 ở đây để làm gì.Bác có thể giải thích cho em vớ dk không
                  lúc đầu dùng 4 lần gọi delay để tạo trì hoãn 1 giây, làm như thế tần số quét led thấp sẽ bị nháy, vì thế cần phải giảm delay mà giảm delay thì thời gian tăng nhỏ hơn 1 giây nên phải có R5 để đếm số lần quét led cho việc tính delay
                  (20*250*2)*4*25=1000000uS

                  Comment


                  • #10
                    Nguyên văn bởi chung1608 Xem bài viết
                    lúc đầu dùng 4 lần gọi delay để tạo trì hoãn 1 giây, làm như thế tần số quét led thấp sẽ bị nháy, vì thế cần phải giảm delay mà giảm delay thì thời gian tăng nhỏ hơn 1 giây nên phải có R5 để đếm số lần quét led cho việc tính delay
                    (20*250*2)*4*25=1000000uS
                    Thank bác nhé. Nếu như vậy có phải bây giờ em phải giảm thời gian delay sao cho gọi 8 lần delay đủ cho thời gian trì hoản 1s phải không bác. Em làm như thế này có được không?
                    Code
                    Code:
                    	ORG	00H
                    MAIN:
                    	MOV	P3,#00H
                    	MOV	R1,#0
                    	MOV	R2,#0
                    	MOV	R3,#0
                    	MOV	DPTR,#MALED7SEG
                    LOOP:	CALL	GIAIMAGIAY
                    	CALL	GIAIMAPHUT
                    	CALL	GIAIMAGIO
                    	CALL	DELAY
                    	MOV	R5,#25
                    LOOP1:	CALL	HIENTHIGIAY
                    	CALL	HIENTHIPHUT
                    	CALL	HIENTHIGIO
                    	CALL	DELAY
                    	DJNZ	R5,LOOP1
                    	INC	R1
                    	CJNE	R1,#60,LOOP
                    	MOV	R1,#0
                    	INC	R2
                    	CJNE	R2,#60,LOOP
                    	MOV	R1,#0
                    	MOV	R2,#0
                    	INC	R3
                    	CJNE	R3,#60,LOOP
                    	MOV	R3,#0
                    	SJMP	LOOP
                    HIENTHIGIAY:
                    	MOV	P0,42H
                    	SETB	P3.1
                    	CALL	DELAY
                    	CLR	P3.1
                    	MOV	P0,41H
                    	SETB	P3.0
                    	CALL	DELAY
                    	CLR	P3.0
                    	RET
                    HIENTHIPHUT:
                    	MOV	P0,44H
                    	SETB	P3.3
                    	CALL	DELAY
                    	CLR	P3.3
                    	MOV	P0,43H
                    	SETB	P3.2
                    	CALL	DELAY
                    	CLR	P3.2
                    	RET
                    HIENTHIGIO:
                    	MOV	P0,46H
                    	SETB	P3.5
                    	CALL	DELAY
                    	CLR	P3.5
                    	MOV	P0,45H
                    	SETB	P3.4
                    	CALL	DELAY
                    	CLR	P3.4
                    	RET
                    GIAIMAGIAY:
                    	MOV	A,R1
                    	MOV	B,#10
                    	DIV	AB
                    	MOVC	A,@A+DPTR
                    	MOV	41H,A
                    	MOV	A,B
                    	MOVC	A,@A+DPTR
                    	MOV	42H,A
                    	RET
                    GIAIMAPHUT:
                    	MOV	A,R2
                    	MOV	B,#10
                    	DIV	AB
                    	MOVC	A,@A+DPTR
                    	MOV	43H,A
                    	MOV	A,B
                    	MOVC	A,@A+DPTR
                    	MOV	44H,A
                    	RET
                    GIAIMAGIO:
                    	MOV	A,R3
                    	MOV	B,#10
                    	DIV	AB
                    	MOVC	A,@A+DPTR
                    	MOV	45H,A
                    	MOV	A,B
                    	MOVC	A,@A+DPTR
                    	MOV	46H,A
                    	RET
                    DELAY:
                    	MOV	R7,#10
                    LAP:	MOV	R6,#250
                    	DJNZ	R6,$
                    	DJNZ	R7,LAP
                    	RET
                    MALED7SEG: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
                    	END
                    (10*250*2)*8*25=1000000uS
                    Mà cho em hỏi cái biểu tượng $ trong chương trình delay có nghỉa gì vậy
                    Last edited by thuongdtqb; 21-03-2012, 08:48.
                    ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

                    Comment


                    • #11
                      Nguyên văn bởi thuongdtqb Xem bài viết
                      Thank bác nhé. Nếu như vậy có phải bây giờ em phải giảm thời gian delay sao cho gọi 6 lần delay đủ cho thời gian trì hoản 1s phải không bác. Mà cho em hỏi cái biểu tượng $ trong chương trình delay có nghỉa gì vậy
                      $ là nhãn nhảy về đầu dòng

                      Comment


                      • #12
                        Nguyên văn bởi chung1608 Xem bài viết
                        lúc đầu dùng 4 lần gọi delay để tạo trì hoãn 1 giây, làm như thế tần số quét led thấp sẽ bị nháy, vì thế cần phải giảm delay mà giảm delay thì thời gian tăng nhỏ hơn 1 giây nên phải có R5 để đếm số lần quét led cho việc tính delay
                        (20*250*2)*4*25=1000000uS
                        Mà cho em hỏi đoạn code này
                        Code:
                        LOOP:	CALL	GIAIMAGIAY
                        	CALL	GIAIMAPHUT  
                        	MOV	R5,#25 
                        LOOP1:	CALL	HIENTHIGIAY
                        	CALL	HIENTHIPHUT
                        	DJNZ	R5,LOOP1 
                        	INC	R1
                        	CJNE	R1,#60,LOOP
                        	MOV	R1,#0
                        Nếu tính như bác vậy thì em nghỉ là mới chạy chương trình vào thì thời gian delay là: (20*250*2)*4=40000uS. Sau khi thực hiện lệnh DJNZ R5,LOOP1 thì R5 giảm đi một đơn vị thì quay trở nhản LOOP1. Lúc này thời gian trì hoản delay sẻ là: (20*250*2)*2*24=500000uS. Tổng cộng time sau khi R5=0 là: 40000+500000=540000uS thôi ah. Không biết em tính thế có đứng không mong bác chỉ giáo dùm em với.
                        ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

                        Comment


                        • #13
                          Nguyên văn bởi thuongdtqb Xem bài viết
                          Mà cho em hỏi đoạn code này
                          Code:
                          LOOP:	CALL	GIAIMAGIAY
                          	CALL	GIAIMAPHUT  
                          	MOV	R5,#25 
                          LOOP1:	CALL	HIENTHIGIAY
                          	CALL	HIENTHIPHUT
                          	DJNZ	R5,LOOP1 
                          	INC	R1
                          	CJNE	R1,#60,LOOP
                          	MOV	R1,#0
                          Nếu tính như bác vậy thì em nghỉ là mới chạy chương trình vào thì thời gian delay là: (20*250*2)*4=40000uS. Sau khi thực hiện lệnh DJNZ R5,LOOP1 thì R5 giảm đi một đơn vị thì quay trở nhản LOOP1. Lúc này thời gian trì hoản delay sẻ là: (20*250*2)*2*24=500000uS. Tổng cộng time sau khi R5=0 là: 40000+500000=540000uS thôi ah. Không biết em tính thế có đứng không mong bác chỉ giáo dùm em với.
                          chú bấm máy lộn 20*250*2*24=960000

                          Comment


                          • #14
                            Nguyên văn bởi chung1608 Xem bài viết
                            chú bấm máy lộn 20*250*2*24=960000
                            Thì lúc mới chạy chương trình vào thì thời gian delay là: (20*250*2)*4=40000uS rồi.Phia sau em bấm máy nhầm nhưng em tính lại là sau lệnh DJNZ R5,LOOP1 thì thời gian sẻ là: (20*250*2)*2*24=480000 và tổng cộng thời gian là 480000+40000=520000uS < 1000000uS như bác tính ah.
                            Ah cho em hỏi luôn nha: $ là nhản nhảy về đầu dòng, em vẩn không hiểu nhưng cụ thể trong chương trình delay đó $ là nhảy về đầu dòng nào ah
                            Last edited by thuongdtqb; 22-03-2012, 10:42.
                            ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

                            Comment


                            • #15
                              Nguyên văn bởi thuongdtqb Xem bài viết
                              thì lúc mới đầu là 40000uS rồi.
                              Ah em nhầm nhưng em tính lại là sau lệnh DJNZ R5,LOOP1 thì thời gian sẻ là: (20*250*2)*2*24=480000 và tổng cộng thời gian là 480000+40000=520000uS < 1000000uS như bác tính ah.
                              20*250*2 là thời gian của chương trình delay
                              delay trong quét led đc gọi 4 lần
                              cho là lúc đầu làm mấy 40000uS như chú nói thì 24 lần làm kết tiếp là
                              20*250*2*4*24= 960000uS

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              • since0501
                                Trả lời cho Pin Li-FePO4 (pin sắt) rất dể hỏng! Các biện pháp ngăn ngừa.
                                bởi since0501
                                Mình đào mộ xíu, cho mình hỏi là pin của bác vẫn ok chứ? Mình vừa đóng khối pin 16 cell 40135 thì khi chạy điện áp nó sụt so với khi nghỉ như video mình dẫn link, vậy cho mình hỏi là dung lượng pin sẽ tính khi áp nghỉ hay áp đang hoạt động, và pin sụt áp như vậy là bình thường hay pin kém?
                                ht...
                                hôm nay, 17:56
                              • mèomướp
                                Trả lời cho Sửa bộ nguồn DC 60V 45A
                                bởi mèomướp
                                Dạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
                                Hôm qua, 13:11
                              • tuyennhan
                                Trả lời cho Sửa bộ nguồn DC 60V 45A
                                bởi tuyennhan
                                Sửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
                                Hôm qua, 09:25
                              • tuyennhan
                                Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                bởi tuyennhan
                                Đúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
                                Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....
                                Hôm qua, 09:10
                              • Ng.Phuong.5
                                Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
                                bởi Ng.Phuong.5
                                Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
                                Mấy con...
                                09-01-2025, 19:44
                              • viettinh
                                Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                bởi viettinh
                                Bác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
                                Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...
                                09-01-2025, 18:12
                              • nguyendinhvan
                                Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                bởi nguyendinhvan
                                Theo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
                                Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
                                Cách đơn giản...
                                09-01-2025, 00:04
                              • mèomướp
                                Trả lời cho Sửa bộ nguồn DC 60V 45A
                                bởi mèomướp
                                Dạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
                                08-01-2025, 19:02
                              • tuyennhan
                                Trả lời cho Sửa bộ nguồn DC 60V 45A
                                bởi tuyennhan
                                Chủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
                                08-01-2025, 15:43
                              • tuyennhan
                                Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                bởi tuyennhan
                                Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
                                08-01-2025, 15:28
                              Đang tải...
                              X