Thông báo

Collapse
No announcement yet.

Mạch đo tần số điện lưới dùng MCU

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

  • #46
    Sao cậu không dùng phưong pháp ngắt đó nó chính xác hơn nhiều không ! Không địng thời không chính xác lắm ! Dùng counter là đếm bao nhiêu số cùng xong mà ( nhưng số này bị giới hạn bởi chính thạch anh ) .
    Mạch nạp Little Programmer
    MSC-51,AVR,EEPROM ... etc

    Site Fukusei shop :

    Comment


    • #47
      Quên nữa ngắt cạnh xung đó !
      Mạch nạp Little Programmer
      MSC-51,AVR,EEPROM ... etc

      Site Fukusei shop :

      Comment


      • #48
        Ơ, sao không ai đả động gì đến cái RTOS nhỉ, RTOS sinh ra để làm mấy cái trò này cơ mà. Lúc đó hệ của bạn không những chỉ có LCD, phím mà thêm cái quái gì vào cũng được và sẽ đảm bảo chúng đều được đáp ứng đúng thời hạn.

        Comment


        • #49
          Tôi dùng mạch trong cuốn "Bách khoa mạch điện...". Mạch này có ưu điểm bắt chính xác điểm "0". Sau đó đưa vào chân ngắt ngoài P3.2 thì phải.
          Cách 1:
          - Đầu tiên, có một cờ cho phép đo tần số. Thỉnh thoảng theo yêu cầu của bài toán của mình, cờ này được treo lên hay hạ xuống.
          - Khi có cờ treo. Cho phép ngắt ngoài.
          - Khi xảy ra ngắt, khởi động timer.
          - Sau đó, lại xảy ra ngắt (được 1 chu kỳ), dừng timer, hạ cờ đo tần số. Nếu chu kỳ 50 Hz, với quatz 12 MHz, ta có trị số đếm được là 20.000. Quá đủ chính xác.

          Cách 2: Khi muốn đo tần số, ta kiểm tra chân P3.2 để bắt điểm sườn xuống, do thời điểm bắt đầu muốn đo không biết được là đang ở khoảng nào của chu kỳ, nên phải có mấy lệnh jb, jnb để chắc chắn bắt được sườn xuống.
          - jb P3.2,$
          jnb P3.2, $
          jb P3.2,$
          ... Tiếp theo đây là cho phép Timer hoạt động để đếm.


          jb p3.3,$ ; Neu luoi=1 thi cho khi luoi=0
          jnb p3.3,$ ; Neu luoi=0 thi cho khi luoi=1
          jb p3.3,$ ; Neu luoi=1 thi cho khi luoi=0

          setb TR1 ; Khoi dong Timer1 de dem tan so

          jnb p3.3,$ ; Neu luoi=0 thi cho khi luoi=1
          jb p3.3,$ ; Neu luoi=1 thi cho khi luoi=0
          clr TR1 ; Dung timer dem tan so
          ; Đọc các thanh ghi của Timer để tính toán.
          Last edited by Amateur; 28-02-2006, 00:47.
          Sudden wake-up at night
          Open window for my teacher!

          Comment


          • #50
            Intel có một cái AN khá hay về ứng dụng này.Tuy nhiên, MCU của bạn phải có PCA thì mới khai thác được cái hay của nó. Đây là link để bạn tham khảo:
            http://www.intel.com/design/mcs51/applnots/27085101.PDF.

            Take care,
            T.L

            Comment


            • #51
              BẠN TRANG ƠI XEM HỘ CÁI NÀY NHÉ
              MÌNH TAM THỜI DÙNG 3 POST ĐỂ XEM KẾT QUẢ MÀ NÓ CỨ NHẢY TỨ TUNG, MÌNH DÙNG PROTES ĐỂ MO PHỎNG MÀ
              RG 0000H
              LJMP CHUONG_TRINH_CHINH

              ORG 0003H
              MOV TL0,#0 ; XOA BO DEM
              MOV TH0,#0
              SETB TR0 ;EP CHAY TIME0
              RETI

              ORG 0013H
              CLR TR0 ; EP DUNG TIME0
              RETI


              ;----------------------------

              ORG 0030H
              CHUONG_TRINH_CHINH:


              SETB TCON.0 ;NGAT CA HAI
              SETB TCON.2 ;THEO SUON
              MOV TMOD,#01 ;Cho phep dinh thoi ca hai che do 16 bit
              MOV P1,#0FFH ;Lay p1 lam cong vao
              MOV P3,#0FFH ;SAN SANG CHO NGAT THEO MUC

              DEM:
              MOV IE,#10000001B ;CHO PHEP NGAT NGOAI INT0


              CLR P1.0 ;EP TAO XUNG CUA SO
              SETB P1.0

              MOV IE,#10000100B ;CHO PHEP NGAT NGOAI INT1

              MOV P0,TL0
              MOV P2,TH0


              SJMP DEM


              END
              |

              Comment

              Về tác giả

              Collapse

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

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

              Collapse

              Đang tải...
              X