Thông báo

Collapse
No announcement yet.

Vấn đề IO tưởng dễ mà khó!

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

  • Vấn đề IO tưởng dễ mà khó!

    Từ trước tới giờ mình làm I/O như nhận INPUT thường cấu hình ở chế độ pullup tức là treo trở nội 10k lên +VCC.Bình thường port ví dụ như P1.5 luôn ở mức Vcc khi có tín hiệu như phím nhấn thì tiếp GND(gọi là bắt phím mức 0) mọi chương trình chạy ngon lành phím bắt ầm ầm.Thế nhưng bây giờ yêu cầu phím nhấn cấp Vcc thì mình không làm sao bắt được:Mình đẫ làm là đặt port ở chế độ pulldown,và đọc bình thường,trước khi đọc out 1 ra cổng đó.Mọi người thử nói xem khi thay đổi như vậy có gì khác lạ nhỉ,có ai làm nhận phím mức 1 chưa!
    Technical Institutes
    Mobile: 0983278725
    Email:

  • #2
    Nguyên văn bởi process Xem bài viết
    Từ trước tới giờ mình làm I/O như nhận INPUT thường cấu hình ở chế độ pullup tức là treo trở nội 10k lên +VCC.Bình thường port ví dụ như P1.5 luôn ở mức Vcc khi có tín hiệu như phím nhấn thì tiếp GND(gọi là bắt phím mức 0) mọi chương trình chạy ngon lành phím bắt ầm ầm.Thế nhưng bây giờ yêu cầu phím nhấn cấp Vcc thì mình không làm sao bắt được:Mình đẫ làm là đặt port ở chế độ pulldown,và đọc bình thường,trước khi đọc out 1 ra cổng đó.Mọi người thử nói xem khi thay đổi như vậy có gì khác lạ nhỉ,có ai làm nhận phím mức 1 chưa!
    Dể ợt,cho qua opto là xong liền.
    Trên đường thành công, không có dấu chân của kẻ lười biếng.

    Comment


    • #3
      Vấn đề IO tưởng dễ mà khó!

      Ý Bác là thé này phải không?
      Attached Files
      Technical Institutes
      Mobile: 0983278725
      Email:

      Comment


      • #4
        Như thế này thì đúng hơn
        Click image for larger version

Name:	tam.JPG
Views:	1
Size:	29.1 KB
ID:	1331323
        Trên đường thành công, không có dấu chân của kẻ lười biếng.

        Comment


        • #5
          Cám ơn bác nhưng bác vẽ như thế này thì lúc nào OUT cũng =GND ?Em cũng đã nghĩ cho qua con đảo như 7400 nhưng nghe chừng không ổn lắm!
          Technical Institutes
          Mobile: 0983278725
          Email:

          Comment


          • #6
            Nguyên văn bởi process Xem bài viết
            Cám ơn bác nhưng bác vẽ như thế này thì lúc nào OUT cũng =GND ?Em cũng đã nghĩ cho qua con đảo như 7400 nhưng nghe chừng không ổn lắm!
            Bác làm tui thất vọng quá, bác xem kỹ chưa mà nói thế.Nếu bác nhấn nút thì áp trên anod và katod cuả opto(chân 1 và 2) =0 rồi làm sao có dòng qua led để opto dẫn, khi đó ngỏ ra nó=Vcc
            Last edited by phienbinh; 22-05-2008, 17:28.
            Trên đường thành công, không có dấu chân của kẻ lười biếng.

            Comment


            • #7
              Nguyên văn bởi phienbinh Xem bài viết
              Bác làm tui thất vọng quá, bác xem kỹ chưa mà nói thế.Nếu bác nhấn nút thì áp trên anod và katod cuả opto(chân 1 và 2) =0 rồi làm sao có dòng qua led để opto dẫn, khi đó ngỏ ra nó=Vcc
              Cái sơ đồ của bạn đúng rồi nhưng mình thấy có vẻ hơi phức tạp, tự nhiên phải mất thêm 1 con opto nữa. Các mcu đều support pullup nhưng đâu nhất thiết phải lúc nào cũng sử dụng đâu. Có thể disable pull up đi mà. Đơn giản nhất là dùng 2 con điện trở và 1 cái tụ để chống nhiễu khi bấm phím. R2 lớn hơn khoảng 10 lần R1 để khi phím bấm thì điện áp tại cổng PTA0 nằm trong khoảng high level là được.
              be kind, be sweet, be human

              Comment


              • #8
                Nguyên văn bởi process Xem bài viết
                Từ trước tới giờ mình làm I/O như nhận INPUT thường cấu hình ở chế độ pullup tức là treo trở nội 10k lên +VCC.Bình thường port ví dụ như P1.5 luôn ở mức Vcc khi có tín hiệu như phím nhấn thì tiếp GND(gọi là bắt phím mức 0) mọi chương trình chạy ngon lành phím bắt ầm ầm.Thế nhưng bây giờ yêu cầu phím nhấn cấp Vcc thì mình không làm sao bắt được:Mình đẫ làm là đặt port ở chế độ pulldown,và đọc bình thường,trước khi đọc out 1 ra cổng đó.Mọi người thử nói xem khi thay đổi như vậy có gì khác lạ nhỉ,có ai làm nhận phím mức 1 chưa!
                Nối điện trở 1k xuống mass, phím lên nguồn, chắc là dc. Chắc chắn hơn thì qua con đệm như trans hay cổng NOT.
                !e

                Comment


                • #9
                  Nguyên văn bởi zemen Xem bài viết
                  Nối điện trở 1k xuống mass, phím lên nguồn, chắc là dc. Chắc chắn hơn thì qua con đệm như trans hay cổng NOT.
                  Mình không hiểu ý bạn lắm. Con 1k này là con nào?
                  be kind, be sweet, be human

                  Comment


                  • #10
                    Nguyên văn bởi process Xem bài viết
                    Từ trước tới giờ mình làm I/O như nhận INPUT thường cấu hình ở chế độ pullup tức là treo trở nội 10k lên +VCC.Bình thường port ví dụ như P1.5 luôn ở mức Vcc khi có tín hiệu như phím nhấn thì tiếp GND(gọi là bắt phím mức 0) mọi chương trình chạy ngon lành phím bắt ầm ầm.Thế nhưng bây giờ yêu cầu phím nhấn cấp Vcc thì mình không làm sao bắt được:Mình đẫ làm là đặt port ở chế độ pulldown,và đọc bình thường,trước khi đọc out 1 ra cổng đó.Mọi người thử nói xem khi thay đổi như vậy có gì khác lạ nhỉ,có ai làm nhận phím mức 1 chưa!
                    Mình toàn chọn pull-down, rồi nếu nhấn phím(phím nối lên Vcc qua R560 om) thì sẽ đọc đầu ra là 1, ko nhấn thì giá trị 0, có sao đâu nhỉ.... Ý bạn muốn pin này dùng để output mức 1 sau đó hay sao ? Mình ko hiểu lắm mục đích của bạn
                    Last edited by Connection; 24-05-2008, 23:25.

                    Or call me 0903911109

                    Comment


                    • #11
                      Nguyên văn bởi phienbinh Xem bài viết
                      Bác làm tui thất vọng quá, bác xem kỹ chưa mà nói thế.Nếu bác nhấn nút thì áp trên anod và katod cuả opto(chân 1 và 2) =0 rồi làm sao có dòng qua led để opto dẫn, khi đó ngỏ ra nó=Vcc
                      Cũng có vẻ ko ổn mà, sao bác làm phức tạp thế. Khi phím nhấn được nhấn, điện trở mạch ngoài Anot và Catot nhỏ hơn 1k (vì cái 1K còn parallel với nhiều điện trở khác), nguồn yếu sẽ bị sụt mạnh điện áp ra, MCU dễ bị Reset hoặc nếu ko các mạch khác sẽ hoạt động thiếu chính xác ADC hoặc DAC chẳng hạn.

                      Or call me 0903911109

                      Comment


                      • #12
                        Nguyên văn bởi Connection Xem bài viết
                        Cũng có vẻ ko ổn mà, sao bác làm phức tạp thế. Khi phím nhấn được nhấn, điện trở mạch ngoài Anot và Catot nhỏ hơn 1k (vì cái 1K còn parallel với nhiều điện trở khác), nguồn yếu sẽ bị sụt mạnh điện áp ra, MCU dễ bị Reset hoặc nếu ko các mạch khác sẽ hoạt động thiếu chính xác ADC hoặc DAC chẳng hạn.
                        KHi nào thiết kế của em ứng dụng trong công nghiệp đặc biệt là khi dây dẫn từ nút nhấn đến board có khoảng cách khá lớn(vài m) và board mạch em thiết kế nằm cạnh các thiết bị khác như motor servo, biến tần,.V.V...mà nó vẫn hoạt động ổn định, không nhiễu.
                        Khi đó em phát biểu như vậy cũng chưa muộn. Kinh nghiệm thực tế của em về các thiết bị chưa nhiều(em mới 23t đúng không) , nếu sau này có điều kiện áp dụng thực tế, khi nào có khó khăn khi xử lý nhiểu thì nhớ thiết kế này nhé.
                        Trên đường thành công, không có dấu chân của kẻ lười biếng.

                        Comment


                        • #13
                          Nguyên văn bởi phienbinh Xem bài viết
                          KHi nào thiết kế của em ứng dụng trong công nghiệp đặc biệt là khi dây dẫn từ nút nhấn đến board có khoảng cách khá lớn(vài m) và board mạch em thiết kế nằm cạnh các thiết bị khác như motor servo, biến tần,.V.V...mà nó vẫn hoạt động ổn định, không nhiễu.
                          Khi đó em phát biểu như vậy cũng chưa muộn. Kinh nghiệm thực tế của em về các thiết bị chưa nhiều(em mới 23t đúng không) , nếu sau này có điều kiện áp dụng thực tế, khi nào có khó khăn khi xử lý nhiểu thì nhớ thiết kế này nhé.
                          Cao nhân nào đây vậy nhỉ ? Sao đoán tuổi em vậy!

                          Or call me 0903911109

                          Comment


                          • #14
                            Đúng thế mình đã làm được rồi,thật đơn giản quá mà mình cũng phiền mọi người!
                            Technical Institutes
                            Mobile: 0983278725
                            Email:

                            Comment


                            • #15
                              Bác làm chi tiết thế nào vậy ? Đưa lên cho mọi người tham khảo xem.

                              Or call me 0903911109

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X