Например TDA7294

Форум РадиоКот • Просмотр темы - Помогите с прошивкой pic12f629
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 14:41:58

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Помогите с прошивкой pic12f629
СообщениеДобавлено: Вс авг 19, 2018 12:31:15 
Первый раз сказал Мяу!

Зарегистрирован: Вс авг 19, 2018 09:01:28
Сообщений: 22
Рейтинг сообщения: 0
Описание: Как это работает: Красное свечение светодиода - рабочий режим Зеленое свечение светодиода - заряд Быстрое мигание красного-зеленого свечения - села батарея Если зажать спуск, и включить схему, программа переход в режим программирования длительности, текущее значение длительности обнуляется, и каждое моргание красного светодиода это приращение длительности на шаг 1мс . При достижении конечного значения 30мс происходит кратковременное перемигивание светодиода красным-зеленым и все обнуляеться и дальше по кругу. При отпускании спуска текущее значение длительности запоминается и схема переходит в рабочий режим.

Автор прошивки зашил туда определение напряжение при котором контроллер показывает что села батарея, запрограммировал на ниже 5в. В симуляций протеус при подаче питания 5в все нормально, как только изменю на 3-3.3в proteus заряжает до 41в и все потом горит светодиод села батарея. Во общем на реальной плате тоже самое с одной оговоркой сразу отказывается заряжать) Думаю протеус просто по своему принципу симулирует быстро вот и не успевает мк сработать.
Тыкните пальцем где это может быть зашито? Чтобы исправить на 3в допустим. Транзисторы логик все от 1-2в работают на затворе.

Сам код асм.

LIST P=16F84, F=INHX8M
include "P16FXX.inc"
ORG 0x0000

GOTO Label_0001
Label_000F CLRF 0x23
Label_0009 MOVWF 0x22
Label_0004 MOVLW 0xFF
ADDWF 0x22 , f
BTFSS STATUS , C
ADDWF 0x23 , f
BTFSS STATUS , C
GOTO Label_0002
MOVLW 0x03
MOVWF 0x21
MOVLW 0xDF
CALL Label_0003
GOTO Label_0004
CLRF 0x21
Label_0003 ADDLW 0xE8
MOVWF 0x20
COMF 0x21 , f
MOVLW 0xFC
BTFSS STATUS , C
GOTO Label_0005
Label_0006 ADDWF 0x20 , f
BTFSC STATUS , C
GOTO Label_0006
Label_0005 ADDWF 0x20 , f
CLRWDT
INCFSZ 0x21 , f
GOTO Label_0006
BTFSC 0x20 , 00
GOTO Label_0007
Label_0007 BTFSS 0x20 , 01
GOTO Label_0008
NOP
GOTO Label_0008
Label_0008 RETURN
Label_0002 BCF STATUS , IRP
BCF STATUS , RP1
BCF STATUS , RP0
CLRWDT
RETURN
Label_0001 BSF STATUS , RP0
MOVLW 0xDB
MOVWF TRISA
BCF STATUS , RP0
MOVLW 0x16
MOVWF 0x19
BSF STATUS , RP0
MOVLW 0xAD
MOVWF 0x19
BCF STATUS , RP0
BCF PORTA , 05
BSF STATUS , RP0
BCF TRISA , 05
BCF STATUS , RP0
BCF PORTA , 02
BSF STATUS , RP0
BCF TRISA , 02
BCF STATUS , RP0
CLRF 0x38
CLRF 0x39
MOVLW 0x03
MOVWF 0x23
MOVLW 0xE8
CALL Label_0009
CLRWDT
BTFSC PORTA , 03
GOTO Label_000A
CLRF 0x3A
GOTO Label_000B
Label_000A CALL Label_000C
GOTO Label_000D
Label_000B CLRWDT
BTFSC PORTA , 03
GOTO Label_000D
INCF 0x3A , f
CLRWDT
MOVLW 0x1F
SUBWF 0x3A , W
BTFSS STATUS , C
GOTO Label_000E
BSF STATUS , RP0
BCF TRISA , 04
BCF STATUS , RP0
BCF PORTA , 04
BSF STATUS , RP0
BCF TRISA , 04
MOVLW 0xC8
BCF STATUS , RP0
CALL Label_000F
BSF PORTA , 04
BSF STATUS , RP0
BCF TRISA , 04
MOVLW 0xC8
BCF STATUS , RP0
CALL Label_000F
BCF PORTA , 04
BSF STATUS , RP0
BCF TRISA , 04
MOVLW 0xC8
BCF STATUS , RP0
CALL Label_000F
BSF PORTA , 04
BSF STATUS , RP0
BCF TRISA , 04
MOVLW 0xC8
BCF STATUS , RP0
CALL Label_000F
BCF PORTA , 04
BSF STATUS , RP0
BCF TRISA , 04
MOVLW 0xC8
BCF STATUS , RP0
CALL Label_000F
BSF PORTA , 04
BSF STATUS , RP0
BCF TRISA , 04
MOVLW 0xC8
BCF STATUS , RP0
CALL Label_000F
BCF PORTA , 04
BSF STATUS , RP0
BCF TRISA , 04
BSF TRISA , 04
BCF STATUS , RP0
CLRF 0x3A
GOTO Label_000B
Label_000E CALL Label_0010
BSF STATUS , RP0
BCF TRISA , 04
BCF STATUS , RP0
BSF PORTA , 04
BSF STATUS , RP0
BCF TRISA , 04
BCF STATUS , RP0
MOVLW 0x01
MOVWF 0x23
MOVLW 0xF4
CALL Label_0009
BSF STATUS , RP0
BSF TRISA , 04
BCF STATUS , RP0
MOVLW 0x01
MOVWF 0x23
MOVLW 0xF4
CALL Label_0009
GOTO Label_000B
Label_000D MOVF 0x3A , W
MOVWF 0x38
CLRF 0x39
Label_0013 BCF 0x19 , 03
BSF STATUS , RP0
BCF TRISA , 04
BCF STATUS , RP0
BCF PORTA , 04
BSF STATUS , RP0
BCF TRISA , 04
MOVLW 0x14
BCF STATUS , RP0
CALL Label_000F
Label_0012 CLRWDT
BTFSC 0x19 , 06
GOTO Label_0011
BSF PORTA , 05
NOP
NOP
NOP
NOP
NOP
BCF PORTA , 05
NOP
NOP
GOTO Label_0012
Label_0011 BSF 0x19 , 03
BSF PORTA , 04
BSF STATUS , RP0
BCF TRISA , 04
MOVLW 0x14
BCF STATUS , RP0
CALL Label_000F
Label_0016 CLRWDT
BTFSS 0x19 , 06
GOTO Label_0013
CLRWDT
BTFSC PORTA , 03
GOTO Label_0014
CALL Label_0015
Label_0014 GOTO Label_0016
Label_0015 BSF PORTA , 02
BSF STATUS , RP0
BCF TRISA , 02
BCF STATUS , RP0
MOVF 0x39 , W
MOVWF 0x23
MOVF 0x38 , W
CALL Label_0009
BCF PORTA , 02
BSF STATUS , RP0
BCF TRISA , 02
MOVLW 0x14
BCF STATUS , RP0
CALL Label_000F
RETURN
Label_000C BSF STATUS , RP0
MOVLW 0x0A
MOVWF 0x1B
BSF 0x1C , 00
MOVF 0x1A , W
BCF STATUS , RP0
MOVWF 0x3A
RETURN
Label_0010 BSF STATUS , RP0
MOVLW 0x0A
MOVWF 0x1B
BCF STATUS , RP0
MOVF 0x3A , W
BSF STATUS , RP0
MOVWF 0x1A
BSF 0x1C , 02
BCF STATUS , RP0
MOVLW 0x80
MOVWF INTCON
BSF STATUS , RP0
MOVLW 0x55
MOVWF 0x1D
MOVLW 0xAA
MOVWF 0x1D
BSF 0x1C , 01
BCF 0x1C , 02
BCF STATUS , RP0
Label_0017 CLRWDT
BSF STATUS , RP0
BCF STATUS , DC
BTFSC 0x1C , 01
BSF STATUS , DC
BCF STATUS , RP0
BTFSC STATUS , DC
GOTO Label_0017
RETURN
Label_0018 SLEEP
GOTO Label_0018

ORG 0x2000
DATA 0x0F
DATA 0x0F
DATA 0x0F
DATA 0x0F

ORG 0x2007
DATA 0x04

ORG 0x2100
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00
DATA 0x00

END

Схема dc-dc http://img.radiokot.ru/files/131282/med ... r27chm.jpg


Вложения:
Комментарий к файлу: прошивка.
1-30.hex [2.08 KiB]
Скачиваний: 454
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с прошивкой pic12f629
СообщениеДобавлено: Вс авг 19, 2018 13:16:26 
Друг Кота

Карма: 27
Рейтинг сообщений: 1283
Зарегистрирован: Ср фев 11, 2009 20:35:58
Сообщений: 7854
Рейтинг сообщения: 0
Замер напряжения делается компаратором ноги 6 и 7. Изменяя делитель можно установить любое напряжение срабатывания компаратора.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с прошивкой pic12f629
СообщениеДобавлено: Вс авг 19, 2018 19:39:27 
Первый раз сказал Мяу!

Зарегистрирован: Вс авг 19, 2018 09:01:28
Сообщений: 22
Рейтинг сообщения: 0
Это я знаю проверял, проблема тут в том что, если питание контроллера не 5 в , то начинает моргать светодиод, что села батарея. Как это в прошивке определяется я не знаю поэтому кто знает и читать код умеет может увидеть и покажет где это мне.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Помогите с прошивкой pic12f629
СообщениеДобавлено: Вс авг 19, 2018 20:15:54 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21837
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Стесняюсь спросить..., а какое отношение код для 16F84 имеет к схеме с 12F629?


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Помогите с прошивкой pic12f629
СообщениеДобавлено: Вс авг 19, 2018 20:25:21 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Выложите оригинал схемы.
Говорите:
Securety50 писал(а):
Красное свечение светодиода - рабочий режим Зеленое свечение светодиода - заряд
А на схеме один светодиод, подключенный одной "ногой" на GND...
Наверняка есть ещё отличия вашей схемы от оригинала (в частности, вывод :7 PIC-а)...


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Помогите с прошивкой pic12f629
СообщениеДобавлено: Пн авг 20, 2018 08:09:56 
Друг Кота

Карма: 27
Рейтинг сообщений: 1283
Зарегистрирован: Ср фев 11, 2009 20:35:58
Сообщений: 7854
Рейтинг сообщения: 0
Цитата:
если питание контроллера не 5 в

Вместе с питанием плавает опорное напряжение компаратора. Нужно его стабилизировать. Где схема ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Помогите с прошивкой pic12f629
СообщениеДобавлено: Чт авг 23, 2018 17:16:53 
Первый раз сказал Мяу!

Зарегистрирован: Вс авг 19, 2018 09:01:28
Сообщений: 22
Рейтинг сообщения: 0
Вложение:
1-31.asm [11.25 KiB]
Скачиваний: 281
Перед всеми заранее извиняюсь :oops: , что так долго не мог ответить всем по вашим вопросам был в командировке!!!
Схема есть выкладываю:
Изображение
D2 контроллер pic12f629 / 7-6 ноги компаратор опорное напряжение зашитое в прошивку 2.71в. Заряд с ноги 2 на транзистор VT1
Подстроечный резистор на паузу подкачки R6, делитель напряжения R6/R7/R5 в зависимости как подберем сопротивление верхнего и нижнего плеча для нужного заряда конденсатора 60в или 100в. Нога 5 разряд на катушку через ключ длительность импульсов от 1-30мс с шагом 1мс. 4 нога кнопка управления настройками длительности импульсов.

Прошивку код в асм привел в человеческий вид ото неуважительно так выложил первый раз сорри! :facepalm:

Спойлерprocessor 12F629
#include <P12F629.INC>
__config 0x3F84
; _CPD_OFF & _CP_OFF & _BODEN_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF
; & _INTRC_OSC_NOCLKOUT
; __idlocs 0xFF, 0xFF, 0xFF, 0xFF

; EEPROM-Data
Org 0x2100
DE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; ........
DE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; ........
DE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; ........
DE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; ........
DE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; ........
DE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; ........
DE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; ........
DE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; ........
DE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; ........
DE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; ........
DE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; ........
DE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; ........
DE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; ........
DE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; ........
DE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; ........
DE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; ........

; RAM-Variable
LRAM_0x20 equ 0x20
LRAM_0x21 equ 0x21
LRAM_0x22 equ 0x22
LRAM_0x23 equ 0x23
LRAM_0x38 equ 0x38
LRAM_0x39 equ 0x39
LRAM_0x3A equ 0x3A

; Program

Org 0x0000

; Reset-Vector
GOTO LADR_0x0028
LADR_0x0001
CLRF LRAM_0x23
LADR_0x0002
MOVWF LRAM_0x22
LADR_0x0003
MOVLW 0xFF ; b'11111111' d'255'
; Interrupt-Vector
ADDWF LRAM_0x22,F
BTFSS STATUS,C
ADDWF LRAM_0x23,F
BTFSS STATUS,C
GOTO LADR_0x0023
MOVLW 0x03 ; b'00000011' d'003'
MOVWF LRAM_0x21
MOVLW 0xDF ; b'11011111' d'223'
CALL LADR_0x000F
GOTO LADR_0x0003
CLRF LRAM_0x21
LADR_0x000F
ADDLW 0xE8 ; b'11101000' d'232'
MOVWF LRAM_0x20
COMF LRAM_0x21,F
MOVLW 0xFC ; b'11111100' d'252'
BTFSS STATUS,C
GOTO LADR_0x0018
LADR_0x0015
ADDWF LRAM_0x20,F
BTFSC STATUS,C
GOTO LADR_0x0015
LADR_0x0018
ADDWF LRAM_0x20,F
CLRWDT
INCFSZ LRAM_0x21,F
GOTO LADR_0x0015
BTFSC LRAM_0x20,0
GOTO LADR_0x001E
LADR_0x001E
BTFSS LRAM_0x20,1
GOTO LADR_0x0022
NOP
GOTO LADR_0x0022
LADR_0x0022
RETURN
LADR_0x0023
BCF STATUS,IRP
BCF STATUS,RP1 ; !!Bank Register-Bank(2/3)-Select
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CLRWDT
RETURN
LADR_0x0028
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVLW 0xDB ; b'11011011' d'219'
MOVWF GPIO ; !!Bank!! GPIO - TRISIO
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVLW 0x16 ; b'00010110' d'022'
MOVWF CMCON ; !!Bank!! CMCON - VRCON
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVLW 0xAD ; b'10101101' d'173'
MOVWF CMCON ; !!Bank!! CMCON - VRCON
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,5 ; !!Bank!! GPIO - TRISIO
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,5 ; !!Bank!! GPIO - TRISIO
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,2 ; !!Bank!! GPIO - TRISIO
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,2 ; !!Bank!! GPIO - TRISIO
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CLRF LRAM_0x38
CLRF LRAM_0x39
MOVLW 0x03 ; b'00000011' d'003'
MOVWF LRAM_0x23
MOVLW 0xE8 ; b'11101000' d'232'
CALL LADR_0x0002
CLRWDT
BTFSC GPIO,3 ; !!Bank!! GPIO - TRISIO
GOTO LADR_0x0045
CLRF LRAM_0x3A
GOTO LADR_0x0047
LADR_0x0045
CALL LADR_0x00CA
GOTO LADR_0x0092
LADR_0x0047
CLRWDT
BTFSC GPIO,3 ; !!Bank!! GPIO - TRISIO
GOTO LADR_0x0092
INCF LRAM_0x3A,F
CLRWDT
MOVLW 0x1F ; b'00011111' d'031'
SUBWF LRAM_0x3A,W
BTFSS STATUS,C
GOTO LADR_0x007E
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,4 ; !!Bank!! GPIO - TRISIO
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,4 ; !!Bank!! GPIO - TRISIO
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,4 ; !!Bank!! GPIO - TRISIO
MOVLW 0xC8 ; b'11001000' d'200'
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CALL LADR_0x0001
BSF GPIO,4 ; !!Bank!! GPIO - TRISIO
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,4 ; !!Bank!! GPIO - TRISIO
MOVLW 0xC8 ; b'11001000' d'200'
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CALL LADR_0x0001
BCF GPIO,4 ; !!Bank!! GPIO - TRISIO
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,4 ; !!Bank!! GPIO - TRISIO
MOVLW 0xC8 ; b'11001000' d'200'
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CALL LADR_0x0001
BSF GPIO,4 ; !!Bank!! GPIO - TRISIO
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,4 ; !!Bank!! GPIO - TRISIO
MOVLW 0xC8 ; b'11001000' d'200'
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CALL LADR_0x0001
BCF GPIO,4 ; !!Bank!! GPIO - TRISIO
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,4 ; !!Bank!! GPIO - TRISIO
MOVLW 0xC8 ; b'11001000' d'200'
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CALL LADR_0x0001
BSF GPIO,4 ; !!Bank!! GPIO - TRISIO
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,4 ; !!Bank!! GPIO - TRISIO
MOVLW 0xC8 ; b'11001000' d'200'
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CALL LADR_0x0001
BCF GPIO,4 ; !!Bank!! GPIO - TRISIO
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,4 ; !!Bank!! GPIO - TRISIO
BSF GPIO,4 ; !!Bank!! GPIO - TRISIO
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CLRF LRAM_0x3A
GOTO LADR_0x0047
LADR_0x007E
CALL LADR_0x00D2
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,4 ; !!Bank!! GPIO - TRISIO
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BSF GPIO,4 ; !!Bank!! GPIO - TRISIO
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,4 ; !!Bank!! GPIO - TRISIO
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVLW 0x01 ; b'00000001' d'001'
MOVWF LRAM_0x23
MOVLW 0xF4 ; b'11110100' d'244'
CALL LADR_0x0002
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BSF GPIO,4 ; !!Bank!! GPIO - TRISIO
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVLW 0x01 ; b'00000001' d'001'
MOVWF LRAM_0x23
MOVLW 0xF4 ; b'11110100' d'244'
CALL LADR_0x0002
GOTO LADR_0x0047
LADR_0x0092
MOVF LRAM_0x3A,W
MOVWF LRAM_0x38
CLRF LRAM_0x39
LADR_0x0095
BCF CMCON,3 ; !!Bank!! CMCON - VRCON
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,4 ; !!Bank!! GPIO - TRISIO
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,4 ; !!Bank!! GPIO - TRISIO
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,4 ; !!Bank!! GPIO - TRISIO
MOVLW 0x14 ; b'00010100' d'020'
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CALL LADR_0x0001
LADR_0x009F
CLRWDT
BTFSC CMCON,6 ; !!Bank!! CMCON - VRCON
GOTO LADR_0x00AC
BSF GPIO,5 ; !!Bank!! GPIO - TRISIO
NOP
NOP
NOP
NOP
NOP
BCF GPIO,5 ; !!Bank!! GPIO - TRISIO
NOP
NOP
GOTO LADR_0x009F
LADR_0x00AC
BSF CMCON,3 ; !!Bank!! CMCON - VRCON
BSF GPIO,4 ; !!Bank!! GPIO - TRISIO
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,4 ; !!Bank!! GPIO - TRISIO
MOVLW 0x14 ; b'00010100' d'020'
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CALL LADR_0x0001
LADR_0x00B3
CLRWDT
BTFSS CMCON,6 ; !!Bank!! CMCON - VRCON
GOTO LADR_0x0095
CLRWDT
BTFSC GPIO,3 ; !!Bank!! GPIO - TRISIO
GOTO LADR_0x00BA
CALL LADR_0x00BB
LADR_0x00BA
GOTO LADR_0x00B3
LADR_0x00BB
BSF GPIO,2 ; !!Bank!! GPIO - TRISIO
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,2 ; !!Bank!! GPIO - TRISIO
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVF LRAM_0x39,W
MOVWF LRAM_0x23
MOVF LRAM_0x38,W
CALL LADR_0x0002
BCF GPIO,2 ; !!Bank!! GPIO - TRISIO
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF GPIO,2 ; !!Bank!! GPIO - TRISIO
MOVLW 0x14 ; b'00010100' d'020'
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CALL LADR_0x0001
RETURN
LADR_0x00CA
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVLW 0x0A ; b'00001010' d'010'
MOVWF EEADR ; !!Bank!! Unimplemented - EEADR
BSF EECON1,0 ; !!Bank!! Unimplemented - EECON1
MOVF EEDATA,W ; !!Bank!! Unimplemented - EEDATA
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVWF LRAM_0x3A
RETURN
LADR_0x00D2
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVLW 0x0A ; b'00001010' d'010'
MOVWF EEADR ; !!Bank!! Unimplemented - EEADR
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVF LRAM_0x3A,W
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVWF EEDATA ; !!Bank!! Unimplemented - EEDATA
BSF EECON1,2 ; !!Bank!! Unimplemented - EECON1
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVLW 0x80 ; b'10000000' d'128'
MOVWF INTCON
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVLW 0x55 ; b'01010101' d'085' "U"
MOVWF EECON2 ; !!Bank!! Unimplemented - EECON2
MOVLW 0xAA ; b'10101010' d'170'
MOVWF EECON2 ; !!Bank!! Unimplemented - EECON2
BSF EECON1,1 ; !!Bank!! Unimplemented - EECON1
BCF EECON1,2 ; !!Bank!! Unimplemented - EECON1
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
LADR_0x00E5
CLRWDT
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF STATUS,DC
BTFSC EECON1,1 ; !!Bank!! Unimplemented - EECON1
BSF STATUS,DC
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BTFSC STATUS,DC
GOTO LADR_0x00E5
RETURN
LADR_0x00EE
SLEEP
GOTO LADR_0x00EE

End


Теперь вопросы такие остались у меня как через прошивку может определяться что села батарея (перемигивание светодиода) X3 ?

В прошивке с ноги 2 зашита частота шим 71кгц период 14мкс длительность импульса 6 мкс амплитуда 5 вольт. Как это можно изменять в прошивке и где с помощью прерывания? Насчет амплитуды 5 в это строка задается вот так:
MOVLW 0xFF ; b'11111111' d'255'

Где в прошивке зашит шаг длительности импульса? Как можно менять его или сократить до 5мс допустим. Выложил прошивку с 0.1 до 10 для примера.

Скачивал программу PIC_Delay 1.8 слабо понял как по ней работать калькулятор задержки в мс.


Вложения:
Комментарий к файлу: другая прошивка шаг 0.1мс
01-10.hex [1.61 KiB]
Скачиваний: 457
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с прошивкой pic12f629
СообщениеДобавлено: Чт авг 23, 2018 19:04:26 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 1
Медали: 5
Получил миской по аватаре (5)
Вывод :6 - это CIN-, :7 - CIN+ (входы компаратора).
По конфигурации компаратора в программе, на вход "+" компаратора подаётся напряжение =13/24*Vdd, а вход "-" переключают между выводами :6 и :7.
Как такового, опорного напряжения для компаратора нет, т.ч. именно выполняя программу, нет возможности отслеживать напряжение питания +5В (если схема правильная).

Добавлено after 1 hour 20 minutes 31 second:
P.S.
Кстати, выходное напряжение жёстко привязано к напряжению питания контроллера, которое, по сути, является опорным.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с прошивкой pic12f629
СообщениеДобавлено: Чт авг 23, 2018 19:31:48 
Первый раз сказал Мяу!

Зарегистрирован: Вс авг 19, 2018 09:01:28
Сообщений: 22
Рейтинг сообщения: 0
В proteus при моделировании зарядке как только на 7,или 6 не помню становиться 2.71в зарядка прекращается загорается светодиод красным. При зарядке зелёным горит. В случае подкачки как только просядет напряжение на конденсаторе на ноге 6 вроде станет 2.71в сразу вкл накачка. Как то так.

Добавлено after 2 minutes 31 second:
P.S.
Кстати, выходное напряжение жёстко привязано к напряжению питания контроллера, которое, по сути, является опорным

Вы имейте ввиду амплитуду сигналов с ног контроллера напряжением 5в ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с прошивкой pic12f629
СообщениеДобавлено: Чт авг 23, 2018 21:33:47 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
2,71В (если точнее, 2,708(3)В) - да, это то, с чем сравнивает компаратор при напряжении питания контроллера 5В.
Измените напряжение его питания - изменится и напряжение сравнения (текущую формулу выложил выше) и, соответственно, напряжение на X4.

Добавлено after 1 hour 54 minutes 23 seconds:
P.S.
По схеме, нижний предел АСС (Х4) жёстко задан соотношением номиналов (R6+R7)/R5, а верхний - подстроечником, в диапазоне от (R6+R7)/R5 до (R5+R6)/R7.
Программной подстройки "порогов" в программе нет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с прошивкой pic12f629
СообщениеДобавлено: Пт авг 24, 2018 17:32:25 
Первый раз сказал Мяу!

Зарегистрирован: Вс авг 19, 2018 09:01:28
Сообщений: 22
Рейтинг сообщения: 0
Да я менял питания ставил 3 вольта но 4 и выше не проверял отказывался, он заряжать выше 41 вольта но делитель был из сопротивлений настроен на 63вольта. При питании 5вольт все нормально. Одно мне непонятно если в прошивке нет функций (села батарея) как он определяет правильно чисто по питанию? потому-что при таком явлений когда села батарея (резко моргает светодиод с красного на зеленый перемигивание) не врублюсь я тут как?

За разжовывание вам спасибо хоть что-то понятно стает принцип работы с этой прошивкой.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с прошивкой pic12f629
СообщениеДобавлено: Пт авг 24, 2018 20:53:10 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Что-то мне кажется, что то что вы принимаете за индикацию "села батарея" - на самом деле, это попытка старта схемы > просадка питания (как следствие, Reset контроллера) > повторный старт и т.д. по кругу.
Есть PIC контроллеры, у которых есть возможность измерить напряжение питания не задействовав ни одного вывода портов (как говорится, "внутри себя"), но PIC12F629 к ним не относится.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с прошивкой pic12f629
СообщениеДобавлено: Сб авг 25, 2018 06:59:13 
Первый раз сказал Мяу!

Зарегистрирован: Вс авг 19, 2018 09:01:28
Сообщений: 22
Рейтинг сообщения: 0
Теперь, понятно а с частотой подсказать сможете как в этой прошивке ее так грамотно задали на транзистор накачки? 71кгц период Т=14мкс длительность t=6мкс. Через кнопку как допустим в прошивке изменить длительность импульсов сейчас 1-30мс шаг 1мм. Пытался разобраться с примером 0.1-10мс таки разницу в двух местах коде нашел и не догнал. Может объяснишь? Кстати я читал асм пытался разобраться понял одно там по формуле как то делить частоту кварца надо и высчитывать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с прошивкой pic12f629
СообщениеДобавлено: Вт авг 28, 2018 21:03:34 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Securety50 писал(а):
с частотой подсказать сможете как в этой прошивке ее так грамотно задали на транзистор накачки? 71кгц период Т=14мкс длительность t=6мкс.
Если точнее - частота 71'428.57...Hz (14µS).
Вот этот кусок программы:
Спойлер
Код:
LADR_0x009F
    CLRWDT
    BTFSC CMCON,6        ; !!Bank!! CMCON - VRCON
    GOTO LADR_0x00AC
    BSF GPIO,5           ; !!Bank!! GPIO - TRISIO
    NOP
    NOP
    NOP
    NOP
    NOP
    BCF GPIO,5           ; !!Bank!! GPIO - TRISIO
    NOP
    NOP
    GOTO LADR_0x009F
Выход из него возможен только по срабатыванию компаратора.
Прерывания в данной программе не используются.
Для просчёта частоты, достаточно прочитать pdf на контроллер (в частности, раздел INSTRUCTION SET SUMMARY) и включить калькулятор (можно "виндусячий") с функцией "1/х" (для пересчёта времени в частоту).
Извините, но копаться в реассемблинге программы, которая писалась не на asm, не доставляет удовольствия...


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y