điều khiển led... help....

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • hungvu
    Thành viên mới
    • Feb 2008
    • 15

    #1

    điều khiển led... help....

    dùng keil c để lập trình cho con 89s51 mình muốn làm cho các led bật tắt nhưng phải bật từ tối rồi từ từ sáng hẳn lên sau đó lại yếu từ từ cho đến lúc tắt hẳn viết bằng c mọi ngưới giúp với...
  • saobanmai
    Thành viên chính thức
    • Apr 2007
    • 95

    #2
    Nguyên văn bởi hungvu Xem bài viết
    dùng keil c để lập trình cho con 89s51 mình muốn làm cho các led bật tắt nhưng phải bật từ tối rồi từ từ sáng hẳn lên sau đó lại yếu từ từ cho đến lúc tắt hẳn viết bằng c mọi ngưới giúp với...
    Bạn có thể dùng PWM để điều khiển LED , Bạn lập trình để xuất liên tục các xung , sau một số xung xác định nào đó tùy theo mức độ nhanh hay chậm mà bạn muốn , bạn tăng thời gian xung mức "1" lên và giảm thời gian xung mức"0"
    xuống cho đến khi LED của bạn tắt hẳn thì không xuất xung nữa .
    Chúc thành công !

    Comment

    • hungvu
      Thành viên mới
      • Feb 2008
      • 15

      #3
      mình chỉ mới bắt đầu tìm hiểu về vdk thôi, mình tìm hiểu bằng cách tự học qua các ví dụ về lập trình điều khiển led, còn PWM la gi vậy? bạn hướng dẫn kỹ hơn cho mình về điều khiển led kiểu này đi có ví dụ càng tốt he.he..

      Comment

      • tallht
        Thành viên mới
        • Apr 2008
        • 361

        #4
        Pwm Có Nghĩa Là điều Chế độ Rộng Xung! đó Là Nghĩa Chính Xác Của Nó! Cho Sườn Xung Lên Từ Từ để Led Sáng Dần Rùi Giảm Từ Từ để Led Tắt Dần.chuc Bạn Vui!
        SỰ HỌC LÀ MÃI MÃI......!!!!

        Comment

        • rongconn2t
          Banned
          • Apr 2008
          • 278

          #5
          có bác nào biết điều xung PWM bằng C không ạ.em sd keil C3 mà không biết điều kiểu gì
          thank

          Comment

          • nghaiha
            Thành viên tích cực
            • Jul 2006
            • 744

            #6
            Nguyên văn bởi tallht Xem bài viết
            Pwm Có Nghĩa Là điều Chế độ Rộng Xung! đó Là Nghĩa Chính Xác Của Nó! Cho Sườn Xung Lên Từ Từ để Led Sáng Dần Rùi Giảm Từ Từ để Led Tắt Dần.chuc Bạn Vui!
            Có phải như vậy không nhỉ? hiihihihi
            Email: - Mobil: tạm thời ngừng liên lạc 1 thời gian
            Giới thiệu website kiếm tiền trực tuyến & tăng thứ hạng website.

            Comment

            • hiodong
              Thành viên tích cực
              • Sep 2005
              • 433

              #7
              Nguyên văn bởi tallht Xem bài viết
              Pwm Có Nghĩa Là điều Chế độ Rộng Xung! đó Là Nghĩa Chính Xác Của Nó! Cho Sườn Xung Lên Từ Từ để Led Sáng Dần Rùi Giảm Từ Từ để Led Tắt Dần.chuc Bạn Vui!
              Cái này là DAC chứ đâu phải PWM nhỉ?
              thuật toán PWM rất đơn giản :
              ...-tạo sườn lên - delay(Tc) -tạo sườn xuống - delay(Tt) .... lặp lại nhiều lần
              tỉ lệ PWM ở đây là Tc / (Tc+Tt)
              Cung cấp Oscilocope , Inverter , Switching , DC power supply , AC millivolt meter ....

              Comment

              • mabudaica
                Thành viên mới
                • Sep 2008
                • 18

                #8
                bác nào có một bài đã được mô phỏng bằng protues về vấn đề này không?

                Comment

                • Mr Bom
                  Thành viên chính thức
                  • Aug 2007
                  • 69

                  #9
                  PWM - Puse Width Modulation: Điều chế độ rộng xung, làm thay đổi độ rộng xung hay thay đổi tỉ số giữa T_on và T_off.

                  Bác ngó qua thử code này xem.

                  LED sẽ từ tối chuyển thành sáng một cách từ từ.

                  #include <AT89X51.H>

                  //================== HAM DELAY ===================================

                  void delay(unsigned char time)
                  {while(time--)
                  {unsigned temp = 121;
                  while(temp--);} }


                  //=================== HAM MAIN ===================================

                  void main()
                  {
                  unsigned int i;

                  P2_0 = 0; delay(1000); // Tai thời điểm t = 0: led ta't

                  for (i=0; i<=1000; i+=10)
                  {
                  P2_0 = 1; // t_on: thoi gian o muc' 5V
                  delay(i);
                  P2_0 = 0; // t_off: thoi gian o muc' 0V
                  delay(1000 - i);
                  }

                  P2_0 = 1;

                  }
                  __]\/[|2. |3()]\/[__

                  Comment

                  Về tác giả

                  Collapse

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

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

                  Collapse

                  Đang tải...