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

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • long_trinh
    Thành viên mới
    • Nov 2013
    • 2

    #166
    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

    • 31101992
      Banned
      • Dec 2012
      • 96

      #167
      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

      • tmtm
        Thành viên chính thức
        • Dec 2006
        • 59

        #168
        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

        • taingay12332
          Thành viên mới
          • Oct 2011
          • 0

          #169
          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

          • mykhanh
            Thành viên mới
            • Feb 2014
            • 28

            #170
            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

            • kimsonbk
              Thành viên mới
              • Jan 2014
              • 6

              #171
              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í

              Comment

              • 31101992
                Banned
                • Dec 2012
                • 96

                #172
                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...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

                • 31101992
                  Banned
                  • Dec 2012
                  • 96

                  #173
                  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

                  • mykhanh
                    Thành viên mới
                    • Feb 2014
                    • 28

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

                    Comment

                    • vietyen125
                      Thành viên mới
                      • Jan 2014
                      • 113

                      #175
                      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

                      • tramng
                        Thành viên chính thức
                        • Jan 2014
                        • 90

                        #176
                        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, 17:22.

                        Comment

                        • mykhanh
                          Thành viên mới
                          • Feb 2014
                          • 28

                          #177
                          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

                          • vietyen125
                            Thành viên mới
                            • Jan 2014
                            • 113

                            #178
                            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

                            • vietyen125
                              Thành viên mới
                              • Jan 2014
                              • 113

                              #179
                              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

                              • bkhust56
                                Thành viên mới
                                • Feb 2014
                                • 24

                                #180
                                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

                                There are no results that meet this criteria.

                                Đang tải...