Thông báo

Collapse
No announcement yet.

[Share-code] Mỗi ngày một bài tập về AT89S52

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

  • Anh ơi anh có thể viết cho e cái code đo nhiệt độ hiển thị trên lcd 16x2 hoặc led 7 thanh (đo dải nhiệt từ 20 đến 40 độ dùng cảm biến nhiệt độ LM35 ) yêu cầu là có thể chỉnh được nhiệt độ và khi đến nhiệt độ đã đặt trước thì cho xuất bit 1 ở chân P1.0 và khi nhiệt độ giảm xuống 0.1oC so với nhiệt độ đã đặt trước thì xuất bit 0 ở chân P1.0 Vd như nếu đặt 37oC thì khi nhiệt độ đo được 37 độ thì cho xuất bit 1 và khi nhiệt độ giảm xuống 36,9oC thì xuất bit 0. Mong a giúp đỡ nhiệt tình e không pải là dân điện tử nên gà lắm e chỉ mới biết qua qua về vi điều khiển thôi.

    Comment


    • Nguyên văn bởi long_trinh Xem bài viết
      Anh ơi anh có thể viết cho e cái code đo nhiệt độ hiển thị trên lcd 16x2 hoặc led 7 thanh (đo dải nhiệt từ 20 đến 40 độ dùng cảm biến nhiệt độ LM35 ) yêu cầu là có thể chỉnh được nhiệt độ và khi đến nhiệt độ đã đặt trước thì cho xuất bit 1 ở chân P1.0 và khi nhiệt độ giảm xuống 0.1oC so với nhiệt độ đã đặt trước thì xuất bit 0 ở chân P1.0 Vd như nếu đặt 37oC thì khi nhiệt độ đo được 37 độ thì cho xuất bit 1 và khi nhiệt độ giảm xuống 36,9oC thì xuất bit 0. Mong a giúp đỡ nhiệt tình e không pải là dân điện tử nên gà lắm e chỉ mới biết qua qua về vi điều khiển thôi.
      Có bài tương tự bên trên bạn chịu khó tìm lại nhé!

      Comment


      • Nguyên văn bởi 31101992 Xem bài viết
        Có bài tương tự bên trên bạn chịu khó tìm lại nhé!
        Bạn có ví dụ nào về ngắt ngoài hiển thị LED 7 thanh không? Ví dụ mỗi lần bấm phím nối vớiP3.2 hoặc P3.3 thì LED hiển thị tăng 1 đơn vị.
        Thanks for help!

        Comment


        • Cảm ơn bạn đã chia sẻ rất nhiều cho mọi ng. Hi.
          Chúc bạn thành công trong cuộc sống.

          Comment


          • Chào chủ thớt, mình có 1 đề bài thế này, bạn giúp mình với nhé.
            có 7 phím bấm được nối với P3,
            nếu phím 1 nhấn (P3^0=1) thì: {P0^0=1, nhấp nháy 1 giây}, {P2^0=1, không nháy}, {P1^1=1, nháy với chu kỳ 2 giây}. (quá trình được lặp lại vô tận mặc dù trạng thái của phím nhấn 1 thay đổi cho tới khi có thay đổi trên phím 6 và phím 7)
            nếu phím 2 nhấn (P3^1=1) thì: {P0^1=1, nhấp nháy 1 giây}, {P2^1=1, không nháy}, {P1^1=1, nháy với chu kỳ 2 giây}. (quá trình được lặp lại vô tận mặc dù trạng thái của phím nhấn 2 thay đổi cho tới khi có thay đổi trên phím 6 và phím 7)
            nếu phím 3 nhấn (P3^2=1) thì: {P0^2=1, nhấp nháy 1 giây}, {P2^2=1, không nháy}, {P1^1=1, nháy với chu kỳ 2 giây}. (quá trình được lặp lại vô tận mặc dù trạng thái của phím nhấn 3 thay đổi cho tới khi có thay đổi trên phím 6 và phím 7)
            nếu phím 4 nhấn (P3^3=1) thì: {P0^3=1, nhấp nháy 1 giây}, {P2^3=1, không nháy}, {P1^1=1, nháy với chu kỳ 2 giây}. (quá trình được lặp lại vô tận mặc dù trạng thái của phím nhấn 4 thay đổi cho tới khi có thay đổi trên phím 6 và phím 7)
            nếu phím 5 nhấn (P3^4=1) thì: {P0^0=P0^1=P0^2=P0^3=1, nhấp nháy 1 giây}, {P2^0=P2^1=P2^2=P2^3=0}, {P1^1=1, nháy với chu kỳ 2 giây}. (quá trình được lặp lại vô tận mặc dù trạng thái của phím nhấn 5 thay đổi cho tới khi có thay đổi trên phím 6 và phím 7).
            khi phím 6 được nhấn (p3^5=1) thì: {các P0^X ở trên không nhấp nháy mà cố định =1, P1^1=0 không nháy nữa.
            khi phím 7 được nhấn (P3^6=1) thì: tất cả trở lại trạng thái xác lập ban đầu.

            Xin nhờ các cao thủ chỉ giáo với, đau đầu cả tháng nay nhưng do trình độ có hạn nên không giải quyết được.
            cảm ơn rất rất nhiều

            Comment


            • a giúp em sửa mạch này cho nó chạy với ạ!, em chẳng biết cắm chân ntn cả
              em nối hơi rối tí
              https://docs.google.com/file/d/0ByMZ...I2TERkeDQ/edit
              https://docs.google.com/file/d/0ByMZ...c0RTdlbWM/edit

              Comment


              • Nguyên văn bởi kimsonbk Xem bài viết
                a giúp em sửa mạch này cho nó chạy với ạ!, em chẳng biết cắm chân ntn cả
                em nối hơi rối tí
                https://docs.google.com/file/d/0ByMZ...I2TERkeDQ/edit
                https://docs.google.com/file/d/0ByMZ...c0RTdlbWM/edit
                Phần cứng bạn bị trùng tên linh kiện nhé, một lỗi rất rõ. Xem lại U4, U6, D79, R34, D1,....và rất nhiều con khác, một phần nữa mình xin góp ý bạn là đừng đi dây như vậy nhìn nhưng mạng nhện không biết sai đâu mà lần hết, nên tách riêng các khối ra, ví dụ tách ra làm 3 khối: vi điều khiển, khối led, khối ghi dịch. Các khối nối với nhau thông qua cách đặt label( nhãn), như vậy rất dễ nhìn, khi sai cũng dễ phát hiện, linh kiện vẽ hạn chế copy vì dễ trùng tên, Proteus có công cụ copy mạch sẵn đó bạn

                Comment


                • Nguyên văn bởi mykhanh Xem bài viết
                  Chào chủ thớt, mình có 1 đề bài thế này, bạn giúp mình với nhé.
                  có 7 phím bấm được nối với P3,
                  nếu phím 1 nhấn (P3^0=1) thì: {P0^0=1, nhấp nháy 1 giây}, {P2^0=1, không nháy}, {P1^1=1, nháy với chu kỳ 2 giây}. (quá trình được lặp lại vô tận mặc dù trạng thái của phím nhấn 1 thay đổi cho tới khi có thay đổi trên phím 6 và phím 7)
                  nếu phím 2 nhấn (P3^1=1) thì: {P0^1=1, nhấp nháy 1 giây}, {P2^1=1, không nháy}, {P1^1=1, nháy với chu kỳ 2 giây}. (quá trình được lặp lại vô tận mặc dù trạng thái của phím nhấn 2 thay đổi cho tới khi có thay đổi trên phím 6 và phím 7)
                  nếu phím 3 nhấn (P3^2=1) thì: {P0^2=1, nhấp nháy 1 giây}, {P2^2=1, không nháy}, {P1^1=1, nháy với chu kỳ 2 giây}. (quá trình được lặp lại vô tận mặc dù trạng thái của phím nhấn 3 thay đổi cho tới khi có thay đổi trên phím 6 và phím 7)
                  nếu phím 4 nhấn (P3^3=1) thì: {P0^3=1, nhấp nháy 1 giây}, {P2^3=1, không nháy}, {P1^1=1, nháy với chu kỳ 2 giây}. (quá trình được lặp lại vô tận mặc dù trạng thái của phím nhấn 4 thay đổi cho tới khi có thay đổi trên phím 6 và phím 7)
                  nếu phím 5 nhấn (P3^4=1) thì: {P0^0=P0^1=P0^2=P0^3=1, nhấp nháy 1 giây}, {P2^0=P2^1=P2^2=P2^3=0}, {P1^1=1, nháy với chu kỳ 2 giây}. (quá trình được lặp lại vô tận mặc dù trạng thái của phím nhấn 5 thay đổi cho tới khi có thay đổi trên phím 6 và phím 7).
                  khi phím 6 được nhấn (p3^5=1) thì: {các P0^X ở trên không nhấp nháy mà cố định =1, P1^1=0 không nháy nữa.
                  khi phím 7 được nhấn (P3^6=1) thì: tất cả trở lại trạng thái xác lập ban đầu.

                  Xin nhờ các cao thủ chỉ giáo với, đau đầu cả tháng nay nhưng do trình độ có hạn nên không giải quyết được.
                  cảm ơn rất rất nhiều
                  Phím ma trận hay phím rời nhỉ

                  Comment


                  • phím rời ạ, lập trình bằng ngôn ngữ C, anh giúp em với nhé.

                    Comment


                    • Chào các bạn
                      Mình là người ngoại đạo nhưng cũng rất thích VDK. Mình đang vật lộn với 89S52, nhưng vẫn mù mịt quá. Mình đang muốn làm mạch 89S52 điều khiển 8 rơ le 5V bằng nút ấn. Ví dụ: các nút ấn được gắn trên port 1 từ P1.0 đến P1.7. điều khiển tương ứng các rơ le gắn trên Port 2 từ P2.0 đến P2.7 như sau: ấn P1.0 thì RL tại P2.0 đóng, ấn P1.0 lần nữa thì P2.0 tắt, các nút khác và rơ le khác tương tự. Các bạn làm ơn chỉ giúp. Xin đa tạ

                      Comment


                      • Nguyên văn bởi vietyen125 Xem bài viết
                        Chào các bạn
                        Mình là người ngoại đạo nhưng cũng rất thích VDK. Mình đang vật lộn với 89S52, nhưng vẫn mù mịt quá. Mình đang muốn làm mạch 89S52 điều khiển 8 rơ le 5V bằng nút ấn. Ví dụ: các nút ấn được gắn trên port 1 từ P1.0 đến P1.7. điều khiển tương ứng các rơ le gắn trên Port 2 từ P2.0 đến P2.7 như sau: ấn P1.0 thì RL tại P2.0 đóng, ấn P1.0 lần nữa thì P2.0 tắt, các nút khác và rơ le khác tương tự. Các bạn làm ơn chỉ giúp. Xin đa tạ
                        Chào Bạn ! Không biết bạn viết bằng C hay ASM và mạch bạn làm tích cực mức thấp hay cao. Mình có code C với nút nhấn tích cực mức thấp, bạn tham khảo xem sao :

                        Code này :
                        PHP Code:
                        sbit    sw_relay1    P1^0;

                        sbit    relay1        P2^0;

                        unsigned char set1=1,set0=1;

                        void quet_phim()
                        {
                            
                        set0=set1;set1=sw_relay1;
                            if((
                        set0==1)&&(set1==0))
                              {
                                
                        relay1=~relay1;
                              }

                        Hoặc code này :
                        PHP Code:
                        sbit    sw_relay1    P1^0;

                        sbit    relay1        P2^0;

                        unsigned char sw=0;

                        while(
                        sw_relay1==0){sw=1;}

                        if(
                        sw==1){relay1=~relay1;sw=0;} 
                        Last edited by tramng; 01-03-2014, 18:22.

                        Comment


                        • Chào các bạn, mình có 1 vấn đề mong các bạn giúp đỡ, mình muốn 1 chân P0_3 của VĐK cho đầu ra với 1 xung với chu kỳ là 1 s (với P3_3 ở mức thấp) , và khi chân P3_3 có mức điện áp ở ngưỡng cao thì đầu ra của chân P0_3 cho điện áp liên tục (không phải xung nữa) ở ngưỡng cao,

                          Comment


                          • Cảm ơn tramng! Mình cũng dùng C. Nhưng quét phím thì mình chưa tìm hiểu. Code thứ 2 mình hiểu hơn. Cảm ơn tramng nhiều nhiều

                            Comment


                            • Cảm ơn tramng! Mình cũng dùng C. Nhưng quét phím thì mình chưa tìm hiểu. Code thứ 2 mình hiểu hơn. Cảm ơn tramng nhiều nhiều

                              Comment


                              • trước em có học tí về lập trình C, ; làm trên dev C với visua C rồi. em hỏi ngu cái là code này viết bằng 2 phần mềm đó được không, hay dùng keil C mới viết được

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X