Thông báo

Collapse
No announcement yet.

Mình muốn dùng Timer trong 89c51 để tạo xung CLK cho ADC0808

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

  • Mình muốn dùng Timer trong 89c51 để tạo xung CLK cho ADC0808

    chào các bạn , đồ án của mình là dùng ADC0808 và 89c51 để đo điện áp trên 8 kênh vào, mình đã viết xong code nhưng trong bài mình thì con ADC được cấp xung CLK ngoài , nay mình muốn dùng chính con 89c51 để cấp xung 500KHz cho ADC bằng timer thì có được không? phải đảm bảo các lệnh khác hoạt động bình thường mà không ảnh hưởng đến xung của ADC (gần như kiểu chạy 2 chương trình cùng lúc ấy ) ai biết chỉ mình với, có đoạn code ASM thì càng tốt

  • #2
    Nguyên văn bởi minh_mh Xem bài viết
    chào các bạn , đồ án của mình là dùng ADC0808 và 89c51 để đo điện áp trên 8 kênh vào, mình đã viết xong code nhưng trong bài mình thì con ADC được cấp xung CLK ngoài , nay mình muốn dùng chính con 89c51 để cấp xung 500KHz cho ADC bằng timer thì có được không? phải đảm bảo các lệnh khác hoạt động bình thường mà không ảnh hưởng đến xung của ADC (gần như kiểu chạy 2 chương trình cùng lúc ấy ) ai biết chỉ mình với, có đoạn code ASM thì càng tốt
    đây là code đo nhiệt độ dùng lm35, ad bằng adc0809, hiển thị LCD.
    xung cho adc do dùng CPL bit P1.2 để tạo ra
    dùng timer mode auto reload, cứ đến ngắt timer thì CPL cái bit P1.2 nối với chân CLK của ADC
    "gần như kiểu chạy 2 chương trình cùng lúc ấy" mà bác nói chính là interrupt đấy, còn gọi là ngắt
    ; Chuc nang cua chuong trinh: Do nhiet do moi truong bang LM35 va hien thi tren text LCD
    ; Ket noi day:
    ; LM35:
    ; * OUT cua LM35 ----> IN7 cua ADC
    ; LCD:
    ; * EN cua LCD ----> P2.0 cua 8051
    ; * RW cua LCD ----> P2.2 cua 8051
    ; * RS cua LCD ----> P2.4 cua 8051
    ; * Port data cua LCD (D0-D7) ----> Port 0 cua 8051
    ; ADC:
    ; * Port dieu khien cua ADC (EOC,A0,CLK,A1,ALE,A2,STR,OE) ----> Port 1 cua 8051
    ; * Port data cua ADC (D0-D7) ----> Port 3 cua 8051
    ; Luu y: Vref+ cua ADC = 1.28V
    // LCD
    EN_LCD BIT P2.0
    RW_LCD BIT P2.2
    RS_LCD BIT P2.4
    // ADC
    EOC_ADC BIT P1.0
    CLK_ADC BIT P1.2
    ALE_ADC BIT P1.4
    STR_ADC BIT P1.6
    A0_ADC BIT P1.1
    A1_ADC BIT P1.3
    A2_ADC BIT P1.5
    OE_ADC BIT P1.7
    // DATA BUS
    ADC EQU P3
    LCD EQU P0

    ORG 0000H
    JMP MAIN
    ORG 000BH ;Interrupt vector of Timer 0
    T0ISR: CPL CLK_ADC
    RETI
    ORG 0030H
    MAIN: MOV TMOD,#02H
    MOV TH0,#(-1)
    SETB TR0
    MOV IE,#82H

    LCD_ADC:
    // LAY DATA TU ADC
    SETB A0_ADC
    SETB A1_ADC
    SETB A2_ADC
    CLR ALE_ADC // CHO ALE=0
    CLR STR_ADC // CHO START=0
    SETB ALE_ADC // CHO ALE=1 DE CHOT NGO VAO CHO ADC
    SETB STR_ADC // CHO START=1 DE RESET ADC
    CLR ALE_ADC // CHO ALE=1
    CLR STR_ADC // CHO START=0 DE BAT DAU CHUYEN DOI
    JNB EOC_ADC,$ // CHO CHO DEN KHI ADC CHUYEN DOI XONG
    SETB OE_ADC // CHO OE=1 DE DU LIEU RA TU ADC
    MOV A,ADC // LAY DU LIEU TU ADC VAO A
    //TINH TOAN
    MOV B,#20 // MOV VAO B GIA TRI 51, TUONG UNG VOI 1000MV, STEP LA 20mV
    DIV AB // CHIA DE TRICH XUAT CO SO CUA 1000MV
    MOV R7,A // DAT R7 LA SO HANG NGAN mV
    MOV A,B // MOV SO DU VAO A DE CHIA TIEP
    MOV B,#2 // MOV VAO B GIA TRI 5, TUONG UNG VOI 100MV
    DIV AB // CHIA DE LAY CO SO CUA 100mV
    MOV R6,A // DAT R6 LA SO HANG TRAM mV
    //MOV R5,B
    MOV A,R7 // DUA R7 VAO A DE THUC HIEN TINH NHAN
    ADD A,#30H // CONG VAO GIA TRI 30H DE PHU HOP VOI CGROM CUA LCD
    MOV R7,A // TRA KET QUA SAU KHI NHAN VE R7 DE LAT NUA HIEN THI
    MOV A,R6 // DUA R6 VAO A DE THUC HIEN TINH NHAN
    ADD A,#30H // CONG VAO GIA TRI 30H DE PHU HOP VOI CGROM CUA LCD
    MOV R6,A // TRA KET QUA SAU KHI NHAN VE R6 DE LAT NUA HIEN THI
    // KHOI DONG LCD
    MOV A,#38H // MODE 8 BIT, 2 DONG, FONT 5x8
    CALL GUILENH
    MOV A,#0CH // KHONG HIEN CURSOR, KHONG BLINKING
    CALL GUILENH
    MOV A,#06H // HIEN THI TANG VA KHONG SHIFT
    CALL GUILENH
    MOV A,#01H // XOA MAN HINH
    CALL GUILENH
    // HIEN THI LCD
    MOV A,#'T'
    CALL HIENTHI
    MOV A,#'E'
    CALL HIENTHI
    MOV A,#'M'
    CALL HIENTHI
    MOV A,#':'
    CALL HIENTHI
    MOV A,#' '
    CALL HIENTHI
    MOV A,R7 // HIEN THI SO CHUC DO
    CALL HIENTHI
    MOV A,R6 // HIEN THI SO DO
    CALL HIENTHI
    MOV A,#0DFH
    CALL HIENTHI
    MOV A,#'C' // HIEN THI CHU C
    CALL HIENTHI
    CALL DELAY
    JMP LCD_ADC
    GUILENH:
    CALL KTLCDF // KIEM TRA XEM LCD CO RANH KHONG
    MOV LCD,A // GUI VAO P0 DE CHO GUI
    CLR RS_LCD // RS=0 DE GUI LENH
    CLR RW_LCD // GHI DU LIEU VAO LCD NEN RW=0
    SETB EN_LCD // TAO XUNG CAO
    CLR EN_LCD // XUONG THAP DE BAT DAY GUI
    RET
    HIENTHI:
    CALL KTLCDF // KIEM TRA XEM LCD CO RANH KHONG
    MOV LCD,A // GUI VAO P0 DE CHO GUI
    SETB RS_LCD // RS=1 DE GUI DATA (HIEN THI)
    CLR RW_LCD // GHI DU LIEU VAO LCD NEN RW=0
    SETB EN_LCD // TAO XUNG CAO
    CLR EN_LCD // XUONG THAP DE BAT DAY GUI
    RET
    KTLCDF:
    SETB P0.7 // GIA SU P0.7 LA HIGH
    CLR RS_LCD // DOC CO BF NEN RS=0
    SETB RW_LCD // DOC DU LIEU TU LCD NEN RW=1
    BACK: CLR EN_LCD // DUA XUNG XUONG THAP
    SETB EN_LCD // DUA XUNG LEN CAO
    JB P0.7, BACK // NEU VAN CHUA LCD CHUA RANH THI TIEP TUC CHO
    RET

    DELAY:
    MOV R1,#3
    AGAIN2:
    MOV R2,#233
    AGAIN1:
    MOV R3,#255
    DJNZ R3,$
    DJNZ R2,AGAIN1
    DJNZ R1,AGAIN2
    RET
    END

    Comment


    • #3
      thank bạn hình như đúng rồi đấy để mình thử xem nào

      Comment


      • #4
        Nguyên văn bởi minh_mh Xem bài viết
        thank bạn hình như đúng rồi đấy để mình thử xem nào
        bao đúng, mình test trên kit lâu này mà

        Comment

        Về tác giả

        Collapse

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

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

        Collapse

        • mèomướp
          Trả lời cho Công thức điện tử
          bởi mèomướp
          Dạ thời thế giờ thay đổi theo hướng tích cực hơn rồi chú trung sĩ ạ. Kiến thức được chia sẻ ngày càng nhìu nên làm ăn gian dối ko còn dễ dàng như trước đâu ạ. Những thợ nhỏ rồi sẽ thành công nhân sản xuất đồ mới hết thay vì sửa chữa lặt vặt...
          Hôm qua, 21:21
        • mèomướp
          Trả lời cho Xin hỏi về màn hình laptop
          bởi mèomướp
          Dạ cùng chuẩn tín hiệu thì chắc chắn là nhận ạ. Vì bản chất oled hay lcd thì đều phải có mạch chuyển đổi trên thanh gỗ rồi chuyển sang những chip xử lý hàng nghìn chân gắn trên những tab mỏng dính rồi mới ra các điểm ảnh theo hàng...
          Hôm qua, 20:31
        • yname11
          Trả lời cho Xin hỏi về màn hình laptop
          bởi yname11
          Ok , thanks bác đã chỉ...
          Hôm qua, 15:06
        • nguyendinhvan
          Công thức điện tử
          bởi nguyendinhvan
          Sau bao năm nghiên cứu cái dtvn. Tôi phát hiện công thức này. Các anh em xem đúng bao nhiêu phần trăm nhé !

          Chập thì thay. Cháy thì tháo
          Làm thì láo. Báo thì hay
          May thì khoe. Rủi thì bỏ
          Thành tích nhỏ. Báo thành to
          Làm cho có. Báo chi li
          Sai cả li. Báo
          ...
          Hôm qua, 00:35
        • yname11
          Trả lời cho Xin hỏi về màn hình laptop
          bởi yname11
          có chắc ko b, màn lcd phải có cao áp mới sáng, màn led thì ko có, ko có cáp chuyển đổi thì lắp thế nào đc ??...
          25-11-2024, 22:31
        • mèomướp
          Trả lời cho Xin hỏi về màn hình laptop
          bởi mèomướp
          Dạ ý chú là màn oled ấy ạ. Cùng chuẩn lvds cùng độ phân giải thì cắm được ạ. Còn nó mà khác thì hơi khó vì oled các điểm ảnh nó tự phát sáng chứ ko dùng đèn nền như lcd. Cháu chỉ biết đến vậy thôi ạ. Chú muốn nghịch phải tự tìm hiểu kỹ trước khi mua thôi, khó mà ông thợ nào tư vấn vụ này...
          25-11-2024, 22:14
        • bactho
          Trả lời cho Tự làm máy đo Cuộn cảm
          bởi bactho
          Hay đấy bạn ạ. Đây có thể hiểu là máy đo cuộn dây. Tiện đây xin cho hỏi bạn có hiểu rõ về máy nạp rôm pcb 45 của hãng thiên minh không giúp mình cách cài fw của nó với vì mình vừa được anh bạn cho nhưng lại không biết cài fw nên chưa dùng được. Nếu có thể thì bạn giúp mình với...
          25-11-2024, 21:48
        • yname11
          Trả lời cho Xin hỏi về màn hình laptop
          bởi yname11
          màn của mình là LCD , giờ m muốn mua màn LED để thay thế (ko muốn dùng màn LCD nữa) , lên muốn hỏi xem có cáp chuyển đổi nào có thể cắm đc màn LED vào ko , tất nhiên phải có cùng số chân pin với màn cũ rồi . VD: màn cũ là lcd mỏng , 40 pin...
          25-11-2024, 21:43
        • bactho
          Trả lời cho các bạn giúp mình về file HEX với!!!
          bởi bactho
          Bạn vào trang phuclanshop.com ,tìm đến góc kỹ thuật. Tác giả vương khánh hưng nói rất rõ về điều bạn tìm...
          25-11-2024, 21:21
        • mèomướp
          Trả lời cho Xin hỏi về màn hình laptop
          bởi mèomướp
          Dạ màn hình lcd đều có thể lai cấy cho nhau được hết ạ. Các loại cáp, bo mạch chuyển đổi lvds rất nhìu, với dòng sony còn phải nhổ cả chip nhớ của main cũ đưa lên gỗ thì mới lắp sang máy khác đc, chưa kể các bệnh về màu... ngay cả...
          25-11-2024, 20:43
        Đang tải...
        X