Thông báo

Collapse
No announcement yet.

Làm mạch đồng hồ điện tử

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

  • Làm mạch đồng hồ điện tử

    Mình là lính mới! đang làm đề tài về thiết kế đồng hồ điện tử (hiển thị ngày giờ) bác nào biết thì chỉ giùm vài đường cơ bản, nếu không thì cho mình tài liệu tham khảo, cám ơn nhìu
    |

  • #2
    tôi có 1 chương trình này để bạn tham khảo. Còn nhiều thiếu sót, mong các bạn góp ý giúp. Ở trên tôi dùng 2 ngắt ngoài với các pin P3.2&p3.3. Tôi đang muốn thay việc tăng giảm các giá trị thời gian trên bằng cách dùng một chiết áp và viết chương trình cho nó vì tôi thấy ở một số máy ngoại đã thực hiện như vậy . Song tôi chưa tìm ra thủ thuật viết .Vậy mong các cao thủ gợi ý giúp đỡ. Xin cảm ơn. Địa chỉ của tôi viethungrrg@yahoo.com. Đt:0912153594, (04)6622766
    ORG 0000H
    LJMP MAIN
    LJMP EX0ISR
    ORG 000BH
    LJMP NGAT_TIMER0
    ORG 0013H
    LJMP EX1ISR
    ORG 0030H
    MAIN:
    MOV A, #38H
    LCALL COMMAND
    LCALL DELAY
    MOV A, #01H
    LCALL COMMAND
    LCALL DELAY
    MOV A, #0EH
    LCALL COMMAND
    LCALL DELAY
    MOV A, #04H
    LCALL COMMAND
    LCALL DELAY
    MOV A, #80H
    LCALL COMMAND
    LCALL DELAY
    MOV A, #0CH
    LCALL COMMAND
    LCALL DELAY
    SETB IE0
    SETB IE1
    SETB IT0
    MOV IE ,#87H
    MOV 10H ,#0
    MOV 11H ,#0
    MOV 12H ,#0
    MOV 13H ,'A'
    MOV P1,#0
    CLR P2.4
    MOV TMOD,#01H
    MOV 26H,#2
    SETB TF0
    M1:
    LCALL TAO_MA
    LCALL HIEN_THI
    LJMP M1
    EX0ISR: ;tang gio
    K1: MOV A, 12H
    ADD A,#1
    CJNE A, #12, $+3
    MOV 12H, A
    JNC K1
    RETI
    NGAT_TIMER0:
    CLR TR0
    MOV TH0 ,#3CH
    MOV TL0 ,#0B0H
    DEC 26H
    MOV A ,26H
    CJNE A ,#0 ,EXIT
    MOV 26H ,#2
    LCALL DEM_THOI_GIAN
    EXIT:
    SETB TR0
    RETI
    EX1ISR: ;tang phut
    K2:
    MOV A, 11H
    ADD A,#1
    CJNE A, #60, $+3
    MOV 11H, A
    JNC K2
    RETI
    TAO_MA:
    LCALL TM_GIAY
    LCALL TM_PHUT
    LCALL TM_GIO
    LCALL TM_BU
    RET
    TM_GIAY:
    MOV A ,#0
    MOV A ,10H
    LCALL CH_BCD
    MOV R4 ,A
    ANL A, #0FH
    LCALL CH_LCD
    MOV 14H ,A
    MOV A ,#0
    MOV A ,R4
    SWAP A
    ANL A, #0FH
    LCALL CH_LCD
    MOV 15H ,A
    RET
    TM_PHUT:
    MOV A ,#0
    MOV A ,11H
    LCALL CH_BCD
    MOV R4 ,A
    ANL A, #0FH
    LCALL CH_LCD
    MOV 16H ,A
    MOV A ,#0
    MOV A ,R4
    SWAP A
    ANL A, #0FH
    LCALL CH_LCD
    MOV 17H ,A
    RET
    TM_GIO:
    MOV A ,#0
    MOV A ,12H
    LCALL CH_BCD
    MOV R4 ,A
    ANL A, #0FH
    LCALL CH_LCD
    MOV 18H ,A
    MOV A ,#0
    MOV A ,R4
    SWAP A
    ANL A, #0FH
    LCALL CH_LCD
    MOV 19H,A
    RET
    TM_BU:
    MOV A ,#0
    MOV A ,13H
    LCALL CH_LCD1
    MOV 20H,A
    RET
    CH_BCD:
    MOV B ,#10
    DIV AB
    SWAP A
    ADD A ,B
    RET
    CH_LCD:
    MOV DPTR,#TABLE
    MOVC A ,@A+DPTR
    RET
    TABLE:
    DB 0,1,2,3,4,5,6,7,8,9
    CH_LCD1:
    MOV DPTR,#TABLE1
    MOVC A ,@A+DPTR
    RET
    TABLE1:
    DB 'A','P','A','P','A','P','A','P'

    DEM_THOI_GIAN:
    MOV R0 ,#10H
    INC @R0
    CJNE @R0 ,#5 ,DD1
    MOV @R0 ,#0
    INC R0
    INC @R0
    CJNE @R0 ,#5, DD1
    MOV @R0 ,#0
    INC R0
    INC @R0
    CJNE @R0 ,#2 , DD1
    MOV @R0 ,#0
    INC R0
    INC @R0
    CJNE @R0 ,#'P', DD1
    MOV 10H, #0
    MOV 11H, #0
    MOV 12H, #0
    MOV 13H,'a'
    DD1: RET

    COMMAND:
    MOV P0, A
    CLR P2.0
    CLR P2.1
    SETB P2.2
    CLR P2.2
    RET
    DISPLAY:
    MOV P0, A
    SETB P2.0
    CLR P2.1
    SETB P2.2
    CLR P2.2
    RET
    HIEN_THI:

    MOV A ,#" "
    LCALL DISPLAY
    LCALL DELAY


    MOV A ,#" "
    LCALL DISPLAY
    LCALL DELAY

    MOV A ,#" "
    LCALL DISPLAY
    LCALL DELAY

    MOV A ,14H
    ORL A,#30H
    LCALL DISPLAY
    LCALL DELAY

    MOV A ,15H
    ORL A,#30H
    LCALL DISPLAY
    LCALL DELAY

    MOV A ,#':'
    LCALL DISPLAY
    LCALL DELAY

    MOV A ,16H
    ORL A,#30H
    LCALL DISPLAY
    LCALL DELAY

    MOV A,17H
    ORL A,#30H
    LCALL DISPLAY
    LCALL DELAY

    MOV A ,#":"
    LCALL DISPLAY
    LCALL DELAY

    MOV A ,18H
    ORL A,#30H
    LCALL DISPLAY
    LCALL DELAY

    MOV A,19H
    ORL A,#30H
    LCALL DISPLAY
    LCALL DELAY

    MOV A ,#" "
    LCALL DISPLAY
    LCALL DELAY

    MOV A ,#" "
    LCALL DISPLAY
    LCALL DELAY

    MOV A ,#"M"
    LCALL DISPLAY
    LCALL DELAY

    MOV A ,20H
    ORL A,#30H
    LCALL DISPLAY
    LCALL DELAY

    MOV A ,#" "
    LCALL DISPLAY
    LCALL DELAY

    RET
    DELAY:
    MOV R0 ,#20
    DL1: MOV R1 ,#50
    HERE: DJNZ R1 ,HERE
    DJNZ R0 ,DL1
    RET

    END

    Comment


    • #3
      Cảm ơn bạn nhiều nhé! đúng thứ mình cần đây, để mình nghiên cứu thêm về vấn đề bạn nói.
      |

      Comment


      • #4
        bác nào có tài liệu về lịch điện tử ko,giúp mình với,tiếng việt càng tốt,tiếng anh mình hơi dở...
        |

        Comment


        • #5
          Nguyên văn bởi thainga2006 Xem bài viết
          Mình là lính mới! đang làm đề tài về thiết kế đồng hồ điện tử (hiển thị ngày giờ) bác nào biết thì chỉ giùm vài đường cơ bản, nếu không thì cho mình tài liệu tham khảo, cám ơn nhìu
          Bạn đang làm đồ án môn học à? Mình đang có đề tài này, để mình gửi cho.
          Net là nhà, máy tính là bà xã!

          Comment


          • #6
            bác gửii cho tớ với , thanks nhiều ,romeo43v@yahoo.com
            Cung cấp Oscilocope , Inverter , Switching , DC power supply , AC millivolt meter ....

            Comment


            • #7
              cho em với - cảm ơn anh nhìu
              email cua em la : robottudong89C51@yahoo.com
              Cam on anh
              Hok mang bút sao ký dc !

              Comment


              • #8
                Nhân tiện bác gủi luôn cho em tham khảo luôn với nhé.
                ních của em: Riu_hbt@yahoo.com

                Comment


                • #9
                  Dùng DS1307 hoặc 12C887 giao tiếp với VDK bằng I2C đi. Trên diễn dàn có nhiều.

                  Comment


                  • #10
                    đồng Hồ Báo Giờ - Periclock

                    ĐỒNG HỒ BÁO GIỜ - PERICLOCK 3.0



                    1. Giới thiệu
                    PeriClock là đồng hồ báo giờ bằng Rờ le vào nhiều thời điểm trong các ngày của tuần, giới hạn trong những khoảng thời gian của năm và loại trừ một số ngày nào đó.

                    PeriClock được thiết kế để đáp ứng nhu cầu cần phải có một thiết bị báo giờ tiết học tự động, đầy đủ và chính xác cho các trường học và phải bảo đảm yêu cầu lưu trữ được dữ liệu khi bị mất điện nguồn và linh hoạt thay đổi thông tin báo giờ .

                    2. Cấu tạo
                    PeriClock được thiết kế bằng Chip vi xử lý Atmel AT89S52 và IC thời gian thực Dallas DS12887 có khả năng hiện thị được giây, phút, giờ, ngày (tháng và năm). PeriClock được kết nối với máy tính qua cổng COM để thay đổi thông tin báo giờ bằng chương trình HyperTerminal có sẵn trong Microsoft Windows. PeriClock sử dụng nguồn điện 12VDC hoặc 14VAC thông qua Adapter, không sử dụng Pin nhưng PeriClock vẫn lưu được dữ liệu khi mất điện nguồn là do đã có Pin bên trong DS12887. PeriClock được nối với chuông điện bằng Rờ le (Relay) 220VAC – 10A để đóng mở công tắc của chuông điện khi báo giờ. PeriClock có 3 đèn báo nguồn, báo Rờ le và báo xung nhịp 0.5s và một công tắc chỉnh giờ.

                    Comment


                    • #11
                      thấy bạn nói hay quá. hướng dẫn mình cách làm với. mình là newbie

                      Comment


                      • #12
                        cảm on các bác nhiều,nhưng ma em ko được dùng vi xử lí mà phải thiết kế bằng kĩ thuật số.em mới chỉ nghĩ ra là dùng 555 dể tạo ra xung clock,dùng D-FF để tạo bộ đếm giây->phút->giờ->ngày->tháng->năm,nhưng mà chưa vẽ được sơ đồ khối,mong các bác chỉ dẫn thêm
                        |

                        Comment


                        • #13
                          Anh nên dùng bộ đếm BCD, chứ không nên dùng D FF

                          Nhóc thấy, nếu mạch không quá phức tạp thì anh nên dùng họ CMOS, vì họ CMOS dễ thiết kế hơn. Nếu phức tạp quá thì nên dùng họ TTL, vì họ này phong phú và đa dạng hơn.

                          Trong trường hợp của anh, nhóc nghĩ nên dùng dao động thạnh anh, chia tần số dùng 4518 và giải mã LED 7 đoạn dùng 4511.

                          Trong trường hợp anh muốn set giờ, phút giây thì mạch đếm dùng 40192.
                          Nhóc thích nghịch điện,
                          Nhóc thích xì păm,
                          Nhóc thích trêu mấy anh.
                          Hi hi.

                          Comment


                          • #14
                            Nguyên văn bởi thainga2006 Xem bài viết
                            Mình là lính mới! đang làm đề tài về thiết kế đồng hồ điện tử (hiển thị ngày giờ) bác nào biết thì chỉ giùm vài đường cơ bản, nếu không thì cho mình tài liệu tham khảo, cám ơn nhìu
                            Làm đồng hồ điện tử có gì khó đâu mà phải băn khoăn nhiều vậy.
                            Bạn VietHung làm gì mà dài vậy, có lẽ bạn dùng TA của 89 làm CLK đúng không? Sẽ rất kém chính xác ! Và sau một thời gian sẽ trôi vô bờ bến ! Giải pháp thực hiện khi mất điện??? Ai sẽ đặt lại đồng hồ cho mình đây???

                            Các bạn hãy thử tìm tài liệu con DS12887 mà xem. Tôi đã làm rồi, chạy khá tốt, cũng dễ đk, chỉ cần 89C51 mà chương trình cực ngắn luôn, nếu thích làm luôn núm ấn (thay đổi lịch), hiển thị LCD, mất điện đồng hồ vẫn chạy không cần đặt lại giờ (là do có pin Li tích hợp)... he..he.
                            Chúc các bạn thành công !

                            Comment


                            • #15
                              Nguyên văn bởi thainga2006 Xem bài viết
                              cảm on các bác nhiều,nhưng ma em ko được dùng vi xử lí mà phải thiết kế bằng kĩ thuật số.em mới chỉ nghĩ ra là dùng 555 dể tạo ra xung clock,dùng D-FF để tạo bộ đếm giây->phút->giờ->ngày->tháng->năm,nhưng mà chưa vẽ được sơ đồ khối,mong các bác chỉ dẫn thêm
                              Bạn đang học trường nào vậy?
                              Tôi nghĩ không nên dùng 555. Hãy làm bộ tạo dao động TA khoảng 4M thôi, độ chính xác tốt hơn, cho qua mấy con chia 10, tạo tần số f1=1Hz (1/1s).
                              - cho f1 qua chia 10 + chia 6 -> f2 (phút)
                              - cho f2 qua chia 10 + chia 6 -> f3 (phút)...
                              Cứ như vậy bạn cần chia đến cả thế kỷ luôn.

                              Tuy nhiên làm mạch rời sẽ rất phức tạp và tính năng tiện dụng không cao. Ví dụ mạch chỉnh lại giờ, liên kết với mạch hiển thị... vẫn có thể làm được song sẽ vô cùng khó khăn. Nhưng dược cái độ chính xác rất tốt (cỡ sai số TA/4000000).
                              Cố gắng làm bằng OneChip đi, sẽ rất dễ thôi. Chúc thành công.

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X