Thông báo

Collapse
No announcement yet.

mach dong ho dung ds12887 (giúp)

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

  • mach dong ho dung ds12887 (giúp)

    Các cao thủ cho mình hỏi , khi mình dùng 89c51 ghi giá trị ban đầu vào cho con ds12887 rồi ,khi tắt nguồn thì nó tự động chạy do có nguồn bên trong . Vậy khi có nguồn lại thì 89c51 lại ghi giá trị ban đầu vào
    Có cách nào chỉ ghi 1 lần rồi thôi không .

    sơ đồ mạch ko biết đúng ko vậy các pác
    |

  • #2
    sao ko ai chỉ hết vậy , hichic .Cho mình hỏi khi bị mất điện sau đó có lại thì vxl 89c51 sẽ nhập lại giá trị ban đầu cho ds12887 vậy sao nó chạy đúng , ai làm rồi chỉ với
    |

    Comment


    • #3
      Nguyên văn bởi ng_nin Xem bài viết
      Các cao thủ cho mình hỏi , khi mình dùng 89c51 ghi giá trị ban đầu vào cho con ds12887 rồi ,khi tắt nguồn thì nó tự động chạy do có nguồn bên trong . Vậy khi có nguồn lại thì 89c51 lại ghi giá trị ban đầu vào
      Có cách nào chỉ ghi 1 lần rồi thôi không .

      sơ đồ mạch ko biết đúng ko vậy các pác
      Bên trong ds12887 có vùng nhớ có thể lưu trữ dữ liệu, có thể hiểu đơn giản như sau

      if flag <> da_khoi_tao then
      call khoi_tao_ds12887
      flag = da_khoi_tao
      end if
      Với Flag có thể là 1 bit hay 1 byte tuỳ bạn, và được lưu trữ trong ds12887, bạn có thể xem datasheet để biết thêm chi tiết về cách sử dụng Ram của ds12887
      Diễn đàn Vi điều khiển:

      Comment


      • #4
        pác có thể chỉ rõ thêm là cờ nào ko sao mình đọc rồi mà ko thấy vậy .Nhân tiện pác coi sơ đồ mạch của mình đúng ko thế .Xin cảm ơn
        Attached Files
        |

        Comment


        • #5
          Cờ đó không phải cờ có sẵn trong DS12887.
          Thuật toán của minhtuan04 gợi ý cho bạn đơn giản là thế này:
          Trong DS12887 có 1 vùng nhớ RAM, vùng này cũng được nuôi bằng pin tich hợp sẵn, do vậy mà cũng như các giá trị đếm về thời gian (như ngày tháng năm, giờ phút giây), nó không bị mất nội dung khi mất nguồn điện. Bạn sử dụng 1 ô nhớ RAM này để lưu trạng thái của DS12887 (đã cài đặt thời gian hoặc chưa cài đặt thời gian). Giả sử bạn quy ước rằng nếu ô nhớ này có giá trị là 0xAA = đã cài đặt thời gian, các giá trị khác = chưa cài đặt thời gian. Khi mới mua về, giá trị của nó chắc là khác 0xAA.
          Tiếp đó trong code phần khởi tạo ban đầu, trước khi khởi tạo cho DS12887 (ghi thời gian vào nó) thì bạn đọc cái byte trạng thái đó ra, nếu khác 0xAA tức là DS12887 chưa được cài thời gian thì thực hiện cài cho nó (và nhớ ghi byte trạng thái = 0xAA), nếu bằng 0xAA thì thôi. Lần đầu sẽ cài thời gian, còn lần thứ 2 trở đi thì do byte trạng thái bạn dã ghi bằng 0xAA nên MCU sẽ không ghi lại thời gian vào DS nữa.
          Code kiểu như:
          status = ReadDS(STATUS);
          if(status!=0xAA)
          {
          // cài thời gian cho DS
          WriteDS(STATUS,0xAA);
          }
          ...
          (STATUS là địa chỉ của byte trạng thái bạn sử dụng trong DS12887).

          Thân mến,
          blackmoon.

          Comment


          • #6
            Về mạch:
            - tụ trong mạch dao động của 8051 thường để khoảng 33pF (hiện tại bạn đang để 1nF).
            - phải đóng cắt relay bằng transistor ngược (loại NPN như C828, C2383), có thể mắc darlington. Hiện tại bạn đang dùng transistor thuận (PNP), không đúng với sơ đồ nuốt dòng cho tải như vậy. Ngoài ra, nếu bạn dùng transistor thuận (PNP) và mắc trực tiếp với port của 8051, thì port ra của 8051 không thể khóa được transistor này. Lý do là vì điện áp port ra (cũng có thể coi là điện áp trên cực B của transistor) tối đa là +5V, khó mà khóa được transistor khi xét đến điều kiện Ube.

            Một góp ý nhỏ nữa: bạn vẽ sơ đồ nguyên lý hay sơ đồ gì cũng vậy, nên chau chuốt một chút. Như vậy người đọc (trong đó có cả bạn) dễ dàng hình dung và hiểu. Bạn vẽ cẩu thả sẽ vô tình làm mất giá trị sản phẩm của chính bạn. Làm kỹ thuật không nên làm qua loa, nếu xác định làm qua loa thì không nên làm kỹ thuật.

            Thân mến,
            blackmoon.

            Comment


            • #7
              bạn nào có sơ đồ mạch đồng hồ số ko sử dụng vi điều khiển cho mình xin với

              Comment


              • #8
                Lên dùng các nút bấm điều khiển để hiệu chỉnh và nạp giá trị cho con ds12887

                Nguyễn văn ân
                |

                Comment


                • #9
                  Mạch đồng hồ số chỉ dùng các ic đếm thông thường thì mình đã làm rồi.Nhưng tiếc là mình chưa vẽ sơ đồ.
                  Nếu bạn cần góp ý thì có thể liên hệ với mình.Nhưng nhớ là vào luồng điển tử số nhé bạn
                  Luồng này chỉ dành cho IC lập trình thôi.
                  Chào bạn!

                  Comment


                  • #10
                    về chuyện DS12887 cập nhập đc thời gian khi mất điện và 89c51 lại reset khi cấp nguồn là điều đương nhiên.
                    vậy để khi cấp nguồn mà số liệu gửi vào 89c51 là số liêệu DS câập nhập đc chứ ko fải số liệu ghi từ 89c51 thì dùng cách sau
                    1/ nạp cho 89c51 chương trìh có chứa chương trình con ghi vào RTC. đại loại là acall ghirtc
                    2/ xoá dòng lệnh gọi chương trình con ghi vào rtc trong chương trình của bạn.ví dụ như thêm ";" vào đằng trước dòng lệnh
                    ;acall ghirtc
                    3/nạp lại cho 89c51 ----> OK!
                    à quên!nếu bạn dùng Assembly như tui!

                    Comment


                    • #11
                      dong ho so dung ds12887

                      các bạn nào định làm đồng hồ số dùng ds12887 thì mình gửi tài liệu này cho các cậu tham khảo nhé

                      Comment


                      • #12
                        ac! minh ko biet cach gui chi ca! ai biet cách thi bao minh 1 cach tuong tan nhe! minh dot lam! ban nao can tai lieu lam dong ho so dung ds12887 thi lien he voi minh qua gmail nhe! : dttcong88@gmail.com
                        day la chuong trinh:
                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx
                        ; p2 dieu khien 8 led va p3.0, p3.1, p3.2, p3.4, p3.5
                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx

                        dwn bit p3.5
                        up bit p3.4
                        mode bit p3.3
                        mode1 bit p3.1

                        bien_mode equ r2
                        bien_tg equ r3

                        giay_tam equ 55h

                        buzzer bit p2.7
                        chuong bit p3.0

                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx

                        org 000h
                        sjmp main

                        org 03h
                        jmp ngat_n1 ; nhay ve dia chi cua N0

                        org 00bh
                        jmp ngat_t0

                        main: mov bien_mode,#0
                        lcall khoitaodallass

                        mov ie,#83h ; cho phep N0 ngat
                        setb it0
                        mov bien_tg,#0

                        tu_dau: lcall doc_data
                        cjne bien_tg,#0,xuly_chuong ; kiem tra bien giay tam co =0 khong? neu = 0 thi chua do chuong
                        mov a,12h
                        cjne a,#13,kt_c
                        kt_c: jnc giuagio

                        mov a,10h
                        cjne a,#0,giaima
                        mov a,11h
                        cjne a,#0,giuagio
                        jmp bip

                        giuagio: mov a,10h
                        cjne a,#0,giaima
                        mov a,11h
                        cjne a,#30,giaima
                        jmp bao_giuagio

                        giaima: lcall hex_bcd
                        lcall bcd_7doan
                        lcall hien_thi
                        jnb mode,adj
                        jnb mode1,adj1
                        jmp tu_dau

                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx
                        ; doan chuong trinh xu ly chuong

                        xuly_chuong: mov a,10h
                        cjne a,giay_tam,xuly_chuong1
                        sjmp giaima

                        xuly_chuong1: mov giay_tam,10h
                        djnz bien_tg,giaima ; giam thoi gian do chuong di 1 giay, neu thoi gian do chuong chua bang 0 thi giai ma
                        ; hien thi thoi gian, neu =0 thi thoi gian do chuong du 2 giay
                        mov r0,#0ch ; gan cho r0 =0ch ( 0ch la dia chi cua thanh ghi c cua dallas)
                        movx a,@r0 ; doc noi dung thanh ghi c de xoa co ngat cua dallas
                        setb chuong ; tat chuong
                        jmp giaima

                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx

                        bip: clr buzzer
                        mov r5,#0

                        mov tmod,#01
                        mov th0,#high(-50000)
                        mov tl0,#low(-50000)
                        clr tf0
                        setb tr0
                        mov a,12h
                        mov b,#2
                        mul ab
                        mov 78h,a
                        jmp giaima

                        bao_giuagio: clr buzzer
                        lcall hex_bcd
                        lcall bcd_7doan

                        mov 7ch,#2
                        xxx2: mov 7dh,#0ffh
                        xxx1: lcall hien_thi
                        djnz 7dh,xxx1
                        djnz 7ch,xxx2

                        setb buzzer
                        jmp giaima

                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx

                        adj: lcall hien_thi
                        jnb mode,adj
                        setb buzzer
                        setb chuong

                        inc bien_mode
                        cjne bien_mode,#04,loop
                        mov bien_mode,#0
                        jmp tu_dau

                        adj1: ljmp caigio_baothuc

                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx

                        loop: mov 67h,#08

                        loop3: mov 66h,#0bfh
                        loop1: lcall doc_data
                        lcall hex_bcd
                        lcall bcd_7doan
                        lcall hien_thi

                        jnb up,tang
                        jnb dwn,giam1
                        jnb mode,adj
                        djnz 66h,loop1

                        cjne bien_mode,#1,tatphut
                        mov 34h,#0ffh
                        mov 35h,#0ffh
                        sjmp tat

                        tatphut: cjne bien_mode,#02,tatgio
                        mov 32h,#0ffh
                        mov 33h,#0ffh
                        sjmp tat

                        tatgio: mov 30h,#0ffh
                        mov 31h,#0ffh

                        tat: mov 66h,#0ffh
                        loop2: lcall hien_thi

                        jnb up,tang
                        jnb dwn,giam1
                        jnb mode,adj2
                        djnz 66h,loop2
                        djnz 67h,loop3
                        mov bien_mode,#0
                        ljmp tu_dau

                        adj2: ljmp adj

                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx
                        giam1: ljmp giam
                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx

                        tang: mov 78h,#200
                        tang1: lcall hien_thi
                        djnz 78h,tang1

                        loopx3: cjne bien_mode,#01h,ss1
                        mov r0,#04h
                        movx a,@r0
                        inc a
                        cjne a,#24,z1
                        mov a,#0
                        z1: movx @r0,a
                        sjmp loop

                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx
                        ss1: cjne bien_mode,#02h,ss2
                        mov r0,#02h
                        movx a,@r0
                        inc a
                        cjne a,#60,z2
                        mov a,#0
                        z2: movx @r0,a
                        jmp loop
                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx

                        ss2: mov r0,#0h
                        movx a,@r0
                        inc a
                        cjne a,#060,z3
                        mov a,#00
                        z3: movx @r0,a
                        ljmp loop

                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx

                        giam: mov 78h,#200
                        giam11: lcall hien_thi
                        djnz 78h,giam11
                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx

                        loopy3: cjne bien_mode,#01h,sss1
                        mov r0,#04
                        movx a,@r0
                        dec a
                        cjne a,#0ffh,zz1
                        mov a,#23
                        zz1: movx @r0,a
                        jmp loop
                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx

                        sss1: cjne bien_mode,#02h,sss2
                        mov r0,#02h
                        movx a,@r0
                        dec a
                        cjne a,#0ffh,zz2
                        mov a,#59
                        zz2: movx @r0,a
                        jmp loop
                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx

                        sss2: mov r0,#0h
                        movx a,@r0
                        dec a
                        cjne a,#0ffh,zz3
                        mov a,#59

                        zz3: movx @r0,a
                        jmp loop

                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx
                        ; doan chuong trinh chinh gio bao thuc

                        caigio_baothuc: lcall hien_thi
                        jnb mode1,caigio_baothuc

                        inc bien_mode
                        cjne bien_mode,#04,loop_bt
                        mov bien_mode,#0
                        ljmp tu_dau

                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx

                        loop_bt: mov 67h,#08
                        loop3_bt: mov 66h,#00bfh
                        loop1_bt: lcall doc_data_bt
                        lcall hex_bcd
                        lcall bcd_7doan
                        lcall hien_thi

                        jnb up,tang_bt
                        jnb dwn,giam_bt1
                        jnb mode1,caigio_baothuc
                        djnz 66h,loop1_bt

                        cjne bien_mode,#1,tatphut_bt
                        mov 34h,#0ffh
                        mov 35h,#0ffh
                        sjmp tat_bt

                        tatphut_bt: cjne bien_mode,#02,tatgio_bt
                        mov 33h,#0ffh
                        mov 32h,#0ffh
                        sjmp tat_bt

                        tatgio_bt: mov 30h,#0ffh
                        mov 31h,#0ffh

                        tat_bt: mov 66h,#0ffh
                        loop2_bt: lcall hien_thi

                        jnb up,tang_bt
                        jnb dwn,giam_bt1
                        jnb mode1,caigio_baothuc
                        djnz 66h,loop2_bt
                        djnz 67h,loop3_bt
                        mov bien_mode,#0
                        ljmp tu_dau

                        giam_bt1: ljmp giam_bt
                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx
                        ; doan chuong trinh con cai dat gio bao thuc

                        tang_bt: mov 78h,#200
                        tang1_bt: lcall hien_thi
                        djnz 78h,tang1_bt

                        loopx3_bt: cjne bien_mode,#01h,ss1_bt
                        mov r0,#05h
                        movx a,@r0
                        inc a
                        cjne a,#24,z1_bt
                        mov a,#0
                        z1_bt: movx @r0,a
                        jmp loop_bt
                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx

                        ss1_bt: cjne bien_mode,#02h,ss2_bt
                        mov r0,#03h
                        movx a,@r0
                        inc a
                        cjne a,#60,z2_bt
                        mov a,#0
                        z2_bt: movx @r0,a
                        jmp loop_bt
                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx

                        ss2_bt: mov r0,#1h
                        movx a,@r0
                        inc a
                        cjne a,#060,z3_bt
                        mov a,#00

                        z3_bt: movx @r0,a
                        ljmp loop_bt

                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx

                        giam_bt: mov 78h,#200
                        giam11_bt: lcall hien_thi
                        djnz 78h,giam11_bt
                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx

                        loopy3_bt: cjne bien_mode,#01h,sss1_bt
                        mov r0,#05
                        movx a,@r0
                        dec a
                        cjne a,#0ffh,zz1_bt
                        mov a,#23
                        zz1_bt: movx @r0,a
                        jmp loop_bt
                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx

                        sss1_bt: cjne bien_mode,#02h,sss2_bt
                        mov r0,#03h
                        movx a,@r0
                        dec a
                        cjne a,#0ffh,zz2_bt
                        mov a,#59
                        zz2_bt: movx @r0,a
                        jmp loop_bt
                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx

                        sss2_bt: mov r0,#1h
                        movx a,@r0
                        dec a
                        cjne a,#0ffh,zz3_bt
                        mov a,#59

                        zz3_bt: movx @r0,a
                        jmp loop_bt

                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx
                        khoitaodallass: mov r0,#0ch
                        movx a,@r0 ; doc noi dung thanh ghi a de xoa co ngat bao gio

                        mov r0,#0bh
                        mov a,#026h
                        movx @r0,a ;cho phep chinh cai dat gio

                        mov r0,#0ah
                        mov a,#020h
                        movx @r0,a ;cho phep bo dao dong chay

                        ret
                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx
                        doc_data: mov r0,#0
                        mov r1,#10h

                        x1: movx a,@r0
                        mov @r1,a

                        inc r0
                        inc r0
                        inc r1
                        cjne r0,#06h,x1
                        ret

                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx
                        doc_data_bt:
                        mov r0,#01h
                        movx a,@r0
                        mov 10h,a

                        mov r0,#03h
                        movx a,@r0
                        mov 11h,a

                        mov r0,#05h
                        movx a,@r0
                        mov 12h,a
                        ret

                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx
                        hex_bcd: mov r0,#10h
                        mov r1,#20h

                        hb: mov a,@r0
                        mov b,#10
                        div ab
                        mov @r1,b
                        inc r1
                        mov @r1,a

                        inc r0
                        inc r1
                        cjne r0,#13h,hb
                        ret

                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx

                        bcd_7doan: mov dptr,#900h
                        mov r0,#20h
                        mov r1,#30h ;chua cac ma data

                        bc: mov a,@r0 ;lay giay
                        movc a,@a+dptr
                        mov @r1,a

                        inc r0
                        inc r1
                        cjne r0,#26h,bc
                        ret

                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx
                        hien_thi: mov p1,30h
                        clr p2.0
                        lcall delay
                        setb p2.0

                        mov p1,31h
                        clr p2.1
                        lcall delay
                        setb p2.1

                        mov p1,32h
                        clr p2.2
                        lcall delay
                        setb p2.2

                        mov p1,33h
                        clr p2.3
                        lcall delay
                        setb p2.3

                        mov p1,34h
                        clr p2.4
                        lcall delay
                        setb p2.4

                        mov p1,35h
                        clr p2.5
                        lcall delay
                        setb p2.5
                        ret
                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx
                        ngat_n1: clr chuong ; dieu khien chuong keu
                        mov bien_tg,#30 ; gan thoi gian do chuong = 2 giay
                        mov giay_tam,10h ; chuyen giay hien hanh vao bien giay tam
                        reti

                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx
                        ngat_t0: mov th0,#high(-50000)
                        mov tl0,#low(-50000)
                        inc r5
                        cjne r5,#9,exit0
                        mov r5,#0
                        cpl buzzer
                        djnz 78h,exit0
                        setb buzzer
                        clr tr0
                        exit0: reti
                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

                        delay: mov 7fh,#100
                        djnz 7fh,$
                        ret

                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxx

                        delay1000: mov 7eh,#8
                        xx2: mov 7dh,#0ffh
                        xx1: mov 7ch,#0ffh
                        djnz 7ch,$
                        djnz 7dh,xx1
                        djnz 7eh,xx2
                        ret

                        ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx
                        org 900h

                        db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h
                        end

                        chuc thanh cong nhe

                        Comment


                        • #13
                          mjnh gửi các bạn sơ đồ này tham khảo chơi
                          Attached Files
                          - -

                          Comment


                          • #14
                            Nguyên văn bởi ng_nin Xem bài viết
                            Các cao thủ cho mình hỏi , khi mình dùng 89c51 ghi giá trị ban đầu vào cho con ds12887 rồi ,khi tắt nguồn thì nó tự động chạy do có nguồn bên trong . Vậy khi có nguồn lại thì 89c51 lại ghi giá trị ban đầu vào
                            Có cách nào chỉ ghi 1 lần rồi thôi không .

                            sơ đồ mạch ko biết đúng ko vậy các pác
                            Dùng con IC thời gian thực đi bác, bác dùng con đó cấp cho VDK đảm bảo khi mất điện rồi có điện trở lại sẽ không bị reset thời gian! mà cũng chẳng máy khi phải cài lại giờ vì con này nó có thời gian thực do nhà sản xuất mặc định rồi!

                            Comment


                            • #15
                              Nguyên văn bởi blackmoon Xem bài viết
                              Về mạch:
                              - tụ trong mạch dao động của 8051 thường để khoảng 33pF (hiện tại bạn đang để 1nF).
                              - phải đóng cắt relay bằng transistor ngược (loại NPN như C828, C2383), có thể mắc darlington. Hiện tại bạn đang dùng transistor thuận (PNP), không đúng với sơ đồ nuốt dòng cho tải như vậy. Ngoài ra, nếu bạn dùng transistor thuận (PNP) và mắc trực tiếp với port của 8051, thì port ra của 8051 không thể khóa được transistor này. Lý do là vì điện áp port ra (cũng có thể coi là điện áp trên cực B của transistor) tối đa là +5V, khó mà khóa được transistor khi xét đến điều kiện Ube.

                              Một góp ý nhỏ nữa: bạn vẽ sơ đồ nguyên lý hay sơ đồ gì cũng vậy, nên chau chuốt một chút. Như vậy người đọc (trong đó có cả bạn) dễ dàng hình dung và hiểu. Bạn vẽ cẩu thả sẽ vô tình làm mất giá trị sản phẩm của chính bạn. Làm kỹ thuật không nên làm qua loa, nếu xác định làm qua loa thì không nên làm kỹ thuật.

                              Thân mến,
                              blackmoon.
                              Chính xác làm kỹ thuật thì không nên làm qua loa , vì mình đã tưng phạm sai lầm khi làm qua loa cái đồ án .

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X