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

Компиляция Программы


SSam

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

Вообщем дело про этот программатор (http://forum.cxem.net/index.php?showtopic=37630)

программатор работает, шьет, все ОК.

Прошивал тестовой прошивкой, шла в формате bin,

смысл прошивки, мигать портами МК.

Как писал выше, прошилось все на ура, собрал тестовую схему, все мигает как описано.

Далее захотел попробывать скомпилить сам прошивку, взял код самый простой что нашол в журнале (Радиоаматор 2004\05):

#include <io51.h>

void main (void)
{
while (1)
{
 P1.3 = P3.4;
 P3.7 = P3.5 ^ 1;
}
}

Смысл кода и схемы:

на выводах P1.3 и P3.7 висят светодиоды, к P3.4 и P3.5 подключены кнопки,

если кнопка P3.4 нажата, горит светодиод на P1.3, если отпущена - не горит...

если кнопка P3.5 нажата, не горит светодиод на P3.7, если отпущена - горит...

компилю это все с помощью IAR4 (качал к статье журнала Радиоаматор 2004\05)

прошивка получается в HEX формате

и с помощью программки htobv2 конвертирую прошивку в bin файл

делаю это все батником с таким содержанием:

--------------

icc8051 -mt -I..\INCLUDE\ -L -P -s mk3.c

xlink mk3.r03 -o mk3.hex -f lnk8051.xcl

htobv2 MK3

--------------

Далее пытаюсь шить этой прошивкой, пишет все ок, прошито.

собрал тестовую схему, не горит ниодин светодиод и естественно не реагирует на кнопки...

сверял прошивку, полученную в HEX формате, идентичная с той что напечатана в журнале.

Может быть, что BIN получается кривая? и тем ли я ее конвертирую из HEX в BIN?

Кто что подскажет, кто сталкивался, кто компилил... черканите, подскажите...

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

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

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

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

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

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

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

Zer, да схема там почти таже что и для той прошивки (BIN) которая работает... там все стандартно, кварц между 4, 5 ногой (~12 мгц), 2 конденсатора (по 30 пкф) от 4-й и 5-й ноги к общему проводу, конденсатор на питании (0,1мкф), конденсатор от 1-й ноги (0,33мкф) к общему,

и с выходов P1.3 (15-я нога) и P3.7 (11-я нога) два светодиода через резистор (~300 Ом) к плюсу питания.

(схему прикрепил - журнал "Радиоаматор" 2004\05)

чуть не забыл, в прошивке изменил порты в соответствии с схемкой тестовой...

СХЕМКУ прикрепил с журнала! Для общего понимания сути...

В РЕАЛЬНОЙ схемке моей, выходы использую P1.2 (14-я нога) и P1.6 (18-я нога), на них светодиоды...

и микрик впаял на P3.0 (2-я нога), т.е. цепь: 2-я нога\микрик\общий провод

прошивку изменял на эту:

#include <io51.h>

void main (void)
{
while (1)
{
 P1.2 = P3.0;
 P1.6 = P3.0 ^ 1;
}
}

HEX получился такой:

:0F00B500A2B09292A2B0E433640113929680F14C
:03000000020003F8
:1000030075810778077600D8FC900000AE83AF8235
:100013009000001200416005E4F0A380F690009F79
:1000230012004A9000A312004A9000A712006890A1
:1000330000AD12006875D0001200B50200B3EF6581
:10004300827003EE658322E493F8740193F97402DA
:1000530093FE740393F5828E83E869700122E4931F
:10006300F6A30880F4E493FC740193FD740293FEF9
:10007300740393FF740493F8740593F582888312D1
:100083000041700122E493A3A883A9828C838D820B
:10009300F0A3AC83AD828883898280E3080800B52E
:1000A300080800B5000000B500B5000000B500B5B4
:0200B30080FECD
:00000001FF

BIN файл, который получился с HEX, прикрепил тоже (в zip архиве)

принцип схемы, прошивки, должен получится такой: горит 1 светодиод, зажимаю микрик, тот что горел гаснет, загорается второй,

отпускаю микрик, все возвращается в предыдущее состояние - 1-й горит, второй не горит.

Но как я писал выше, это дело не работает :( (ничего не горит, хоть жми, хоть не жми)

post-37607-1228315889_thumb.jpg

MK3.zip

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

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

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

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

Попробуй вшить вот эту прогу. Если не заработает - показывай схему точь в точь, а не "тут я то заменил, а тут это..."

И проверь генерацию на 4/5 ногах.

PRG.rar

Пока в груди моей бьётся мотор, надежда есть на чистый бензин...

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

Попробуй вшить вот эту прогу. Если не заработает - показывай схему точь в точь, а не "тут я то заменил, а тут это..."

И проверь генерацию на 4/5 ногах.

ок попробую... а че она хоть делает? как я увижу что работает схема? :)

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

не работает... может просто я тебя запутал с портами, которые использовал... :)

вот схемку прикрепил, скомпиль еще раз под нее плз...

(про генерацию я не понял, как проверить и чем)

post-37607-1229170339_thumb.jpg

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

Во первых со второй ноги кинь 4.7 кОм на + питания.

Вшей вот эту прогу.

Померь напряжения на 14 и 18 ногах.

Посмотри осциллографом, что на 4 и 5 ногах.

PRG.rar

Пока в груди моей бьётся мотор, надежда есть на чистый бензин...

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

Во первых со второй ноги кинь 4.7 кОм на + питания.

Вшей вот эту прогу.

Померь напряжения на 14 и 18 ногах.

Посмотри осциллографом, что на 4 и 5 ногах.

Ок, все попробую кроме осцилографа... за неимением такового... (

А сопротивление получается парралельно кнопке? а для чего, черкани потом...

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

Нет не параллельно. Кнопка вторым выводом подключена к общему проводу, а резистор к плюсу. Для кнопок всегда лучше делать внешнюю подтяжку.

Жаль, что осциллографа нет...

Пока в груди моей бьётся мотор, надежда есть на чистый бензин...

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

Нет не параллельно. Кнопка вторым выводом подключена к общему проводу, а резистор к плюсу. Для кнопок всегда лучше делать внешнюю подтяжку...

А точно блин... то я плюс не увидел ) твой ))))

ок ...

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

Zer, короче попробовал, и оказалось работает твая первая прошивка и вторая :)

первая что ты прикреплял, горит 1 светодио, жму кнопку, он тухнет, загорается другой...

а вторую (последнюю что ты дал) горит 1 светодио, жму кнопку, загорается еще и второй (т.е. горит 2 светодиода)

отсюда вопросы... :)

1.чем ты откомпилил прошивку эту, в чем писал, если мало весит мож прикрепить или залить куданеть, чтоб стянуть...

2.чем получил hex код...

кстати на счет получения bin из hex...

той прогой что я свою конвертировал из hex в bin (файл htobv2.exe) твою прошивку не хотело перегонять, создавало файл в 0 байт...

а перегнало второй прожкой (файлик HEXTBCS.exe)

Так что жду с нетерпением... в чем писал, компилил :):):) ведь по виду мой HEX код на много больше и не работает ))), скомпиленный в IAR4,

а твой маленький... да удаленький :)

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

Так в чем проблема была?

первая что ты прикреплял, горит 1 светодио, жму кнопку, он тухнет, загорается другой...

а вторую (последнюю что ты дал) горит 1 светодио, жму кнопку, загорается еще и второй (т.е. горит 2 светодиода)

а не наоборот?

Писал на ассемблере. Сама программа в архиве. Там же компилятор и линкер.

Сперва прогу кидаем в компилятор. Коммандная строка:

x8051.exe имя_файла_программы

Получаем объектный файл. Далее запускаем линкер. Он запросит имя obj-файла. Вводи. Если объектный файл один и не используешь библиотек, то дальше ничего не вводи и дави Enter. На выходе будет файл формата Intel Hex.

PrgCompil.rar

Пока в груди моей бьётся мотор, надежда есть на чистый бензин...

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

1. проблема... = ) даже стыдно сказать )

я просто забыл что программка которую я использую, кушает "bin" файлы...

забыл переконвертировать = )

писало что прошито.. все ок... а на самом деле вотъс...

2. может и наоборот... главное что работает!

3. а на Си можно писать? потому что асм думаю неасилю... да и примеры с которых я начал все на Си...

p.s. сенк за прогу!

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

Можно, но не с асмовым компилятором. :)

А у тебя есть ченить такое на примете (для Си)? что уже использовал и проверял...? может что подскажеш...

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

Нету. Я на Си не пишу. Не нравится он мне...

А можеш поделиться справкой кокойнеть по асму именно в направлении сего контроллера? может с примерами даже?

чтоб болееменее было подробно и понятно...

к примеру откуда ты брал отето "p3.0", "setb", "clr"

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

У меня книжка была. Вообще на сайте Atmel'а есть инфа, но на английском. Я где-то видел на русском, но где не помню... На днях гляну.

Пока в груди моей бьётся мотор, надежда есть на чистый бензин...

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

  • 3 недели спустя...

   .org 00h		 ;Начало очередного сегмента кода с адреса 00h

Repit:					 ;Просто метка
mov	c,p3.0			;Загрузка бита из порта p3.0 во флаг переноса C(Carry)
jnc	Mode2		   ;Переход к Mode2, если флаг переноса сброшен(jnc - Jump if Not Carry)
Mode1:					 ;Просто метка
setb	p1.2			  ;Устанавливает p1.2 в единицу(SET Bit)
clr	p1.6				;Сбрасывает порт p1.6
jmp	Repit			 ;Переходит на метку Repit
Mode2:					 ;Тоже просто метка :)
clr	p1.2			  ;Сбрасывает порт p1.2
setb	p1.6			  ;Устанавливает p1.6 в единицу(SET Bit)
jmp	Repit			 ;Переходит на метку Repit

Как ты и просил.

Пока в груди моей бьётся мотор, надежда есть на чистый бензин...

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

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

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

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

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

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

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

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

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

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

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

    • Вот здесь человек описывает похожий метод, только в домашних условиях: https://www.kondratev-v.ru/zaryadnye/zaryadnoe-ustrojstvo-dlya-avtomobilnyx-akkumulyatorov.html
    • Доковырялся с макеткой так, что все перестало работать( И посмотрев внимательнее обнаружил, что в рабочем варианте у меня используется TPL5111 (ZFVX), а на макетке TPL5110 (ZALX). Китайцы видать напутали со сборкой положили и то и то. В одной статейке написано :  TPL5110 — таймер для управления внешним ключом питания, в качестве которого используется МОП-транзистор TPL5111 — таймер для управления внешним ключом питания, в качестве которого используется LDO-стабилизатор с функцией разрешения Что используется в качестве этого "LDO стабилизатора" пока не разобрался( Теперь только после праздников. пысы  Не получается блин просто))))))  
    • Тут я уже писАл, какой ток что на самом деле протекает.  
    • Как к модеру к нему конечно были вопросы. Ну и правила его не касались, когда кидался оскорблениями в адрес Василича. А за ответы на оскорбления Василич баны выхватывал
    • Смотрю, многие в усилителях избегают катодного повторителя. Либо сразу берут токовые лампы с хорошим усилением, либо два каскада последовательно на токовых лампах с низким усилением. Вроде бы на звук не влияет...
    • Имел дело с зарядкой батареек еще с советских времен. Тогда еще в магазине (!) купил специальную зарядку для ртутно-цинковых батареек, очень миниатюрная, зарядка шла от встроенного солнечного элемента (и это еще в советские времена!). Использовал для зарядки батареек для наручных часов, после первой зарядки батарейки хватало примерно на полгода, потом на 3-4 месяца. Потом (когда батарейка служила меньше двух месяцев) батарейка отправлялась на упокой. Спасала студента тогда очень эта вещица. Жалею что тогда не срисовал ее внутренности. А вот с зарядкой щелочных батареек пришлось заниматься уже значительно позже. Мне кто-то подарил такой набор (зарядка с комплектом перезаряжаемых батареек) - вот его обзор https://aphnetworks.com/reviews/pure_energy_xl  Все было нормально, но у всех этих батареек ресурс очень ограничен, примерно 25 циклов максимум. После чего емкость уменьшается и нет смысла их дальше использовать. После каждой зарядки емкость уменьшается, но не сильно. Реально раз десять заряжать можно точно без проблем. После того как выработался ресурс последней батарейки стал вопрос - а можно ли заряжать обычные батарейки тоже? Зарядка-то осталась... И как раз в то время приобрел обычные (т.е. "незаряжаемые") батарейки той же фирмы (PureEnergy). Оказалось что они заряжаются точно также, как и "заряжаемые"! Возможно что у них та же химия... Пробовал батарейки разных фирм, степени разряда. Короче говоря, фирменные всякие Дюраселлы и Энержайзеры не заряжаются вообще, и даже могут потечь во время зарядки. А вот самые дикие и дешевые нонейм чаще всего заряжаются без проблем. Насчет емкости - конечно емкость полностью не восстанавливается, но для работы в беспроводной клаве,, мышке или пульте вполне хватает и достаточно надолго.  Но занимаюсь этим нечасто, просто когда лень ехать в магазин за очередной партией батареек.  А если есть возможность, то предпочитаю переделывать питание под литий. Очень сильно достает саморазряд всяких Ni-Cd, Ni-MH - разряжаются даже те, которые якобы должны долго держать заряд. Схему зарядки еще не срисовывал (лень было разбирать), но схема сложнее чем все что я видел в Интернете. Напряжение заряда примерно 1,7в. xlaa_tds.pdf
    • Я делаю ставку на контакты NC реле запуска и NO реле торможения. Тем более они такие хлипенькие.
×
×
  • Создать...