Thông báo

Collapse
No announcement yet.

Đố vui về PIC, các câu đố cực vui và cực hay... hehe..

Collapse
This topic is closed.
X
This is a sticky topic.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Re

    Tới 12 led 7 thanh hả tui tưởng có 1 con thôi còn nếu 12 con thì bác có thể làm như vầy.
    4 chân dùng để xuất số nhị phân ra con giải mã 7447
    chân còn lại bác cho qua 2 con 74164(IC dịch) để đếm lên chú ý khi vượt quá 12 phải reset lại chân này mục đích là để tạo xung để dịch. Nói chung tui chỉ giải theo cách kết nối phần cứng bên ngoài thôi.

    Comment


    • Nguyên văn bởi tam1234
      Sao hình nó chạy tùm lum thế không biết lúc viết nhìn đẹp lắm mà
      còn Led thì có thể dùng thêm 7447 không như vậy chỉ cần tốn 4 chân thôi còn Watchdong thì có thể dùng mạch trể kết nối bên ngoài khi PIC còn hoạt động thì nó tạo một xung ở chân nào đó để ngăn không cho ngõ ra của mạch này xuống thấp còn khi PIC bị treo thì chân này nó hoặc thấp hoặc cao nên không tác động thì sau một thời gian trễ nó sẽ có ngõ ra ở mức thấp nên tác động vô chân reset của PIC

      C
      PIN? ---------------| |---------------------tới mạch Reset (mạch trễ) phức
      |____/\/\/\______| tạp qá nên ko vẽ.
      R
      giả sử chân Pic ở mức cao thì tụ sẽ dẩn cho đến khi tụ đầy thì ngưng sau đó chân PIC xuống thấp tụ sẽ xã điện qua điện trở R (~1M) quá trình cứ tiếp tục như vậy nó sẽ giữ cho mạch Reset không hoạt động. Mạch này tui cũng dùng để Reset 8051.
      Không dùng thêm IC ngoài cơ mà, Chí Bằng đã giải được gần hết rồi, chỉ chờ cái schematic led thôi. À quên cái LED 7 thanh chỉ được nối thêm thôi và các chân này không dùng vào mục đích khác, nêu dùng 8 chân này thì quá dễ.
      Last edited by phamthaihoa; 07-12-2005, 16:20.

      Comment


      • 12LED = 4 chân thì dùng theo độc chiêu của Tây Độc Âu Dương Binh Anh đã post rùi đó. Nghĩa là dùng 8 chân quét LED 7T(dùng chung)(xem như không có chân nao)+ 2 chân đóng ngắt. He he 2 chứ ko phải 4 chân đâu nhé, vậy còn thừa một đông chân đó...
        Thêm 1 giải pháp về đa tốc độ:
        Cách 3: Có thể dùng bộ dao động ngoài để cung cấp vào chân dao động của PIC, và dùng chân của PIC để điều chỉnh dao động này(= PWM chẳng hạn--->phi ra dao động --> Lọc RC--->điện áp--> thay đổi tần số ).
        Cách 4: PIC còn có một kiểu dao động quái đản, mắc 1 con điện trở vào, vậy thay đổi R thì thay đổi dao động...
        Cách 5,6,7 rất rất nhiều...nữa...
        -------------------

        Comment


        • Nguyên văn bởi CHIBANG
          12LED = 4 chân thì dùng theo độc chiêu của Tây Độc Âu Dương Binh Anh đã post rùi đó. Nghĩa là dùng 8 chân quét LED 7T(dùng chung)(xem như không có chân nao)+ 2 chân đóng ngắt. He he 2 chứ ko phải 4 chân đâu nhé, vậy còn thừa một đông chân đó...
          Thêm 1 giải pháp về đa tốc độ:
          Cách 3: Có thể dùng bộ dao động ngoài để cung cấp vào chân dao động của PIC, và dùng chân của PIC để điều chỉnh dao động này(= PWM chẳng hạn--->phi ra dao động --> Lọc RC--->điện áp--> thay đổi tần số ).
          Cách 4: PIC còn có một kiểu dao động quái đản, mắc 1 con điện trở vào, vậy thay đổi R thì thay đổi dao động...
          Cách 5,6,7 rất rất nhiều...nữa...
          Not OK, không dùng chân của LED7 thanh, tiểu đệ đã nói trong đề rùi, bây giờ vấn đề chỉ còn thêm 1 led 7 thanh như thế nào và 12 LED với 4 chân. Ý của tiểu đệ là đưa ra giải pháp điều khiển được 12 con LED với 4 chân.

          Comment


          • Nguyên văn bởi Cuong Quay
            #define BLOCK_SIZE 1024
            #define START_RAM 0x0100
            #define END_RAM START_RAM + BLOCK_SIZE

            void fill_ram(unsigned int n,unsigned char byte)
            {
            unsigned char* p = 0;
            for (p=START_RAM;p< n*END_RAM;p++)
            *p = byte;
            }

            void main()
            {
            fill_ram(10,0xAA); // điền 10 kbs RAM với 0xAA bắt đầu từ 0x0100
            }
            1-*p giá trị từ 0-255 trong khi vòng for tới END_RAM quá lớn---> nằm mãi ở trong for thui.
            2-Ngaòi ra:for (p=START_RAM;p< n*END_RAM;p++)
            --->
            for (p=START_RAM;p<(START_RAM+ n*BLOCK_SIZE);p++)
            -------------------

            Comment


            • Nguyên văn bởi phamthaihoa
              Ý của tiểu đệ là đưa ra giải pháp điều khiển được 12 con LED với 4 chân.
              Lại câu hỏi đặc biệt rùi.
              Tức là chỉ với 4 chân, làm thế nào để ĐK được 12 con LED đơn mà ko dùng chung tài nguyên chân với bất cứ phần nào? và mạch ngoài cũng ko qua phức tạp đấy chứ?
              Vì nếu phức tạp lại ta lại đi làm mạch ghi/dịch = trans...trở về thời nguyên thủy...
              -------------------

              Comment


              • Nguyên văn bởi CHIBANG
                1-*p giá trị từ 0-255 trong khi vòng for tới END_RAM quá lớn---> nằm mãi ở trong for thui.
                2-Ngaòi ra:for (p=START_RAM;p< n*END_RAM;p++)
                --->
                for (p=START_RAM;p<(START_RAM+ n*BLOCK_SIZE);p++)
                1. Biến p là con trỏ vì thế nó có độ dài 16 bit chứ không phải 8 bit
                2. cái hay nhầm ở đây chính là cách khai báo macro trong C, bạn đã tìm ra nhưng viết sai n*END_RAM = n*START_RAM + BLOCK_SIZE

                Comment


                • Nguyên văn bởi Cuong Quay
                  2. cái hay nhầm ở đây chính là cách khai báo macro trong C, bạn đã tìm ra nhưng viết sai n*END_RAM = n*START_RAM + BLOCK_SIZE
                  Vậy câu đố của bạn dễ quá, câu khác khó hơn tý đi
                  -------------------

                  Comment


                  • Nguyên văn bởi CHIBANG
                    Vậy câu đố của bạn dễ quá, câu khác khó hơn tý đi
                    Hêhê, đố này:

                    Tri bỉ tri kỷ giả, bách chiến bất đãi, bất tri bỉ nhi tri kỷ, nhất thắng nhất phụ, bất tri bỉ bất tri kỷ, mỗi chiến tất đãi.

                    Comment


                    • Nguyên văn bởi CHIBANG
                      Lại câu hỏi đặc biệt rùi.
                      Tức là chỉ với 4 chân, làm thế nào để ĐK được 12 con LED đơn mà ko dùng chung tài nguyên chân với bất cứ phần nào? và mạch ngoài cũng ko qua phức tạp đấy chứ?
                      Vì nếu phức tạp lại ta lại đi làm mạch ghi/dịch = trans...trở về thời nguyên thủy...
                      Chỉ dùng trở và LED, không hơn, thế mới chuối

                      Comment


                      • Thế có cho điều động xung để điều khiển LED không nhỉ? Chẳng thấy ai điều khiển xung đề điều khiển LED nhỉ?

                        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


                        • Chào tất cả mọi người
                          Xin được góp vui một tí, hy vọng là trả lời được câu đố của bạn PTH
                          Cái này gọi là Input/Output Multiplexing:
                          Số LED được tính theo công thức sau:
                          D = GP x (GP - 1).
                          Where D = Number o f LED, GP = port pin
                          Example:
                          GP = 4
                          GP - 1 = 4 -1 = 3
                          Number of LED = 4*3 = 12
                          Microchip có một cái application note không nhớ là số mấy.
                          Đây là config của nó:

                          Comment


                          • Hehe, mới gợi ý phát đã có người tìm được câu trả lời ngay.

                            Câu trả lời này nếu xem app note thì không còn gì hay nữa, nhưng nếu lý luận logic thì lại rất hay, tôi muốn khai thác ý này, nhưng không ngờ lại bị đưa app note rồi,

                            Thôi thì nếu ai thích sử dụng logic thì giả vờ không xem app note đi, để có thể suy nghĩ theo kiểu phương pháp luận, nó sẽ rất hay đó.

                            Tui cũng nói với bác ba là tui thích cái bài này, vì cách suy luận rất hay. Và có thể hoàn toàn chứng minh bằng toán học.

                            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


                            • Nguyên văn bởi thelam
                              Chào tất cả mọi người
                              Số LED được tính theo công thức sau:
                              D = GP x (GP - 1).
                              Where D = Number o f LED, GP = port pin
                              Example:
                              GP = 4
                              GP - 1 = 4 -1 = 3
                              Number of LED = 4*3 = 12
                              Toàn bộ câu đố của PTH đều nằm trong một tài liệu hướng dẫn cả. Tuy nhiên, nếu cho lời khuyên, tôi không khuyên sử dụng các kỹ thuật này.

                              Các kỹ thuật này chỉ để đố vui chơi thôi

                              Nếu bạn nào chưa nghĩ ra kết quả trên thì cứ tiếp tục suy nghĩ nhé. Tạm thời tôi xóa bài của TheLam, đáp án quá chính xác rồi, nhưng tôi muốn chờ một bài giải hoàn chỉnh và chứng minh bằng toán học....

                              Sorry TheLam tạm mấy ngày nhé.
                              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


                              • Để công bằng, tôi cũng xóa luôn bài viết và hướng dẫn của tôi, dù sao thì cũng có người xem được, nhưng tôi cũng chưa gợi ý nhiều, và bài của thelam viết lúc gần sáng, chắc cũng ít người xem.

                                Mong rằng thelam thông cảm để mọi người có thể được vui vẻ tí.

                                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

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X