Thông báo

Collapse
No announcement yet.

Không có j là cao siêu cả các bác ạ!!!

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

  • Không có j là cao siêu cả các bác ạ!!!

    Đêm qua em hì hụi nghịch con 8052. Nạp chương trình, báo complete 100%. Cắm bo đúng sơ đồ nguyên lý. Thạch anh 18-19, tụ 33p (18,19 - GND), 20 GND, 31,40 VCC, 9 nối vào giữa 10uF và 8k2. Tóm lại, chắc là không sai. Nhưng không hiểu sao không chạy. Chương trình thì chả có j, chỉ là đưa #55h và #AAh lần lượt ra cổng 0 và cắm nó sang C828 để bật tắt LED. Có vậy thôi.
    Vậy trong những trường hợp "cơ bản" thế này thì ta cần kiểm tra cái j trước tiên hả các bác?
    Hix, đêm qua đã hì hục thay 4 lần tụ, 2 con thạch anh, quẹt qua quẹt lại chận 9 với VCC để reset... Mèo vẫn hoàn mèo...

  • #2
    Bạn nên đưa đoạn code của bạn lên, bạn nói sơ đồ của bạn đúng, chương trình của bạn đúng, mạch không chạy >> chỉ có nước thay con chip.

    Còn nếu bạn muốn hỏi kỹ, thì cần có sơ đồ nguyên lý và code.

    Chúc vui.
    Falleaf
    Công ty TNHH Thương mại và Giao nhận R&P
    58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
    mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

    Comment


    • #3
      Nguyên văn bởi CrazyTrung Xem bài viết
      Đêm qua em hì hụi nghịch con 8052. Nạp chương trình, báo complete 100%. Cắm bo đúng sơ đồ nguyên lý. Thạch anh 18-19, tụ 33p (18,19 - GND), 20 GND, 31,40 VCC, 9 nối vào giữa 10uF và 8k2. Tóm lại, chắc là không sai. Nhưng không hiểu sao không chạy. Chương trình thì chả có j, chỉ là đưa #55h và #AAh lần lượt ra cổng 0 và cắm nó sang C828 để bật tắt LED. Có vậy thôi.
      Vậy trong những trường hợp "cơ bản" thế này thì ta cần kiểm tra cái j trước tiên hả các bác?
      Hix, đêm qua đã hì hục thay 4 lần tụ, 2 con thạch anh, quẹt qua quẹt lại chận 9 với VCC để reset... Mèo vẫn hoàn mèo...
      Có khi phần VĐK và chương trình không sao, mà nhầm ngay chỗ kích LED bằng C828 ấy. C828 là loại npn nên các lối ra của port0 (như TH của bạn dùng) phải set lên 1 mới kích dẫn được con C828.

      Vẽ thử cái mạch xem cái nào. Còn code thì bê nguyên xi một đoạn lên đây mát gì đâu.

      Comment


      • #4
        Dưới đây là sơ đồ mạch. Hôm qua mình đã test thử rồi. Nếu lấy dây nối chân B (C828 có chân là ECB, mình ko lầm chứ?) đưa lên dương nguồn thì đèn LED sáng. 2 con tụ 30p mình ko kiếm được nên phải thay bằng 33p. Những cái khác đều giống sơ đồ. Lúc đầu mình tưởng do VDK ko đủ điện áp nên lắp thêm trở thanh vào cổng 0. Nhưng nếu vậy thì kể cả có tháo VDK ra khỏi board, đèn vẫn sáng như thường
        Đoạn code thì đơn giản lắm, ko có j đáng nói cả
        Code:
        #include <sfr51.inc>
        org 0000h
        MainLoop:
            mov p1, #10101010b
            acall delay1s
            mov p1, #01010101b
            acall delay1s
            sjmp MainLoop
        org 10h
        delay1s:
            mov r0, #255
            loop01:
                mov r1, #255
                loop02:
                    djnz r1, loop02
                djnz r0, loop01
            ret
        END
        Mình đã dịch sang hex và chạy thử trên Proteus rất ngon lành mà! Thực sự là khó hiểu..
        Attached Files

        Comment


        • #5
          ặc, code một đằng, mạch một nẻo thía nó chạy thía nào hả bồ???
          mạch của bạn nối C828 với P0, còn code của bạn thì out ra P1, không chạy là phải. b-(

          Comment


          • #6


            Thế này thì sáng thế qué nào được. Mắc lại chỗ C828 như này nhé:

            +5V|----|>|------
            LED |
            (R=180)
            |
            |
            C
            (C828) B -----(R = 1K)----- P0.0 (chân 39 VDK)
            E
            |
            |
            GND


            Như TH trên thì khi nào P0.0 set mức cao Led mới sáng. Còn đơn giản chỉ cần mắc như sau là xong:

            +5V|-------(R=180 Ohm)------(LED|>|)------ P0.0

            Mấy cả trong code hình như bạn dùng P1 chứ có dùng P0 đâu. Xem lại đi

            Comment


            • #7
              Tối qua hì hụi một lúc mãi ko xong nên tớ đổi sang p1 để test lại đó mà. Nhưng file .hex vẫn để là p0. Vụ này thì chắc chắn, yên tâm đi.
              Thực ra cách mắc trans thế kia cũng đâu sai đâu? thay vì dùng cổng đảo thì tớ xài cổng đệm. Cứ đưa aa với cả 55 ra ngoài liên tục, và lắp 2 con led vào 2 chân liên tiếp thì nó chớp tắt nhấp nháy với nhau thui mà. Chả lẽ cứ phải dùng cổng not nó mới chạy sao?
              Nhưng đúng là nhầm chân trans thật! Cứ đinh ninh là chân E là chân quay lên trên ở trong sơ đồ nguyên lý :"> Thanks, để cắm lại và test lại xem sao đã..

              Comment


              • #8
                Vừa test lại! Vẫn ko nhấp nháy chi hết! Lần này tớ dùng kiểu
                +5V --------150 Ohm ------|>LED|------p0.7
                Dùng đồng hồ đo thì thấy chân 0.7 (có cắm LED) có điện áp 3.5V so với đất. CÒn các chân còn lại thì đều là 0.5V. Hiện tượng như thế là j? Có phải do cổng p0 của tớ bị hỏng ko? Các chân còn lại thì hoạt động đúng: đều ra 5V cả! Ko hiểu...

                Comment


                • #9
                  Nguyên văn bởi CrazyTrung Xem bài viết
                  Vừa test lại! Vẫn ko nhấp nháy chi hết! Lần này tớ dùng kiểu
                  +5V --------150 Ohm ------|>LED|------p0.7
                  Dùng đồng hồ đo thì thấy chân 0.7 (có cắm LED) có điện áp 3.5V so với đất. CÒn các chân còn lại thì đều là 0.5V. Hiện tượng như thế là j? Có phải do cổng p0 của tớ bị hỏng ko? Các chân còn lại thì hoạt động đúng: đều ra 5V cả! Ko hiểu...
                  Chú ý: Port P0 của 89C52 cần có điện trở Pull-up (cỡ 10k), vì nó là open-Collector dùng để giải mã địa chỉ. Bạn muốn sử dụng như cổng I/O điều khiển thì cần có điện trở PullUp.

                  Comment


                  • #10
                    Nguyên văn bởi freewheel Xem bài viết
                    Chú ý: Port P0 của 89C52 cần có điện trở Pull-up (cỡ 10k), vì nó là open-Collector dùng để giải mã địa chỉ. Bạn muốn sử dụng như cổng I/O điều khiển thì cần có điện trở PullUp.
                    Ở trường hợp này không cần pullup đâu!

                    Comment


                    • #11
                      bạn nối vao p0.0 một con trở 10K len nguồn đi. Nếu vẵn ko dc thì kiểm tra lại chân của C828. Chân 1: E; Chần 2: C; Chân 3: B. Nhớ phải nối P0.0 với chân B của C828 qua con trở 1K (có thể cao hon đến 4k7) Thử kiểm tra kỹ xem. chúc thành công

                      Comment


                      • #12
                        Mình thấy trường hợp này cũng có thể thú vị như vầy cậu mắc transitor như thế kia thì mình nghĩ là ngõ ra của VDK là totempole mới có thể kích mở đuợc lý do thế nào:
                        -Khi ngõ ra là 1 nhưng thực chất là có điện trở kéo lên hay không thì áp ra cũng chỉ thấp hơn 5 V.-->Thời điểm đầu khi kích transitor sẽ mở.
                        -Khi mở lên thì Vcollector ~ VEmittor~5V nhưng Vbase lúc này kích chỉ ~ 3 -->Vbe <0-->transitor tắt.
                        -Hơn nữa thời điểm mà nó mở mình nghĩ là siêu ngắn chẳng si nhê gì với mắt người.

                        -->Giải pháp:Để transitor xuống dưới tức : GND<Emitor <Collector <resistor<Led,Base<10K(cái này thì có lẽ nên giảm hơn tùy loại port của vdk) <Pin của VDK.

                        Sông dài, Thuyền lớn, Biển rộng bao la.
                        Tháo neo ngôn ngữ, lèo lái con thuyền kiến thức nhân loại.

                        Comment


                        • #13
                          Tưởng dễ làm dễ ăn, hóa ra cũng có nhiều vấn đề gớm! Thanks mọi người nhiều.

                          Comment


                          • #14
                            Bác quoc_thaibk nói đúng đó.Tại chương trình trễ của bạn ngắn quá nên mắt mình không nhận ra

                            Comment


                            • #15
                              Vừa test lại! Vẫn ko nhấp nháy chi hết! Lần này tớ dùng kiểu
                              +5V --------150 Ohm ------|>LED|------p0.7
                              Dùng đồng hồ đo thì thấy chân 0.7 (có cắm LED) có điện áp 3.5V so với đất. CÒn các chân còn lại thì đều là 0.5V. Hiện tượng như thế là j? Có phải do cổng p0 của tớ bị hỏng ko? Các chân còn lại thì hoạt động đúng: đều ra 5V cả! Ko hiểu...
                              với cách mắc như thế thì muốn led nhấp nháy thì viết như thế này:
                              clr p0.7
                              call delay
                              setb p0.7

                              KHông được nữa thì thay con VXl, thay con led..... không được nua thì pótay
                              |

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X