Thông báo

Collapse
No announcement yet.

mình nhức đầu về nó quá!!

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

  • mình nhức đầu về nó quá!!

    đây là những câu lệnh rất đơn giản của con 89C51:
    main:
    mov R1,P0
    cjne R1,#10001111,main
    setb P2.0
    ở đây mình muốn khi P0=10001111 thì P2.0 sẽ được nhảy lên mức 1. Nhưng chẳng hiểu sao nó ko chạy ,mặc dù mình đã ktra P0 =10001111. Ai biết lỗi gì chỉ mình nhé!!!

  • #2
    Nguyên văn bởi trungBK Xem bài viết
    đây là những câu lệnh rất đơn giản của con 89C51:
    main:
    mov R1,P0
    cjne R1,#10001111,main
    setb P2.0
    ở đây mình muốn khi P0=10001111 thì P2.0 sẽ được nhảy lên mức 1. Nhưng chẳng hiểu sao nó ko chạy ,mặc dù mình đã ktra P0 =10001111. Ai biết lỗi gì chỉ mình nhé!!!
    có lẽ bạn quên thêm chữ "b" sau 10001111 để nó hiểu đây là số nhị phân.
    hãy cố gắng dù vướn phải thất bại!!!!!!!!

    Comment


    • #3
      có chữ B mình quên đấy ,có chữ B nhưng nó vẫn ko chạy

      Comment


      • #4
        Nguyên văn bởi trungBK Xem bài viết
        đây là những câu lệnh rất đơn giản của con 89C51:
        main:
        mov R1,P0
        cjne R1,#10001111b,main
        setb P2.0
        ở đây mình muốn khi P0=10001111 thì P2.0 sẽ được nhảy lên mức 1. Nhưng chẳng hiểu sao nó ko chạy ,mặc dù mình đã ktra P0 =10001111. Ai biết lỗi gì chỉ mình nhé!!!
        Bạn hãy hàn trở băng 9 chân 4,7K vào cổng P0 thử xem, treo tất cả R lên + nguồn ấy mà. Vì P0 không có trở treo bên trong nên rất nhiều lỗi xảy ra cho những người mới làm quen.
        Nếu bạn đã có trở rồi mà vẫn bị thì hãy mô tả kỹ hơn: P0 hàn những gì vào, làm gì để kiểm tra đúng như bạn đã nói...

        email:mahaco@fpt.vn

        Comment


        • #5
          Chào a 89xxx, cảm ơn lần trước chỉ e nhé. E đã thử port P2, port này được kết nối vớ 5 chân của con SC2272, đây là bộ thu phát vô tuyến e mới mua , khi nhận lệnh , phần phát sẽ cho ra 1 mã ra 5 chân của SC2272. Ví dụ mã đó là 10001, mã này vào 5 chân của P2, 3 chân còn lại của P2 e đã ktra đều ờ mức 1 hết . Vì vậy khi phần phát phát mã lệnh là 10001 thì P2 sẽ là 10001111. Do đó e chỉ cần ktra nếu P2=10001111 thì nó sẽ đưa 1 chân nào đó của VDK lên mức 1 . Rất đơn giản nhưng ko hiểu sao nó ko chạy.A chỉ e nhé!!!

          Comment


          • #6
            Nguyên văn bởi trungBK Xem bài viết
            Chào a 89xxx, cảm ơn lần trước chỉ e nhé. E đã thử port P2, port này được kết nối vớ 5 chân của con SC2272, đây là bộ thu phát vô tuyến e mới mua , khi nhận lệnh , phần phát sẽ cho ra 1 mã ra 5 chân của SC2272. Ví dụ mã đó là 10001, mã này vào 5 chân của P2, 3 chân còn lại của P2 e đã ktra đều ờ mức 1 hết . Vì vậy khi phần phát phát mã lệnh là 10001 thì P2 sẽ là 10001111. Do đó e chỉ cần ktra nếu P2=10001111 thì nó sẽ đưa 1 chân nào đó của VDK lên mức 1 . Rất đơn giản nhưng ko hiểu sao nó ko chạy.A chỉ e nhé!!!
            Giải sử bạn dùng 5 bit mã cho vào các cổng P2.3 đến P2.7 ( nếu bạn cho vào 5 cổng thấp thì chắc chắn là sai nên kiểm tra lại).
            -Kiểm tra xem 5 chân nối vào P2 có ổn định không, vì nếu không ổn định thì cũng khó kiểm tra đúng. nên bỏ tạm 5 chân nối SC2272, hàn trực tiếp để tạo 10001 trên cổng P2, kiểm tra xem có hoạt động không.
            -Nên khoá 3 bit không dùng lại:
            MOV A,P2
            ANL A,#11111000b
            MOV R1,A

            email:mahaco@fpt.vn

            Comment


            • #7
              Có thể do chân port của 89 không đủ dòng để kéo module vô tuyến lên mức 1, bạn nên kéo dương tất cả các chân của port2, dùng điện trở khoảng 2k7 kéo dương các chân này thử xem.

              Comment


              • #8
                E đã ktra ,khi e nhấn nút ,rõ ràng các chân của P2 có nhảy lên mức 1 ,tương ứng với mã vào, a yên tâm e đã làm ra mạch in ,đảm bảo các chân nối ko bị lỏng

                Comment


                • #9
                  bạn thử viết một lệnh đơn giản ví dụ cho chân p2.0 nhấp nháy xem nó có chạy không đã, với lại sau câu lệnh kia là gì? biết đâu nó setb xong rồi lại clear thì sao

                  Comment


                  • #10
                    P0 thường là open drain nên cần phải có pull up resistor, dùng 4.7k là được
                    Bạn thử viết lại như vậy xem sao
                    Code:
                    Main:	mov P0,#0ffh				; Set port as input
                    	mov A,P0				; Read port
                    	anl A,#0f8h				; Mask lower 3 bit
                    	cjne A,#88h,Main			;
                    	cpl P2.0				;
                    	jmp Main				;
                    Last edited by thelam; 20-01-2008, 05:09.

                    Comment


                    • #11
                      Nguyên văn bởi trungBK Xem bài viết
                      Chào a 89xxx, cảm ơn lần trước chỉ e nhé. E đã thử port P2, port này được kết nối vớ 5 chân của con SC2272, đây là bộ thu phát vô tuyến e mới mua , khi nhận lệnh , phần phát sẽ cho ra 1 mã ra 5 chân của SC2272. Ví dụ mã đó là 10001, mã này vào 5 chân của P2, 3 chân còn lại của P2 e đã ktra đều ờ mức 1 hết . Vì vậy khi phần phát phát mã lệnh là 10001 thì P2 sẽ là 10001111. Do đó e chỉ cần ktra nếu P2=10001111 thì nó sẽ đưa 1 chân nào đó của VDK lên mức 1 . Rất đơn giản nhưng ko hiểu sao nó ko chạy.A chỉ e nhé!!!
                      vậy trước tiên bạn cần kiểm tra lại con VDK của mình cái đã. bạn tháo bọ thu phát ra đi, tạo dữ liệu bằng tay theo ý muốn coi sao đã, có thể bạn viết chương trình chưa đúng, hoặc là VDK của bạn bị out rùi.
                      hãy cố gắng dù vướn phải thất bại!!!!!!!!

                      Comment


                      • #12
                        mạch nạp vẫn còn nhận được VDK thì ko có lý do gì nó lại chết được. Mà chương trính của a The Lam sao e thấy kỳ vậy,ý của e là 5 chân của P2 kết nối với 5 chân của SC2272 để khi 5 chân của SC2272 là 10001 thì 8 chân của P2 sẽ là 10001000, rồi so sánh nếu P2=10001000 thì setb p0.1

                        Comment


                        • #13
                          Nguyên văn bởi trungBK Xem bài viết
                          mạch nạp vẫn còn nhận được VDK thì ko có lý do gì nó lại chết được. Mà chương trính của a The Lam sao e thấy kỳ vậy,ý của e là 5 chân của P2 kết nối với 5 chân của SC2272 để khi 5 chân của SC2272 là 10001 thì 8 chân của P2 sẽ là 10001000, rồi so sánh nếu P2=10001000 thì setb p0.1
                          Chương trình rất đơn giản, phần cứng mà đúng như tôi đã nói thì chỉ còn phần mềm. Bạn hãy đưa phần mềm của bạn lên để mọi người giúp cho (phần quan trọng với bạn mà không liên quan trong câu hỏi thì bạn bỏ đi). Cái đoạn ban đầu bạn đưa lên chưa đầy đủ. Nếu không thì PM cho tôi, tôi giúp cho.

                          email:mahaco@fpt.vn

                          Comment


                          • #14
                            Sorry trungBK
                            Nếu hardware như bạn mô tả thì chỉ cần thay đổi chút xíu thôi chứ khó gì đâu
                            Code:
                            Main:	mov P2,#0ffh				; Set port as input
                            Here:	mov A,P2				; Read port
                            	anl A,#0f8h				; Mask lower 3 bit
                            	cjne A,#88h,Here			;
                            	cpl P0.1				;
                            	jmp Main				;
                            	end					;
                            Last edited by thelam; 21-01-2008, 10:22.

                            Comment


                            • #15
                              xin loi cac a nhe, may tinh cua e tu nhien ko danh duoc tieng viet. E da thu chuong trinh cua a The Lam,nhung van ko duoc, con phan mem, y a 89XXX muon noi den phan mem nap va bien dich dung ko. Ok a yen tam, e xai cai nay nhieu lam roi ,rat chinh xac ko sai. E tinh dung SC2272 xuat ra den 8 ma lenh de dk 8 thiet bi the ma co moi 1 mot cai ma lenh ma cung chua lam duoc . Tuc qua,kho hieu thiet!!

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              • tuyennhan
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi tuyennhan
                                Cái thư sai ngay câu chào Dear sir mới đúng Hi chỉ dùng cho người quen , các vấn đề về kỹ thuật nó không trả lời hoặc nói loanh quanh tránh ảnh hưởng đến công ty .
                                Giup1 người cần không giúp người không cần với lại văn mình vợ người nha đừng quên .
                                hôm nay, 07:44
                              • vi van pham
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi vi van pham
                                Cám ơn những lời chúc tốt đẹp của em.

                                Việc em làm giống như chê sếp dốt, chẳng những không có miếng xôi nào để ăn mà còn chịu nhiều trù dập lên bờ , xuống ruộng.

                                Hãy tránh vết xe đổ của tui đi. Dành thời gian lo cho gia đình....
                                hôm nay, 02:00
                              • nhathung1101
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi nhathung1101
                                Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.

                                Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.

                                Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...
                                Hôm qua, 22:18
                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.

                                Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...
                                Hôm qua, 14:51
                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.

                                Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
                                Hôm qua, 14:39
                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.

                                Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...
                                Hôm qua, 14:28
                              • bqviet
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi bqviet
                                Đúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
                                21-02-2025, 20:26
                              • mèomướp
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi mèomướp
                                Dạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
                                21-02-2025, 12:32
                              • vi van pham
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi vi van pham
                                Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).

                                Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
                                20-02-2025, 21:31
                              • bqviet
                                Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )
                                bởi bqviet
                                Thiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.
                                20-02-2025, 17:22
                              Đang tải...
                              X