Thông báo

Collapse
No announcement yet.

cách xách định dung lượng thực của pin

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

  • cách xách định dung lượng thực của pin

    tình hình là các loại pin Ni-xx ở ngoài thi trường đề không ghi đúng dung lượng thực, nên em mún hòi có cách nào nhanh nhât giúp xách định dc dung lượng thực của pin đó hông

  • #2
    Bạn tham khảo đoạn code này nếu khó khăn hãy liên hệ :
    ;chuong trinh test dung luong cua pin AAA
    START BIT P3.6 ;pin 6 cua adc
    ALE BIT P3.7 ;pin 22 cua adc
    RS EQU P3.0
    RW EQU P3.1
    EN EQU P3.2

    ORG 0000h
    LJMP MAIN
    ORG 000BH
    LJMP Giay
    MAIN: mov P2,#255
    lcall khoi_tao
    mov 10h,#0
    mov 11h,#0
    mov 12h,#0
    mov 20h,#0
    mov 21h,#0
    mov 22h,#0
    mov 23h,#0
    mov 24h,#0
    mov 25h,#0
    mov 26h,#0


    lcall xoa_lcd
    lcall hien_thi_1
    Lcall xuong_dong
    lcall hien_thi_2

    ;.......khai bao ngat.......................

    MOV IE,#82H
    MOV TMOD,#01H
    MOV R1,#20
    MOV TL0,#LOW(-46000)
    MOV TH0,#HIGH(-46000)
    SETB TR0
    MAIN_1:
    jb p1.1,tt
    lcall GIO_PHUT_GIAY

    tt: lcall doc_adc
    mov a,20h
    mov b,#100
    div ab
    add a,#'0'
    mov 10h,a
    mov a,b
    mov b,#10
    div ab
    add a,#'0'
    mov 11h,a
    mov a,b
    add a,#'0'
    mov 12h,a

    mov a,#0cAh
    lcall ghi_lenh_lcd
    lcall delay
    mov a,10h
    lcall ghi_dulieu
    lcall delay
    mov a,11h
    lcall ghi_dulieu
    lcall delay
    mov a,12h
    lcall ghi_dulieu
    lcall delay


    mov r3,20h
    mov a,r3
    cjne a,#11001000b,thoat_1 ;11001000 tuong ung voi dien ap cua pin=2v
    dung: lcall xoa_lcd
    lcall hien_thi_3
    Lcall xuong_dong
    lcall hien_thi_4
    lcall delay_1
    lcall GIO_PHUT_GIAY
    clr tr0
    lcall delay_1
    sjmp dung
    thoat_1:ljmp main_1

    ;........truong trinh ngat..........

    Giay: MOV TL0,#LOW(-46000)
    MOV TH0,#high(-46000)
    DJNZ R1,exit
    MOV R1,#20
    CPL P1.0

    INC 21H
    MOV A,21H
    CJNE A,#10,exit
    MOV 21H,#0

    INC 22H
    MOV A,22H
    CJNE A,#6,exit ;60 giay
    MOV 22H,#0

    INC 23H
    MOV A,23H
    CJNE A,#10,exit
    MOV 23H,#0

    INC 24H
    MOV A,24H
    CJNE A,#6,exit ;60 phut
    MOV 24H,#0

    INC 25H
    MOV A,25H
    CJNE A,#10,exit
    MOV 25H,#0

    INC 26H
    MOV A,26H
    CJNE A,#9,exit ;90 Gio
    MOV 26H,#0

    exit: reti

    ;.....doan ch/tr hien thi so gio test.....

    GIO_PHUT_GIAY:

    lcall xoa_lcd
    lcall hien_thi_5
    Lcall xuong_dong
    lcall vitri_lcd_1
    mov a,26h
    add a,#'0'
    lcall GHI_DULIEU

    mov a,25h
    add a,#'0'
    lcall GHI_DULIEU
    mov a,#'H'
    lcall GHI_DULIEU
    MOV A,#' '
    lcall GHI_DULIEU

    mov a,24h
    add a,#'0'
    lcall GHI_DULIEU

    mov a,23h
    add a,#'0'
    lcall GHI_DULIEU
    mov a,#'M'
    lcall GHI_DULIEU
    MOV A,#' '
    lcall GHI_DULIEU

    mov a,22h
    add a,#'0'
    lcall GHI_DULIEU

    mov a,21h
    add a,#'0'
    lcall GHI_DULIEU
    mov a,#'S'
    lcall GHI_DULIEU
    MOV A,#' '
    lcall GHI_DULIEU

    lcall delay_1
    lcall xoa_lcd
    lcall hien_thi_1
    Lcall xuong_dong
    lcall hien_thi_2
    RET
    ;..................................

    vitri_lcd_1:
    mov a,#0c2h
    lcall GHI_LENH_LCD

    ret

    ;................................................. ............
    khoi_tao:
    MOV A,#01H ;xoa man hinh
    LCALL GHI_LENH_LCD
    MOV A,#38H
    LCALL GHI_LENH_LCD
    MOV A,#0CH
    LCALL GHI_LENH_LCD
    MOV A,#06H ;bat hien thi
    LCALL GHI_LENH_LCD
    MOV A,#0EH
    LCALL GHI_LENH_LCD
    ret

    hien_thi_1:
    MOV R0,#0
    TT_1: MOV A,R0
    MOV DPTR,#MYDATA_1
    movc a,@a+dptr
    LCALL GHI_DULIEU
    INC R0
    CJNE R0,#16,TT_1
    RET

    hien_thi_2:
    MOV R0,#0
    TT_2: MOV A,R0
    MOV DPTR,#MYDATA_2
    movc a,@a+dptr
    LCALL GHI_DULIEU
    INC R0
    CJNE R0,#16,TT_2
    RET

    hien_thi_3:
    MOV R0,#0
    TT_3: MOV A,R0
    MOV DPTR,#MYDATA_3
    movc a,@a+dptr
    LCALL GHI_DULIEU
    INC R0
    CJNE R0,#16,TT_3
    RET

    hien_thi_4:
    MOV R0,#0
    TT_4: MOV A,R0
    MOV DPTR,#MYDATA_4
    movc a,@a+dptr
    LCALL GHI_DULIEU
    INC R0
    CJNE R0,#16,TT_4
    RET

    hien_thi_5:
    MOV R0,#0
    TT_5: MOV A,R0
    MOV DPTR,#MYDATA_5
    movc a,@a+dptr
    LCALL GHI_DULIEU
    INC R0
    CJNE R0,#16,TT_5
    RET


    DOC_ADC:
    SETB ALE
    NOP
    NOP
    SETB START
    LCALL DL1MSS
    CLR ALE
    CLR START
    LCALL DL1MSS
    mov 20h,p2 ;luu vao o nho 20h
    RET

    GHI_LENH_LCD:
    ;DOC CO BAN
    MOV P0,A ;dua ra port 0
    CLR RS ;LENH
    CLR RW ;=0 GHI
    SETB EN
    CLR EN
    LCALL READY ;DOC CO BAN
    RET
    GHI_DULIEU: ;data strobe

    MOV P0,A
    SETB RS ;DU LIEU
    CLR RW ;R/W=0 to write to LCD
    SETB EN
    CLR EN
    LCALL READY ;kiem tra co ban
    RET
    ;kiem tra co ban
    DAU_DONG:
    MOV A,#80H
    MOV P0,A
    clr RS
    CLR RW ;R/W=0 to write to LCD
    SETB EN
    CLR EN
    lCALL READY ;kiem tra co ban
    RET

    XUONG_DONG:
    MOV A,#0C0H
    MOV P0,A
    clr RS
    CLR RW ;R/W=0 to write to LCD
    SETB EN
    CLR EN
    LCALL READY ;kiem tra co ban
    RET
    xoa_lcd:
    mov a,#1h
    MOV P0,A
    clr RS
    CLR RW ;R/W=0 to write to LCD
    SETB EN
    CLR EN
    LCALL READY ;kiem tra co ban
    RET

    READY: SETB P0.7 ;P0.7: input
    CLR RS ;RS=0: thanh ghi le^.nh
    SETB RW ;R/W=1: ddo.c
    BACK:
    CLR EN ;E=0 -> ta.o ca.nh le^n
    SETB EN ;E=1
    JB P0.7,BACK ;cho co ban =0
    RET

    dl1msS: mov r7,#250 ;250
    MOV R6,#3
    loop1msS:djnz r7,$
    MOV R7,#250
    DJNZ R6,LOOP1MSS
    ret
    delay:

    MOV R6,#255
    DL1: MOV R7,#255
    DL2: DJNZ R7,DL2
    DJNZ R6,DL1
    RET

    delay_1:
    mov r5,#40
    ql_1: MOV R6,#255
    DL3: MOV R7,#255
    DL4: DJNZ R7,DL4
    DJNZ R6,DL3
    djnz r5,ql_1
    RET

    ;ORG 250H
    MYDATA_1:
    DB "Testting Pin AAA"
    MYDATA_2:
    DB "R=155 U> 0mV"

    MYDATA_3:
    DB "Dien ap:=2000 mV"
    MYDATA_4:
    DB "Stop Test Pin 3A "
    MYDATA_5:
    DB " Thoi Gian Test "


    end

    Comment


    • #3
      ý em hỏi là xác đìn dung lượng thực của pin bằng các dụng cụ có sẳn như dồng hồ đo chẳng hạn

      Comment


      • #4
        Tot nhat la dung vom ma do chinh xac nhat ban a
        Kết Nối Dân Kỹ Thuật tại facebook để Trao đổi - học hỏi

        Thích chém gió bốn phương zô đây

        Comment


        • #5
          Dung lượng của PIN thường kí hiệu là mAh. Ví dụ pin điện thoại 1600mAh. nếu thiết bị của bạn dùng 20mA thì thời gian sử dụng là 1600/20=80h~3ngày thì sẽ cạn.

          Bạn cứ kéo 1 dòng khoảng 100mA. Rồi đo điện áp khi nào Pin cạn thì bạn tính được dung lượng ngay chả phải MCU làm gì cả ( mà MCU làm gì mà chính xác)
          Hi vọng bài viết giúp X được cho bạn.

          Comment

          Về tác giả

          Collapse

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

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

          Collapse

          Đang tải...
          X