Thông báo

Collapse
No announcement yet.

cần giúp 89C2051

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

  • cần giúp 89C2051

    các bác ơi, e làm mạch nháy có 14 ngõ ra, nhưng khi mô phỏng thì chạy đủ 14 ngõ ra, còn khi ráp mạch thật thì chỉ có 9 ngõ xuất ra led được, còn lại 5 ngõ không xuất ra được, cụ thể là 5 ngõ sau:
    Chân số 3 (P3.1)/TXD)
    chân số 6 (P3.2/INT0)
    chân số 7 (P3.3/INT1)
    chân số 8 (P3.4/T0)
    chân số 9 (P3.5/T1)
    5 ngõ ra này không xuất ra led được, đã thay rất nhiều IC mới, ai có kinh nghiệm giải thích dum e cái nhe!
    Click image for larger version

Name:	mophong.JPG
Views:	1
Size:	248.9 KB
ID:	1413966
    code cua e day:

    SW EQU P3.7
    ORG 0
    MAIN:
    MOV P3,#00H

    MOV P1,#00H
    MOV R1, #01H
    LOOPM1: MOV A,#01H
    LOOPM0: JB SW,$
    CALL DEBOUNCE
    JNB SW,$
    MOV P3,#00H
    MOV P1,A
    RLC A
    CJNE A,#00000000H,LOOPM0

    LOOPM2:
    MOV A, #01H
    LOOPM3: JB SW,$
    CALL DEBOUNCE
    JNB SW,$
    MOV P1,#00H
    MOV P3,A
    RL A
    CJNE A,#01000000B,LOOPM3
    SJMP LOOPM1


    DEBOUNCE:
    MOV 29H,#250
    LOOP_T0:MOV 31H,#250
    DJNZ 31H,$
    DJNZ 29H,LOOP_T0
    RET
    END
    Attached Files
    Last edited by hoang_truong; 12-08-2012, 15:41.

  • #2
    dòng tích cực mức cao của 89 rất thấp, nếu bạn dùng tích cực mức cao thì có thể led ko sáng.

    Comment


    • #3
      Bạn thử đổi cổng P3 về cổng P2 xem, cổng P2 có R kéo lên mà

      Comment


      • #4
        Nguyên văn bởi DANTHSL Xem bài viết
        Bạn thử đổi cổng P3 về cổng P2 xem, cổng P2 có R kéo lên mà
        2051 ko có P2

        Comment


        • #5
          Trở treo 1k lên nguồn

          Comment


          • #6
            cám ơn các a, nhưng trong đó có 1 led thuộc P3 thì lại sáng còn lại là sáng ca, chẳng lẽ có mấy con led mà phải dùng con 4051 thì phí quá, các bác xem giúp e thử code có vấn đề gì ko?

            Comment


            • #7
              Nguyên văn bởi hoang_truong Xem bài viết
              cám ơn các a, nhưng trong đó có 1 led thuộc P3 thì lại sáng còn lại là sáng ca, chẳng lẽ có mấy con led mà phải dùng con 4051 thì phí quá, các bác xem giúp e thử code có vấn đề gì ko?
              chỉ do chú kích mức cao nên ko đủ dòng. Thử kích mức thấp đi

              Comment


              • #8
                Nguyên văn bởi chung1608 Xem bài viết
                chỉ do chú kích mức cao nên ko đủ dòng. Thử kích mức thấp đi
                vì e đang tập viết code nên cũng chưa biết sửa chỗ nào để tích cực mức thấp, với lại mạch của e đã làm theo kiểu tích cực mức cao rồi, giờ sửa lại hơi mệt đó, bác có thể chỉ giáo cho e về thay đổi mưc tích cực ko? và nếu thay đổi như thế thì phần cứng phải sửa như thế nào cho phù hợp, code này là e lượn được trên này và thử tìm hiểu về nó, mạch của e đã có phần điều khiển rơle. Cám ơn bác.

                Comment


                • #9
                  Có thể do lỗi này không bác Chung, e xem kỹ thì thấy hình như chương trình biên dịch hoặc chương thình nạp có vấn đề, cũng 1 file khi mô phỏng thì có tín hiệu ra đầy đủ, nhưng cũng file đó chép vào IC thực tế thì lại không xuất đến chân đó mà mới tới chân P3.0 là quay về lại từ đầu rồi.
                  Hay do đoạn code chỉ cho phép tới đó thôi nhỉ??
                  Last edited by hoang_truong; 12-08-2012, 17:05.

                  Comment


                  • #10
                    Nguyên văn bởi hoang_truong Xem bài viết
                    các bác ơi, e làm mạch nháy có 14 ngõ ra, nhưng khi mô phỏng thì chạy đủ 14 ngõ ra, còn khi ráp mạch thật thì chỉ có 9 ngõ xuất ra led được, còn lại 5 ngõ không xuất ra được, cụ thể là 5 ngõ sau:
                    Chân số 3 (P3.1)/TXD)
                    chân số 6 (P3.2/INT0)
                    chân số 7 (P3.3/INT1)
                    chân số 8 (P3.4/T0)
                    chân số 9 (P3.5/T1)
                    5 ngõ ra này không xuất ra led được, đã thay rất nhiều IC mới, ai có kinh nghiệm giải thích dum e cái nhe!
                    [ATTACH=CONFIG]49997[/ATTACH]
                    code cua e day:

                    SW EQU P3.7
                    ORG 0
                    MAIN:
                    MOV P3,#00H

                    MOV P1,#00H
                    MOV R1, #01H
                    LOOPM1: MOV A,#01H
                    LOOPM0: JB SW,$
                    CALL DEBOUNCE
                    JNB SW,$
                    MOV P3,#00H
                    MOV P1,A
                    RLC A
                    CJNE A,#00000000H,LOOPM0

                    LOOPM2:
                    MOV A, #01H
                    LOOPM3: JB SW,$
                    CALL DEBOUNCE
                    JNB SW,$
                    MOV P1,#00H
                    MOV P3,A
                    RL A
                    CJNE A,#01000000B,LOOPM3
                    SJMP LOOPM1


                    DEBOUNCE:
                    MOV 29H,#250
                    LOOP_T0:MOV 31H,#250
                    DJNZ 31H,$
                    DJNZ 29H,LOOP_T0
                    RET
                    END


                    89c2051 không có lệnh mov P3,#....
                    (nó nói rằng tui không hiểu bạn bảo tui làm gì cả)
                    chỉ có lệnh setb P3.0 hay clr p3.0
                    setb P3.1 ..v.v.
                    chúc thành công

                    Comment


                    • #11
                      Nguyên văn bởi CONGMINHfs Xem bài viết
                      89c2051 không có lệnh mov P3,#....
                      (nó nói rằng tui không hiểu bạn bảo tui làm gì cả)
                      chỉ có lệnh setb P3.0 hay clr p3.0
                      setb P3.1 ..v.v.
                      chúc thành công
                      Bác này có nói nhầm không đấy?
                      Theo sơ đồ mạch thì chủ topic tích cực mức 1 nên để Led sáng bình thường thì mỗi port nên treo 1 con trở khoảng 470 Ohm lên +5Vcc (tốt nhất nên dùng trở thanh loại A471J cho gọn)

                      Comment


                      • #12
                        Nguyên văn bởi CONGMINHfs Xem bài viết
                        89c2051 không có lệnh mov P3,#....
                        (nó nói rằng tui không hiểu bạn bảo tui làm gì cả)
                        chỉ có lệnh setb P3.0 hay clr p3.0
                        setb P3.1 ..v.v.
                        chúc thành công
                        89C2051 có thể xử lý đầy đủ các lệnh MOV ra 2 port 1 và 3. Chú hãy kiểm tra lại những gì chú ghi trước khi nói nhá.

                        Comment


                        • #13
                          Nguyên văn bởi chung1608 Xem bài viết
                          89C2051 có thể xử lý đầy đủ các lệnh MOV ra 2 port 1 và 3. Chú hãy kiểm tra lại những gì chú ghi trước khi nói nhá.
                          Thứ 1.khi lập trình cho 2051 không ai đi sử dụng lệnh mov p3 cả vì nó thiếu p3.6
                          2.trong trường hợp này lại sử dụng p3 để quay bít mà lại sử dụng p3.7 làm SW ,p3.7 vừa làm chân in vừa làm chân out là sao ta
                          3.các bác chưa xem kỷ thì đừng có nói lung tung nhé !

                          Comment


                          • #14
                            Nguyên văn bởi CONGMINHfs Xem bài viết
                            Thứ 1.khi lập trình cho 2051 không ai đi sử dụng lệnh mov p3 cả vì nó thiếu p3.6
                            2.trong trường hợp này lại sử dụng p3 để quay bít mà lại sử dụng p3.7 làm SW ,p3.7 vừa làm chân in vừa làm chân out là sao ta
                            3.các bác chưa xem kỷ thì đừng có nói lung tung nhé !
                            1. Ko có chân p3.6 thì vẫn dùng lệnh MOV đc. Nếu cần tác động cả 7 chân của P3 cùng lúc ko lẽ dùng tới 7 lệnh setb or clr.
                            2. Dùng để quay thì có làm sao đâu, vì giá trị quay nó nằm trong A chứ có nằm trong P3 đâu mà bị ảnh hưởng lúc dùng lệnh rotates chứ. CT đã định nghĩa P3.7 là chân in bằng nút nhấn thì nó xuất giá trị 0 có ảnh hưởng gì phần cứng ngoài đâu. Về lý thuyết CT này chạy đúng ý đồ và mô phỏng vẫn chạy nhưng nếu ráp mạch thật chân P3.7 ko thể dùng nút nhấn tích cực mức cao mà phải tích cực mức thấp mới chạy là vì khi bấm nút vẫn ko đủ để thiết lập mức logic 1 cho khối đọc chân port thôi.
                            3. Chú toàn đi nói linh tinh ko có căn cứ
                            Last edited by chung1608; 15-08-2012, 14:58.

                            Comment


                            • #15
                              bác thử code này xem.


                              SW EQU P3.7
                              ORG 0
                              MAIN:
                              lcall xoap3 ;MOV P3,#00H

                              MOV P1,#00H
                              MOV R1, #01H
                              LOOPM1: MOV A,#01H
                              LOOPM0: JB SW,$
                              CALL DEBOUNCE
                              JNB SW,$
                              lcall xoap3 ;MOV P3,#00H
                              MOV P1,A
                              RLC A
                              CJNE A,#00000000H,LOOPM0

                              LOOPM2:
                              mov r1,#1
                              ;MOV A, #01H
                              LOOPM3: JB SW,$
                              CALL DEBOUNCE
                              JNB SW,$
                              MOV P1,#00H
                              lcall timled ;MOV P3,A
                              inc r1 ;RL A
                              cjne r1,#7,loopm3 ;CJNE A,#01000000B,LOOPM3
                              SJMP LOOPM1


                              DEBOUNCE:
                              MOV 29H,#250
                              LOOP_T0:MOV 31H,#250
                              DJNZ 31H,$
                              DJNZ 29H,LOOP_T0
                              RET
                              ;***********************
                              timled:
                              cjne r1,#1,exit1
                              lcall led9
                              ret
                              exit1:cjne r1,#2,exit2
                              lcall led10
                              ret
                              exit2:cjne r1,#3,exit3
                              lcall led11
                              ret
                              exit3:cjne r1,#4,exit4
                              lcall led12
                              ret
                              exit4:cjne r1,#5,exit5
                              lcall led13
                              ret
                              exit5:cjne r1,#6,exit6
                              lcall led14
                              exit6: ret


                              ;********
                              xoap3:
                              clr p3.0
                              clr p3.1
                              clr p3.2
                              clr p3.3
                              clr p3.4
                              clr p3.5
                              ret
                              ;**********
                              led9:
                              setb p3.0
                              clr p3.1
                              clr p3.2
                              clr p3.3
                              clr p3.4
                              clr p3.5
                              ret
                              ;**********
                              led10:
                              setb p3.1
                              clr p3.0
                              clr p3.2
                              clr p3.3
                              clr p3.4
                              clr p3.5
                              ret
                              ;**********
                              led11:
                              setb p3.2
                              clr p3.1
                              clr p3.0
                              clr p3.3
                              clr p3.4
                              clr p3.5
                              ret
                              ;**********
                              led12:
                              setb p3.3
                              clr p3.1
                              clr p3.2
                              clr p3.0
                              clr p3.4
                              clr p3.5
                              ret
                              ;**********
                              led13:
                              setb p3.4
                              clr p3.1
                              clr p3.2
                              clr p3.3
                              clr p3.0
                              clr p3.5
                              ret
                              ;**********
                              led14:
                              setb p3.5
                              clr p3.1
                              clr p3.2
                              clr p3.3
                              clr p3.3
                              clr p3.0
                              ret


                              END

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X