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
Thông báo
Collapse
No announcement yet.
cách xách định dung lượng thực của pin
Collapse
X
-
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
-
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
Bài viết mới nhất
Collapse
-
Trả lời cho Mua anten ở đâu?bởi tmcodonAnten bạn thu nguồn sóng nào vậy? Nếu xem truyền hình thì giờ k làm đc anten nữa rồi
-
Channel: Ăng ten và truyền sóng
Hôm qua, 15:34 -
-
Trả lời cho Mạch nguồn đôi dùng 7812 và 7912bởi tmcodonThank bác nhá. Tìm mãi mới thấy. Giờ vọc đã xem sao...
-
Channel: Hỗ trợ học tập
Hôm qua, 10:39 -
-
bởi tungdqEm cần tìm sơ đồ mạch một số Main máy tính đời cao như Asrock B560M-HDV, các cao nhân chỉ giúp với. Thank!
-
Channel: Các mạch điện ứng dụng
15-11-2024, 08:27 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677nhân tiện cho mình hỏi thêm về cái phần test hipot (cao áp),là để kiểm tra độ bền cách điện giưa các cuộn dây,mà thấy thông số test thường ở mức 4kvac,vậy nếu mấy con fail đó xài bình thường vẫn dduocj phải không ạ,vì điện mình làm gì lên tới mức đó
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:52 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677máy đo số vòng thì cty có ,mà nó to quá,tưởng có máy nào gọn gọn bỏ túi được thì tiện hơn,vì đi lại nhiều...
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:47 -
-
bởi tmcodonMình thấy diễn đàn có chuyên mục quảng cáo rồi mà. Bạn đóng góp để mở luồng riêng
-
Channel: Hướng dẫn sử dụng diễn đàn
09-11-2024, 13:36 -
-
bởi Nicole08Xin chào mọi người, tôi đã sử dụng Flashforge Inventor 2 được gần 5 năm và rất hài lòng với nó, nhưng tuần trước đã xảy ra sự cố. Có vẻ như động cơ bước đưa sợi in vào đầu nóng đã bị hỏng. Mọi thứ khác có vẻ ổn trên máy...
-
Channel: Điện tử dành cho người mới bắt đầu
09-11-2024, 12:55 -
Comment