Перейти к содержанию

Автозапуск На Pic12F508 Подредактировать Исходник!


Misha161

Рекомендуемые сообщения

Ребята Помогите! кто знает ассемблер, и пишет прошивки, можете подредактировать одно значение! :help: , собрал автозапуск на PIC12F508, и не устраивает что время работы двигателя 5 мин, то есть не успевает прогреваться, хотело бы 10мин или 15(желательно). Я пока на уровне прощивальщика, хотел сам подредактировать, но походу что то не так делаю, уже штук пять жучков запорол :unsure: Помогите! Заранее огромное Спасибо) Исходник http://files.mail.ru...DA6F8892AE453A2

Часть исходника...

; ПЕРЕМЕННЫЕ time_xxx ДОЛЖНЫ БЫТЬ В ДИАПАЗОНЕ ОТ 1 до 255

; время от прихода команды на запуск до включения зажигания

time_wait equ .30 ; секунд * 10

; время от включения зажигания до включения стартера

time_ignition equ .20 ; секунд * 10

; максимальное время работы стартера

time_starter equ .12 ; секунд * 2

; время ожидания между попытками завести двигаль

time_attempt equ .150 ; секунд * 10

; время работы заведенного двигателя

time_engine equ .250 ; секунд

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

time_next equ .20 ; секунд * 10

; обороты двигателя для определения надежного запуска мотора

round_start equ .200 ; оборотов/мин

; обороты двигателя для определения нажатия на педаль газа

round_acs equ .1500 ; оборотов/мин

; обороты двигателя для выключения зажигания при неуверенной работе

; (не должны отличаться от оборотов определения запуска на приращение

; за 2 секунды с момента старта двигателя)

round_min equ .300 ; оборотов/мин

Изменено пользователем Misha161
Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

; UFF, ALL OK ------------------------

full_limit

bcf port,rele_start

nop

nop

clrwdt

clrwdt

bcf port,rele_ignit

nop

nop

clrwdt

clrwdt

; delay 2 sec for waiting (for example)

movlw H'FF' ; 20

movwf count2

delay5

movlw .100 ; 100

movwf count1

delay4

movlw .166 ; 1000

movwf count0

delay3

clrwdt

nop

nop

nop

decfsz count0,f

goto delay3

decfsz count1,f

goto delay4

decfsz count2,f

goto delay5

goto begin

END ; directive 'end of program'

END ; directive 'end of program'

Вот в этом блоке формируется время.

Переменные можно увеличить до H'FF' в counter0,counter1,counter2.Время должно увеличится.Если wdt не помешает

Изменено пользователем cheerful_ man
Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Простите за глупые вопросы, я в это 0. Мне просто вставить эту строку movlw H'FF' ; 20 в исходник? Или если Вам не тяжело можете подправленный исходник отправить мне на мыло misha.161@mail.ru, что бы я опять не накосячел :(

m

Ссылка на комментарий
Поделиться на другие сайты

Особенности хранения литиевых аккумуляторов и батареек

Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

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

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

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

А подскажите еще такой момент, прошивать, у меня без проблем, а вот перепрошивать у меня не получается пишет "ошибка проверки по адресу 0113h" Шью через Ic prog в режиме PIC12C508, у меня PIC12F508, стереть её не получается!

Изменено пользователем Misha161
Ссылка на комментарий
Поделиться на другие сайты

bcf port,rele_start ; the starter is OFF

nop

nop

clrwdt

clrwdt

call delay_1sec

; call delay_1sec

call delay_1sec

movlw time_engine ; cycle 3 min for engine work (180 * 1 sec inside cycles)

movwf count2

measure12

;

decfsz count0,f

goto measure10

decfsz count1,f

goto measure11

movf TMR0,w ; over 2000 round/min?

movwf temp

movlw round_acs1

subwf temp,w

btfsc STATUS,Z

goto begin

btfsc STATUS,C

goto begin

movlw round_min1 ; down 400 round/min?

subwf temp,w

btfss STATUS,C

goto begin

decfsz count2,f

goto measure12

decfsz count2,f

goto measure12

; ПЕРЕМЕННЫЕ time_xxx ДОЛЖНЫ БЫТЬ В ДИАПАЗОНЕ ОТ 1 до 255

; время от прихода команды на запуск до включения зажигания

time_wait equ .30 ; секунд * 10

; время от включения зажигания до включения стартера

time_ignition equ .20 ; секунд * 10

; максимальное время работы стартера

time_starter equ .12 ; секунд * 2

; время ожидания между попытками завести двигаль

time_attempt equ .150 ; секунд * 10

; время работы заведенного двигателя

time_engine equ .250 ; секунд

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

time_next equ .20 ; секунд * 10

; обороты двигателя для определения надежного запуска мотора

Мой кунг-фу не слишком хорош (на уровне Z-80 ;х86 :) , пока нет времени разобраться с контроллерами ), но я попробую что то порекомендовать :)...

Дело в том что константа таймэнгайн имеет близкое к предельному значение ( 250 ,а больше 255 в ячейку не записать) и её не изменить в большую сторону...

Остаётся тогда взять два раза подряд эту задержку...

Синим я показал , как изменить листинг ассемблера..

Итак : фиолетовый - константа, красный подпрограмма, зелёный - обращение к подпрограмме,

синий - модернизация листинга, для увеличения времени в 2 раза

Попробуйте , может получится, для увеличения времени в 3 раза , поставьте 3 раза строки..

Не квалифицированный, но везучий электрик знает в лицо всех архангелов.

Прогресс сделал розетки недоступными для большинства детей. Умирают только самые одаренные.

Ссылка на комментарий
Поделиться на другие сайты

Но есть одно "но" , дело в том, что в теле программы, все задержки связанны..

И увеличив одну, мы можем ещё что то увеличить :)

Не известно как отреагирует управление...

Не квалифицированный, но везучий электрик знает в лицо всех архангелов.

Прогресс сделал розетки недоступными для большинства детей. Умирают только самые одаренные.

Ссылка на комментарий
Поделиться на другие сайты

Но есть одно "но" , дело в том, что в теле программы, все задержки связанны..

И увеличив одну, мы можем ещё что то увеличить :)

Не известно как отреагирует управление...

Спасибо) уже прошил, завтра посмотрим что у нас получилось :crazy: Отпишусь!

Ссылка на комментарий
Поделиться на другие сайты

Хотя есть вероятность, что я перепутал прогу с подпрограммой 8-(...

В таком случае, придётся тот синий текст убрать , а этот добавить...

В принципе от лишней проги ничего не должно изменится, то есть как было 5 мин так и останется...

Попробуйте так и этак или лучше подождите до рекомендации знающего пользователя.

call delay_1sec

; call delay_1sec

call delay_1sec

movlw time_engine ; cycle 3 min for engine work (180 * 1 sec inside cycles)

movwf count2

measure12

movwf count2

measure12

Не квалифицированный, но везучий электрик знает в лицо всех архангелов.

Прогресс сделал розетки недоступными для большинства детей. Умирают только самые одаренные.

Ссылка на комментарий
Поделиться на другие сайты

LL: movlw H'05'

movwf x

movlw time_engine ; cycle 3 min for engine work (180 * 1 sec inside cycles)

movwf count2

measure12

decf sdn,f ; проверка на пора включать анализ датчика

clrf TMR0 ; cycle 1 sec for measure tachometr frec

movlw .250 ; 250 cycles

movwf count1

measure11

movlw .200 ; 4000 cycles

movwf count0

measure10

clrwdt

clrwdt

clrwdt

clrwdt

clrwdt

; clrwdt

; clrwdt

; clrwdt

; clrwdt

movf sdn,f

btfss STATUS,Z

goto jamp_over

incf sdn,f

if park_level

btfss port,parking

else

btfsc port,parking ; to repeat transmission check

endif

goto begin

jamp_over

clrwdt

clrwdt

btfss port,in1

goto begin

clrwdt

clrwdt

if startup

btfss port,in2

goto begin

else

nop

nop

endif

decfsz count0,f

goto measure10

decfsz count1,f

goto measure11

movf TMR0,w ; over 2000 round/min?

movwf temp

movlw round_acs1

subwf temp,w

btfsc STATUS,Z

goto begin

btfsc STATUS,C

goto begin

movlw round_min1 ; down 400 round/min?

subwf temp,w

btfss STATUS,C

goto begin

decfsz count2,f

goto measure12

decfsz x,f

goto LL

Вот посмотри исправленный цикл задержки .Программа задержки будет крутится 5 раз .

Я думаю,что не сразу ,но разберемся.Была добавлена переменная x.

Если будет долго работать ,то изменяя в переменной x ( по метке LL) число можно корректировать время.

Изменено пользователем cheerful_ man
Ссылка на комментарий
Поделиться на другие сайты

Какие ошибки пишет?

Ты в переменных должен обЪявить переменную х и поставить

Я вставил те строки что что вы написали! сори в программировании и редактировании не силен :(

post-176920-0-66908900-1388222536.png

Ссылка на комментарий
Поделиться на другие сайты

А сделать изменения которые изложены в 15 посте не пробовали?

Не квалифицированный, но везучий электрик знает в лицо всех архангелов.

Прогресс сделал розетки недоступными для большинства детей. Умирают только самые одаренные.

Ссылка на комментарий
Поделиться на другие сайты

Значит в первом случае я более менее правильно понял...

Думаю может подсесть на новогодние каникул на ассемблер ПИКа (а затем и АВРа)..

У ПИКов команд то всего три десятка, зато правил в его ассемблере куда больше...

Из за малого колва команд мне и не нравится ПИКи..

Щас посмотрел ещё раз прогу и разглядел, что подпрограмм там где я их увидел нет :)

Это просто метки (хм... я привык что метки расположены в одной строке с операндами)

cheerful_ man

По моему , брать в цикл большой кусок программы не стоит , там как будто

есть условный выход и на второй цикл она может попросту не попасть...

movlw time_engine ; cycle 3 min for engine work (180 * 1 sec inside cycles)

movwf count2

measure12

decf sdn,f ; проверка на пора включать анализ датчика

clrf TMR0 ; cycle 1 sec for measure tachometr frec

movlw .250 ; 250 cycles

movwf count1

measure11

movlw .200 ; 4000 cycles

movwf count0

measure10

clrwdt

clrwdt

clrwdt

clrwdt

clrwdt

; clrwdt

; clrwdt

; clrwdt

; clrwdt

movf sdn,f

btfss STATUS,Z

goto jamp_over

incf sdn,f

А вот зациклить задержку по таймеру можно попробовать...

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

cheerful_ man не придумает что то раньше :)...

Изменено пользователем Лалюна

Не квалифицированный, но везучий электрик знает в лицо всех архангелов.

Прогресс сделал розетки недоступными для большинства детей. Умирают только самые одаренные.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Подскажите номинал резистора указанного на фото пожалуйста. Спасибо. родной от перегрева изменил цвет, облез до резистивного материала и вышел из строя. Sven IHOO T100.
    • В квартирах - в каждой, в общественных зданиях - в кабинете директора, дежурного, на посту охраны.
    • Нуууу... покупать фен, шоб только погреть.... не знамо.... Может газовым паяльником, горелкой какой-нить....  я во времена легендарной молодости, одному кренделю доказывал, что глючит проц. так. Вытащил плату (ТВ это был), обернул пищевой фольгой, дыру прорезал (....) над ИМС и зажигалкой зафигачил! Копоть маненько была.... Но ТВ месяц-два отработал. 
    • Я, поскольку в гражданском строительстве работаю, вынужден регулярно с этой хре прекрасной штукой сталкиваться. Оно по нормам обязательно во всех свежепостроенных зданиях. И если в старой застройке это ещё имело смысл - там всё "железно" сделано, стальные провода (127В, что-ли), которые приходят на мачту на крыше, оттуда на трансформаторы где становится "абонентскими" 30В и через ограничительные коробки расходится по радиоточкам, то современная реализация - просто профанация по сути. Линия приходит цифровая, по оптике от оператора (ну да, там типа оператор имеет лицензию на работу в условиях ЧС но риали, какой сетевой коммутатор переживёт близкий ядерный взрыв?) и приходит на замечательный "типа отечественный" прибор "Отзвук", который уже формирует выходное 30В для радиоточек. Ну и заодно по FM может принимать выбранную станцию. Всё это уже настолько хлипко что ни о какой реальной работе в условиях ЧС и речи быть не может. И ведь ещё и обязательно это всё довести до кабинета директора/начальника производства. И стоит такой огромный бизнес-центр, заседает высокое руководство, а в углу кабинета спрятана страшная, убогая радиорозетка, которую 1 раз при сдаче включили и забыли нафиг.
    • Тему подняли после 10 с лишним лет 
×
×
  • Создать...