IN resL, ADCL ; Ecia?aiiia iai?y?aiea IN resH, ADCH reti ;*************************************************************************** Initial: ldi Temp1, LOW(RamEnd) out SPL, Temp1 ldi Temp1, HIGH(RamEnd) out SPH, Temp1
cli
ldi temp1,0b11111111 out DDRB,temp1 ;Iai?aaeaiea aaiiuo ii?oa B ia auaia,(LCD-aenieae) ; out PORTB,temp1 ;Auaaou aaiiua ia ii?o A
;---------- ; Input : XH:XL - number of CPU cycles to wait (divided by four) ;---------- Wait4xCycles: sbiw XH:XL, 1 brne Wait4xCycles ret ;---------- ; Input : r16 - number of miliseconds to wait ;---------- WaitMiliseconds: LDI XH,HIGH(1000*F_CPU/4/1000000) LDI XL,LOW(1000*F_CPU/4/1000000) WaitMsLoop: SBIW XH:XL,1 BRNE WaitMsLoop dec r16 brne WaitMiliseconds ret ;***** Subroutine Register Variables
div8u: sub drem8u,drem8u ; clear remainder and carry ldi dcnt8u,9 ; init loop counter d8u_1: rol dd8u ; shift left dividend dec dcnt8u ; decrement counter brne d8u_2 ; if done ret ; return d8u_2: rol drem8u ; shift dividend into remainder sub drem8u,dv8u ; remainder = remainder - divisor brcc d8u_3 ; if result negative add drem8u,dv8u ; restore remainder clc ; clear carry to be shifted into result rjmp d8u_1 ; else d8u_3: sec ; set carry to be shifted into result rjmp d8u_1
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
При включенном бите ADLAR и при максимуме (5 вольт) на входе значение ацп будет не 1023, а 65472, значит чтобы преобразовать значение ацп в вольты нужно 65472 поделить на 500 получим 130,9 =~131, точку просто потом выводим после старшего разряда на LCD. 131 это и будет наш коэффициент.
пример деления
Код:
; ---------- ; Деление слова на байт //////////////////////////////////////////////////////// ; ---------- ; --> R_TmpA1, R_TmpA2 -- делимое мл. и ст. байты ; R_Dat -- делитель ; <-- R_TmpA1, R_TmpA2 -- частное мл. и ст. байты ; R_OprA -- остаток ; Меняет: R_TmpA1, R_TmpA2, R_OprA, XL S_Div_WordByte: ldi XL, 17 ; Количество разрядов + бит C clr R_OprA ; Остаток clc S_Div_WordByte_Loop: rol R_OprA sub R_OprA, R_Dat ; Остаток минус делитель brcc S_Div_WordByte_1 add R_OprA, R_Dat S_Div_WordByte_1: rol R_TmpA1 rol R_TmpA2 dec XL brne S_Div_WordByte_Loop com R_TmpA1 com R_TmpA2 ret
Можно ничего с ним не делать, а можно заморочится с округлением. Берем половину коэффициента и отнимаем от остатка, если включился флаг переноса, значит округляем в меньшую сторону, т.е. ничего не делаем, а если перенос не включился, значит округляем в большую сторону - добавляем 1 к результату.
В подпрограмме деления перед RET вставьте этот кусок кода:
Все может быть, только программа не моя, а из тырнета. Я пользовался похожим кодом, но только для чисел с большей разрядностью, и там было неправильное деление чисел со знаком, хотя деление безнаковое.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 36
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения