Post Essentials Only Full Version |
---|
Guest
Super Member
0 what is wrong in my code:
if i compile the error massage is: and line: crc_ml equ 0x32 i search in the HELP of MPLAP and obey the instruction, but the error massage stay. #1 |
Guest
Super Member
RE: error 108 ?
0 I see one problem right off the bat… you have «0x00» on a line by itself. I can only assuem you meant to use an ‘org’ statement there… aspforum.mchp.guest #2 |
rkarnik
Super Member
RE: error 108 ?
0 CRC error, maybe? < Message edited by rkarnik — May 4, 2005 4:36:46 PM > — Rahul Recursion #3 |
danish.ali
Super Member
RE: error 108 ?
0 Do you have macros or included files in your source code? — Danish #4 |
Guest
Super Member
RE: error 108 ?
0
IMHO, best way for these situation is looking into .LST file… #5 |
lesh11
Super Member
RE: error 108 ?
0 Look up the cblock construct clock makes it much easier to add / remove variables also, did you intend to 0x00 line to be a org line? #6 |
Guest
Super Member
RE: error 108 ?
0 thanks for the information about cblock construct, i the data sheet i find nothing about that. where can i find inforamtion like this?
as far as i know the code is correct, or? Executing: «C:ProgrammeMPLAB IDEMCHIP_Toolsmpasmwin.exe» /q /p18F452 «kurztest.asm» /l»kurztest.lst» /e»kurztest.err» what is wrong with my code? #7 |
ric
Super Member
RE: error 108 ?
0 Most of your errors are self explanatory. You must not put directives in column 1, or they are interpreted as labels. The other errors are caused by this, because your cblock directive didn’t work. You asked wherre to read about these directives. They are all documented in the MPASM help built into MPLAB. I also post at: PicForum #8 |
danish.ali
Super Member
RE: error 108 ?
0 ric said:
That isn’t how it used to work. Another interesting point is that the system did not complain about crc_hi (unless jun’s copy-and-paste missed that bit). Seeing the path C: Programme MPLAB IDEMCHIP_Toolsmpasmwin.exe makes me think that this isn’t an English version of Windows. Is it possible that there are accented characters, or unicode character sets, that might be involved? — Danish #9 |
Click here follow the steps to fix Mplab Ide Error 108 and related errors.
|
|
To Fix (Mplab Ide Error 108) error you need to |
|
Step 1: |
|
---|---|
Download (Mplab Ide Error 108) Repair Tool |
|
Step 2: |
|
Click the «Scan» button | |
Step 3: |
|
Click ‘Fix All‘ and you’re done! | |
Compatibility:
Limitations: |
Mplab Ide Error 108 Error Codes are caused in one way or another by misconfigured system files
in your windows operating system.
If you have Mplab Ide Error 108 errors then we strongly recommend that you
Download (Mplab Ide Error 108) Repair Tool.
This article contains information that shows you how to fix
Mplab Ide Error 108
both
(manually) and (automatically) , In addition, this article will help you troubleshoot some common error messages related to Mplab Ide Error 108 error code that you may receive.
Note:
This article was updated on 2023-02-03 and previously published under WIKI_Q210794
Contents
- 1. What is Mplab Ide Error 108 error?
- 2. What causes Mplab Ide Error 108 error?
- 3. How to easily fix Mplab Ide Error 108 errors
What is Mplab Ide Error 108 error?
The Mplab Ide Error 108 error is the Hexadecimal format of the error caused. This is common error code format used by windows and other windows compatible software and driver vendors.
This code is used by the vendor to identify the error caused. This Mplab Ide Error 108 error code has a numeric error number and a technical description. In some cases the error may have more parameters in Mplab Ide Error 108 format .This additional hexadecimal code are the address of the memory locations where the instruction(s) was loaded at the time of the error.
What causes Mplab Ide Error 108 error?
The Mplab Ide Error 108 error may be caused by windows system files damage. The corrupted system files entries can be a real threat to the well being of your computer.
There can be many events which may have resulted in the system files errors. An incomplete installation, an incomplete uninstall, improper deletion of applications or hardware. It can also be caused if your computer is recovered from a virus or adware/spyware
attack or by an improper shutdown of the computer. All the above actives
may result in the deletion or corruption of the entries in the windows
system files. This corrupted system file will lead to the missing and wrongly
linked information and files needed for the proper working of the
application.
How to easily fix Mplab Ide Error 108 error?
There are two (2) ways to fix Mplab Ide Error 108 Error:
Advanced Computer User Solution (manual update):
1) Start your computer and log on as an administrator.
2) Click the Start button then select All Programs, Accessories, System Tools, and then click System Restore.
3) In the new window, select «Restore my computer to an earlier time» option and then click Next.
4) Select the most recent system restore point from the «On this list, click a restore point» list, and then click Next.
5) Click Next on the confirmation window.
6) Restarts the computer when the restoration is finished.
Novice Computer User Solution (completely automated):
1) Download (Mplab Ide Error 108) repair utility.
2) Install program and click Scan button.
3) Click the Fix Errors button when scan is completed.
4) Restart your computer.
How does it work?
This tool will scan and diagnose, then repairs, your PC with patent
pending technology that fix your windows operating system registry
structure.
basic features: (repairs system freezing and rebooting issues , start-up customization , browser helper object management , program removal management , live updates , windows structure repair.)
Форум РадиоКот • Просмотр темы — MPLAB в вопросах и ответах
Сообщения без ответов | Активные темы
ПРЯМО СЕЙЧАС: |
Автор | Сообщение |
---|---|
|
Заголовок сообщения: Re: MPLAB+PicKit2 Добавлено: Вт янв 31, 2012 10:55:30 |
Друг Кота
Карма: 27 Рейтинг сообщения: 0
|
Спасибо за ответ. |
Вернуться наверх |
Профиль
|
Реклама | |
|
|
virus33
|
Заголовок сообщения: Прошивка на asm в MPLAB IDE 8.86 Добавлено: Пт июл 13, 2012 22:29:50 |
||
Зарегистрирован: Пт июн 29, 2012 23:48:11 Рейтинг сообщения: 0
|
долго бился головой об стенку со своим жки, потом поняв что на форумах НИКТО НИЧЕГО ДАЖЕ НЕ ОТВЕТИТ начал пытаться сам изучать его и писать прошивку на старом добром ассемблере. Код: list p=16F628 main: LCD_OUT $FE,1,»hello» и в ответ получаю следующее: Код: ———- Т.Е. компилятор распознал даже указание паузы как обыкновенную метку. Конечно было бы круто если б кто то помог научится мне программить для мк(не за бесплатно канешн), но учитывая нынешнюю отзывчивость народа это что то из грани фантастики…. |
||
Вернуться наверх | |||
Реклама | |
|
|
zero648
|
Заголовок сообщения: Re: Прошивка на asm в MPLAB IDE 8.86 Добавлено: Пт июл 13, 2012 22:58:05 |
||
Карма: 5 Рейтинг сообщения: 0
|
На ассемблер совсем не похоже, это не асм, а какой то другой язык, вот и ругается компилятор, что ты хочешь скомпилить это как асм. |
||
Вернуться наверх | |||
zero648
|
Заголовок сообщения: Re: Прошивка на asm в MPLAB IDE 8.86 Добавлено: Пт июл 13, 2012 23:02:51 |
||
Карма: 5 Рейтинг сообщения: 0
|
Я, так понимаю, этот текст откуда-то выдран? или сам писал? |
||
Вернуться наверх | |||
Реклама | |
|
Выгодные LED-драйверы для решения любых задач КОМПЭЛ представляет со склада и под заказ широкий выбор LED-драйверов производства MEAN WELL, MOSO, Snappy, Inventronics, EagleRise. Линейки LED-драйверов этих компаний, выполненные по технологии Tunable White и имеющие возможность непосредственного встраивания в систему умного дома (димминг по шине KNX), перекрывают практически полный спектр применений: от простых световых указателей и декоративной подсветки до диммируемых по различным протоколам светильников внутреннего и наружного освещения. Подобрать LED-драйвер>> |
BOB51
|
Заголовок сообщения: Re: Прошивка на asm в MPLAB IDE 8.86 Добавлено: Сб июл 14, 2012 10:10:05 |
||
Карма: 89 Рейтинг сообщения: 0
|
|||
Вернуться наверх | |||
Реклама | |
|
|
Реклама | |
|
LIMF – источники питания High-End от MORNSUN со стандартным функционалом на DIN-рейку На склад Компэл поступили ИП MORNSUN (крепление на DIN-рейку) с выходной мощностью 240 и 480 Вт. Данные источники питания обладают 150% перегрузочной способностью, активной схемой коррекции коэффициента мощности (ККМ; PFC), наличием сухого контакта реле для контроля работоспособности (DC OK) и возможностью подстройки выходного напряжения. Источники питания выполнены в металлическом корпусе, ПП с компонентами покрыта лаком с двух сторон, что делает ее устойчивой к соляному туману и пыли. Изделия соответствуют требованиям ANSI/ISA 71.04-2013 G3 на устойчивость к коррозии, а также нормам ATEX для взрывоопасных зон. Подробнее>> |
Аlex
|
Заголовок сообщения: Re: Прошивка на asm в MPLAB IDE 8.86 Добавлено: Сб июл 14, 2012 13:17:44 |
||
Карма: 85 Рейтинг сообщения: 0
|
Цитата: поняв что на форумах НИКТО НИЧЕГО ДАЖЕ НЕ ОТВЕТИТ А зачем тогда пришли сюда ? Цитата: но учитывая нынешнюю отзывчивость народа это что то из грани фантастики…. А Вы считаете, что все обязаны разом бросить свои дела и метнуться вас учить программированию ? PS: Что это за говнокод у Вас ? С какого потолка он прилетел к Вам в голову ? Код: #define крутой терморегулятор Main: и получился регулятор, но почему-то так у меня не получается. Вы не знаете почему ? |
||
Вернуться наверх | |||
TripleKill
|
Заголовок сообщения: Re: Прошивка на asm в MPLAB IDE 8.86 Добавлено: Сб июл 14, 2012 15:43:11 |
Карма: 4 Рейтинг сообщения: 0
|
virus33, асм не умеет вызывать функции с параметрами. |
Вернуться наверх | |
kotpalych
|
Заголовок сообщения: Re: Прошивка на asm в MPLAB IDE 8.86 Добавлено: Сб июл 14, 2012 17:05:47 |
||
Карма: 20 Рейтинг сообщения: 0
|
Уважаемый virus33 если вы в своем коде уберете четыре верхних строки , все знаки # , и оба подчеркивания из main , то возможно компилятор PicBasicPro скомпилирует ваш код. Более подробно о компиляторе PicBasicPro можно почитать на сайте http://www.picbasic.ru , а здесь имеется пример работы с ЖКИ на ассемблере . |
||
Вернуться наверх | |||
virus33
|
Заголовок сообщения: Re: Прошивка на asm в MPLAB IDE 8.86 Добавлено: Вс июл 15, 2012 18:57:55 |
||
Зарегистрирован: Пт июн 29, 2012 23:48:11 Рейтинг сообщения: 0
|
BOB51, спасибо за ссылки, прочтены, продолжаю изучение асссемблера на мк=) Судя по даташитам, прочтенной литературы,тем с разных форумов и т.п. мой девайс должен отлично работать. Кстати! этот же девайс с этим дисплеем делал чел на оффтопе, у него все заработало без всяких изменений с первого раза! жаль что та тема 3-х летней давности…. так бы спросил че да как. Я просто в шоке и расстерянности! выкинул уже порядка 500р, сококо нервов и прочего — не понимаю, у кого научится не знаю. Готов уже даже заплатить чтобы мне сделали прошивку и рассказали че и как. Единственное что получилось вывести — абракадабру, и походу подпалить жки. kotpalych да ладно, раз уж взялся знач буду асм юзать. тем более на нем написана необходимая прошивка))) по теме Код: я дятелко пихать си в ассемблер Но компилятор продолжает радовать. с самой среды MPLAB компил практически не работает, зачастую залипает наглухо и непонятно что он сделал. Если пускать батником через cmd то тогда результат гарантирован(ессно если код без ошибок). |
||
Вернуться наверх | |||
kotpalych
|
Заголовок сообщения: Re: Прошивка на asm в MPLAB IDE 8.86 Добавлено: Вс июл 15, 2012 20:28:08 |
||
Карма: 20 Рейтинг сообщения: 0
|
Код: main: Это не ассемблер, это содрано с picbasic на нем и написано , причем с ошибками , команды LCDO_UT нет даже в пикбейсике. Пример работы с ЖКИ на ассемблере в приложении: Вложение:
|
||
Вернуться наверх | |||
BOB51
|
Заголовок сообщения: Re: Прошивка на asm в MPLAB IDE 8.86 Добавлено: Пн июл 16, 2012 06:13:28 |
||
Карма: 89 Рейтинг сообщения: 0
|
для начала правильно настроить проект надобно: |
||
Вернуться наверх | |||
Goga_Long
|
Заголовок сообщения: MPLAB IDE 888 Добавлено: Пт ноя 30, 2012 05:43:49 |
||
Зарегистрирован: Вт окт 02, 2012 12:18:04 Рейтинг сообщения: 0
|
Поставил на работе MPLAB IDE 888, ну то что скачано под рукой оказалось. Поучиться уму разуму. Выдает ошибку не могу открыть плагин дисплея. Я в недоумении. Комп вроде не совсем Г, правда видяха виасг3, задрипанная, но и MPLAB не авиасимулятор, подскажите в чём траблы? Сам конечно тоже поищу, и дома поставлю для сравнения, но хочется и там и там иметь один софт и таскать проекты на флэхе. На последний релиз MPLAB с буквой Х пока не думаю лезть, вроде недожёвано ещё. |
||
Вернуться наверх | |||
BOB51
|
Заголовок сообщения: Re: MPLAB IDE 888 Добавлено: Пт ноя 30, 2012 08:09:19 |
||
Карма: 89 Рейтинг сообщения: 0
|
|||
Вернуться наверх | |||
Goga_Long
|
Заголовок сообщения: Re: MPLAB IDE 888 Добавлено: Пт ноя 30, 2012 11:08:51 |
||
Зарегистрирован: Вт окт 02, 2012 12:18:04 Рейтинг сообщения: 0
|
Наверное НетФраме, у меня дома последняя а на работе наверное вообще никакой инсталляшки есть, поставлю. |
||
Вернуться наверх | |||
BOB51
|
Заголовок сообщения: Re: MPLAB IDE 888 Добавлено: Пт ноя 30, 2012 22:24:02 |
||
Карма: 89 Рейтинг сообщения: 0
|
Загляни в «личку» |
||
Вернуться наверх | |||
anatol378
|
Заголовок сообщения: Re: MPLAB IDE 888 Добавлено: Пт ноя 30, 2012 22:53:59 |
||
Карма: 9 Рейтинг сообщения: 0
|
Спасибо. Подумал что лабуХ так обозвали. Оказывается точно 3 восьмерки. Хорошо что не три шестерки иди три семерки как портвейн |
||
Вернуться наверх | |||
Goga_Long
|
Заголовок сообщения: Re: MPLAB IDE 888 Добавлено: Сб дек 01, 2012 03:25:48 |
||
Зарегистрирован: Вт окт 02, 2012 12:18:04 Рейтинг сообщения: 0
|
три бесконечности, вид лёжа С программером пиккитом3 пришёл диск, всё читается, датакаб убитый, ну и версия старая, то ли 78, то ли 83, шаромыжники. |
||
Вернуться наверх | |||
Goga_Long
|
Заголовок сообщения: Re: MPLAB IDE 888 Добавлено: Пн дек 03, 2012 04:15:33 |
||
Зарегистрирован: Вт окт 02, 2012 12:18:04 Рейтинг сообщения: 0
|
Запустил на рабочем. Поставил ишака8, , все доты последовательно, , потом джаву |
||
Вернуться наверх | |||
Chettuser |
Заголовок сообщения: Re: Отладка программы PIC в MPLAB Добавлено: Сб дек 15, 2012 19:44:17 |
|
Разобрался с вылетами при отладке программ: Если кому пригодится. Последний раз редактировалось Chettuser Вс дек 16, 2012 10:04:52, всего редактировалось 1 раз. |
Вернуться наверх | |
urry
|
Заголовок сообщения: Re: Отладка программы PIC в MPLAB Добавлено: Сб дек 15, 2012 21:13:20 |
||
Карма: 22 Рейтинг сообщения: 0
|
|||
Вернуться наверх | |||
Кто сейчас на форуме |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |
101 ERROR:
Ошибка пользователя при работе с директивами.
102 Out of memory.
Недостаточно памяти для макроса. #define или внутренней обработки.
Закройте открытые приложения и попробуйте выполнить компиляцию снова. Если данная ошибка произошла при выполнении компиляции MPASM DOS версии, попробуйте выполнить компиляцию MPASM Windows версией.
103 Symbol table full.
Недостаточно памяти для размещения таблицы символов.
Закройте открытые приложения и попробуйте выполнить компиляцию снова. Если данная ошибка произошла при выполнении компиляции MPASM DOS версии, попробуйте выполнить компиляцию MPASM Windows версией или MPASM_DP версией.
104 Temp file creation error.
Невозможно создать временный файл. Проверьте объем свободного места на диске.
105 Cannot open file.
Ошибка при открытии файла. Проверьте существование указанного файла. Ошибка также возникает при открытии исходного файла старой версии MPASM или защищенного от изменений файла.
106 String substitution too complex.
Слишком много вложений #define.
107 Illegal digit.
Неправильная цифра в числе. Допускаются следующие цифры в числах:
Двоичном 0-1;
Восьмеричном 0-7;
Десятичном 0-9;
Шестнадцатеричном 0-F.
108 Illegal character.
Использование недопустимого символа в имени метки. Допускаются следующие символы в именах меток: a..z; A..Z; 0..9; _. Имя метки не должно начинаться с цифры.
109 Unmatched (
Левая скобка не имеет соответствующую правую скобку. Например. «DATA (1+2».
110 Unmatched )
Правая скобка не имеет соответствующую левую скобку. Например, «DATA 1+2)».
111 Missing symbol.
Отсутствие символа. Директива EQU или SET не имеет <label> для присвоения значения.
112 Missing operator.
Отсутствие арифметического оператора в выражении. Например, «DATA 1 2».
113 Symbol not previously defined.
Использование не определенной переменной. Только метки адреса могут использоваться перед их определением. Константы и переменные должны быть сначала объявлены пользователем.
114 Divide by zero.
Обнаружение деления на нуль во время оценки выражения.
115 Duplicate label.
Объявление переменной более одного раза (например, в директивах EQU или CBLOCK).
116 Address label duplicated or different in second pass.
Определение метки адреса в памяти программ более одного раза.
Метка определена один раз, но адрес размещения изменился при втором проходе компилятора. Это может произойти когда пользователь изменяет биты указателя страницы памяти программ в макрокомандах, генерирующие различные значения на основе текущего адреса.
117 Address wrapped around 0.
Адрес выполнения программы может достигать значения FFFF, после чего будет иметь адрес 0.
118 Overwriting previous address contents.
Код был предварительно определен для данного адреса.
119 Code too fragmented.
Код программы имеет слишком много частей. Данная ошибка возникает очень редко, только при попытке обращения к памяти программ с адресом выше 32Кбайт (включая биты конфигурации).
120 Call or jump not allowed at this address.
Переход не может быть выполнен. Например, все команды CALL для микроконтроллеров Р1С16С5х должны обращаться к младшей страницы памяти программ.
121 Illegal label.
Метка не может быть указана на этой строке. Разместите метку выше директивы. Так же HIGH, LOW, PAGE и BANK не допустимые имена меток.
122 Illegal opcode.
Недопустимый код инструкции.
123 Illegal directive.
Недопустимая директива для данного типа микроконтроллера. Например, директива___IDLOCS не может
использоваться для микроконтроллеров PIC17C42.
124 Illegal argument.
Неправильный аргумент. Например, LIST STUPID.
125 Illegal condition.
Неправильный блок условий. Например, отсутствие директивы ENDIF.
126 Argument out of range.
Значение аргумента инструкции или директивы выходят за допустимые рамки. Например, TRIS 10.
127 Too many arguments.
Слишком много аргументов для вызываемого макроса.
128 Missing argument(s).
Указаны не все аргументы в вызываемом макросе или команде.
129 Expected.
Ожидался иной тип аргумента. Ожидаемый список будет указан.
130 Processor type previously defined.
Выбраны разные типы микроконтроллеров.
131 Processor type is undefined.
Тип микроконтроллера указан после части текста программы. Обратите внимание, что покатил микроконтроллера не определен — набор поддерживаемых команд не известен.
132 Unknown processor.
Выбран неподдерживаемый тип микроконтроллера.
133 Hex file format INHX32 required.
Был определен адрес больше 32Кбайт. Например, указывая биты конфигурации для микроконтроллеров семейства PIC17CXX.
134 Illegal hex file format.
В директиве LIST был определен незнакомый формат HEX файла.
135 Macro name missing.
Попытка определения макроса без названия.
136 Duplicate macro name.
Дублирование имени макроса.
137 Macros nested too deep.
Превышен максимальный уровень вложенности макросов.
138 Include files nested too deep.
Превышен максимальный уровень вложенности файлов.
139 Maximum of 100 lines inside WHILE-ENDW.
Цикл содержит более 100 строк.
140 WHILE must terminate within 256 iterations.
Цикл имеет более 256 повторений. Предотвращение бесконечного цикла.
141 WHILES nested too deep.
Превышен максимальный уровень вложений циклов.
142 IFs nested too deep.
Превышен максимальный уровень вложений блоков условий.
143 Illegal nesting.
Недопустимое использование директив цикла, определения макроса или блока условия. Например, если вы имеете блок условия IF внутри цикла WHILE и обнаружена директива ENDW раньше INDIF.
144 Unmatched ENDC.
Найдена директива ENDC без директивы CBLOCK.
145 Unmatched ENDM.
Найдена директива ENDM без директивы MACRO.
146 Unmatched EXITM.
Найдена директива EXITM без директивы MACRO.
147 Directive not allowed when generating an object file.
Найдена недопустимая директива ORG при генерации объектного файла. Вместо директивы ORG создайте секцию .code и если необходимо укажите адрес.
148 Expanded source line exceeded 200 characters.
Превышена максимальная длина (200 знаков) символьной строки в директиве #DEFINE или в параметре макроса. Обратите внимание, что в директиву #DEFINE комментарии не включаются в отличие от макросов.
149 Directive only allowed when generating an object file section.
Использование директив, предназначенных для формирования объектного файла (например. GLOBAL и EXTERN), при непосредственной генерации кода программы.
150 Labels must be defined in a code or data section when making an object file.
Все переменные должны быть определены внутри секции объявления данных, he допускается использование директив EQU или SET вне секций объявления данных при генерации объектного файла.
151 Operand contains unresolvable labels or is too complex.
При генерации объектного кода операнды должны иметь следующий синтаксис: [HlGH|LOW]([<relocatable address label>]+[<offset>]).
152 Executable code and data must be defined in an appropriate section.
При генерации объектного файла блоки исходного текста программы и определение данных должны быть помещены в соответствующих секциях.
153 Page or Bank bits cannot be evaluated for the operand.
Страница памяти программ или банк памяти не могут быть определены для операнда <relocatable address label> или <constant> директивами PAGESEL, BANKSEL или BANKISEL.
154 Each object file section must be contiguous.
Объявленная секция данных, кроме секции UDATA_OVR, имеет уже существующее имя в данном исходном файле. Разрешить эту проблему можно, назвав каждый раздел собственным именем или определять все данные в одном разделе. Эта ошибка возникает и при присвоении двум разделам разных типов одинакового имени.
155 All overlaid sections of the same name must have the same starting address.
Объявлена секция UDATA_OVR с существующим именем, но другим адресом.
156 Operand must be an address label.
Возникает во время генерации объектного файла при попытке объявить метки созданные директивой SET или EQU (а не в секции данных) как глобальные.
157 UNKNOWN ERROR.
Произошла ошибка, которую MPASM не может распознать. Это не является ошибкой, описанном в этом приложении. Свяжитесь с инженерами компании Microchip <FAE), если Вы не можете устранить эту ошибку.
LIST P=PIC16F84A ; указатель процессора
include <p16F84A.inc>
org 0x00 ; Вектор сброса
Goto Start
;***************************************************************
org 004 ;Начало процедуры обработки прерывания
movwf temp ; Сохранение рабочего регистра W в регистре temp
clrwdt ;Очистка сторожевого таймера для предотврашения
call Int1 ; сброса процессора каждый 18мс
movlw b'10100000' ; Разрешаем прерывания от таймера
movwf INTCON ;
movf temp,w ;Востанавливаем значение рабочего регистра
clrwdt ;Очистка сторожевого таймера
return ;Выход из процедуры обработки прерывания
;****************************************************************
org 0x10
segment ; Таблица преобразования DEC -> семисегментный код.
CLRF PCLATH
ADDWF PCL, F
dt 07E, b'00001100', 0B6, 09E, 0CC, 0DA, 0FA, 00E, 0FE, 0DE
Data1 ;*************десятки
CLRF PCLATH
ADDWF PCL, F
;0 1 2 3 4 5 6 7 8 9
dt 0,0,0,0,0,0,0,0,0,0
dt 1,1,1,1,1,1,1,1,1,1
dt 2,2,2,2,2,2,2,2,2,2
dt 3,3,3,3,3,3,3,3,3,3
dt 4,4,4,4,4,4,4,4,4,4
dt 5,5,5,5,5,5,5,5,5,5
Data2 ;***********единицы
CLRF PCLATH
ADDWF PCL, F
;0 1 2 3 4 5 6 7 8 9
dt 0,1,2,3,4,5,6,7,8,9 ;0
dt 0,1,2,3,4,5,6,7,8,9 ;10
dt 0,1,2,3,4,5,6,7,8,9 ;20
dt 0,1,2,3,4,5,6,7,8,9 ;30
dt 0,1,2,3,4,5,6,7,8,9 ;40
dt 0,1,2,3,4,5,6,7,8,9 ;50
; Программные регистры:
skan1 equ 20 ;рег хранения RB1,2
clok1 equ 21 ; хранение часов
sek equ 22 ;регистр хранения секунд
min equ 23 ;регистр хранения минут
cl_k equ 24
Dig_x equ 25 ; Значение X0:00 для индикации.
Dig_y equ 26 ; Значение 0X:00 для индикации.
Dig_z equ 27 ; Значение 00:X0 для индикации.
Dig_exp equ 28 ; Значение 00:0X для индикации.
cnt1 equ 29 ;переменная исп для задержки времени
cnt2 equ 2A ;переменная исп для задержки времени
cnt_r equ 2B ;переменная исп для задержки времени
temp equ 2C
clok2 equ 2D
temp1 equ 2E
n1 equ 2f
n2 equ 30
Start ; Начальная инициализация.
clrw
bsf STATUS,RP0 ; Обращение к банку 1.
clrf PORTA ; Обнулить порт А.
clrf PORTB ; Обнулить порт В.
movlw b'00010000'
movwf TRISA ; RA0 - RA3 выходы, RA4 вход.
movlw b'00000001'
movwf TRISB ; RB1 - RB7 выходы.RB0 вход
movlw b'00000101' ;коэффициен предделителя 64
movwf OPTION_REG
bcf STATUS,RP0 ; Обращение к банку 0.
movlw b'10100000'
movwf INTCON
clrf min
clrf sek
clrf cl_k
movlw 0
movwf TMR0
movlw 01 ; Для контроля дисплея
movwf Dig_x
movlw 02 ; загрузить во все регистры индикации 8.
movwf Dig_y
movlw 03
movwf Dig_z
movlw 04
movwf Dig_exp
movlw .131
movwf clok1
movwf TMR0
movlw .1
movwf temp1
Start1 ; Основной цикл программы.
movlw 19 ; Установить счетчик циклов индикации.
movwf cnt_r
loop1 clrwdt
call refresh ;индикаторы.
decfsz cnt_r, f
goto loop1
;***присвоение значения регистрам индикации в зависимости от режима ;индикации******
clrwdt
btfss temp1,0
call Temp_min
btfsc temp1,0
call Temp_clk
;******присвоение значения регистрам индикации
movf n1,0
call Data1
movwf Dig_x
movf n1,0
call Data2
movwf Dig_y
movf n2,0
call Data1
movwf Dig_z
clrwdt
movf n2,0
call Data2
movwf Dig_exp
;********клавишы установки режима индикации и времени*******
call Delay
btfss PORTA,4 ;сканируем клавишу установки режима RA4 вывод 3
incf temp1,1 ;прибавляем к темпу 1
btfss PORTB,0 ;клавиша установки времени RB0 вывод 6
call Min_clk
goto Start1
;************************************************************
Temp_min
movf min,0
movwf n1
movf sek,0
movwf n2
return
;************************************************************
Temp_clk
movf cl_k,0
movwf n1
movf min,0
movwf n2
return
;****************выбор прибавить минуты(0) или часы(1)***********
Min_clk
clrwdt
btfss temp1,0
incf min,1
btfsc temp1,0
incf cl_k
;*******проверка 60 мин 24 часа*****************
movf min,0
sublw .60
btfsc STATUS,Z
clrf min
movf cl_k,0
sublw .24
btfsc STATUS,Z
clrf cl_k
clrwdt
return
Sek ;*****************деление на125
movlw .131 ;записываем 131 т.к 256-125=131
movwf clok1
incfsz sek
movf sek,0
sublw .60
btfsc STATUS,Z
call Min
return
Min
clrf sek
incfsz min
movf min,0
sublw .60
btfsc STATUS,Z
call Clok
retfie
Clok
clrf min
incfsz cl_k
movf cl_k,0
sublw .24
btfsc STATUS,Z
clrf cl_k
retfie
Int1 ;процедура обработки прерывания
movlw .131 ;записываем 131 т.к 256-125=131
addwf TMR0,1 ;256(максимальное значение таймера)
incfsz clok1 ;125(нужный коэффициен деления)
return
call Sek
return
;***********************Вывод на индикатор*************
refresh ; Процедура сканирования индикации.
movf Dig_x, W ; Значение деситых.часов для индикации.
call segment ; Преобразование DEC -> семисегментный код.
movwf PORTB ; Вывод цифры на индикатор.
bcf PORTA, 0 ; Активизировать индикатор.
call Delay ; Задержка времени для сканирования.
bsf PORTA, 0 ; Отключить индикатор.
movf Dig_y, W ; Значение ед.часов для индикации.
call segment ; Преобразование DEC -> семисегментный код.
movwf PORTB ; Вывод цифры на индикатор.
bcf PORTA,1 ; Активизировать индикатор.
call Delay ; Задержка времени для сканирования.
bsf PORTA,1 ; Отключить индикатор.
movf Dig_z, W ; Значение десят.минут для индикации.
call segment; Преобразование DEC -> семисегментный код.
movwf PORTB ; Вывод цифры на индикатор.
bcf PORTA,2 ; Активизировать индикатор.
call Delay ; Задержка времени для сканирования.
bsf PORTA,2 ; Отключить индикатор.
movf Dig_exp, W ; Значение ед.минут.
call segment; Преобразование DEC -> семисегментный код.
movwf PORTB ; Вывод цифры на индикатор.
bcf PORTA,3 ; Активизировать индикатор.
call Delay ; Задержка времени для сканирования.
bsf PORTA,3 ; Отключить индикатор.
return
; ************************************************************
Delay ; Подпрограмма задержки времени
clrwdt
movlw .5 ; для сканирования индикации.
movwf cnt1
nop
beta movlw .150
movwf cnt2
Alfa nop
nop
decfsz cnt2, f
goto Alfa
nop
nop
decfsz cnt1, f
goto beta
nop
return
; *******************************************************
end
Тема: Компиляция прошивки на asm в MPLAB IDE 8.86 (Прочитано 10904 раз)
долго бился головой об стенку со своим жки, потом поняв что на форумах НИКТО НИЧЕГО ДАЖЕ НЕ ОТВЕТИТ начал пытаться сам изучать его и писать прошивку на старом добром ассемблере.
МК- PIC16f628A
состряпал я значит код в MPLAB IDE 8.86 (содрано с picbasic)
list p=16F628
#include <P16F628A.INC>
__CONFIG _LVP_OFF & _MCLRE_OFF & _XT_OSC & _BODEN_OFF & _CP_OFF & _WDT_OFF & _PWRTE_ON
#DEFINE OSC 4 ;Используеться кварц 4 мегагерц
#DEFINE LCD_DREG PORTB
#DEFINE LCD_DBIT 4
#DEFINE LCD_RSREG PORTB
#DEFINE LCD_RSBIT 3
#DEFINE LCD_EREG PORTB
#DEFINE LCD_EBIT 0
#DEFINE LCD_BITS 4
#DEFINE LCD_LINES 2
#DEFINE LCD_COMMANDUS 2000 ;Инициализация дисплея
#DEFINE LCD_DATAUS 50 ;Инициализация дисплея
main:
LCD_OUT $FE,1,"hello"
pause 1000
LCDO_UT $FE,1,"world"
pause 500
goto main
END
и в ответ получаю следующее:
----------------------------------------------------------------------
Release build of project `D:TESTTEST1.disposable_mcp' started.
Language tool versions: MPASMWIN.exe v5.46, mplink.exe v4.44, mplib.exe v4.44
Fri Jul 13 22:07:04 2012
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:Program FilesMicrochipMPASM SuiteMPASMWIN.exe" /q /p16F628A "TEST1.asm" /l"TEST1.lst" /e"TEST1.err"
Warning[207] D:TESTTEST1.ASM 18 : Found label after column 1. (LCD_OUT)
Error[108] D:TESTTEST1.ASM 18 : Illegal character ($)
Warning[207] D:TESTTEST1.ASM 19 : Found label after column 1. (pause)
Error[108] D:TESTTEST1.ASM 19 : Illegal character (1)
Warning[207] D:TESTTEST1.ASM 20 : Found label after column 1. (LCDO_UT)
Error[108] D:TESTTEST1.ASM 20 : Illegal character ($)
Warning[207] D:TESTTEST1.ASM 21 : Found label after column 1. (pause)
Error[108] D:TESTTEST1.ASM 21 : Illegal character (5)
Warning[205] D:TESTTEST1.ASM 23 : Found directive in column 1. (END)
Halting build on first failure as requested.
----------------------------------------------------------------------
Release build of project `D:TESTTEST1.disposable_mcp' failed.
Language tool versions: MPASMWIN.exe v5.46, mplink.exe v4.44, mplib.exe v4.44
Fri Jul 13 22:07:09 2012
----------------------------------------------------------------------
BUILD FAILED
Т.Е. компилятор распознал даже указание паузы как обыкновенную метку.
Подумав на собственную криворукость попробовал скомпилить уже готовую прошивку, валявшуюся на компе(тоже для пика, от терморегулятора). Там вообще на строчку по 100500 ошибок писалось(не буду их приводить т.к. смысла нет)
Кхм, и как тогда надо компилить код на ассемблере в MPLAB IDE?
В настройках среды ничего не менял, указал только свой тип мк.
« Последнее редактирование: 13 Июль 2012, 23:27:58 от virus33 »
Записан
О как.
Только poker face может играть в мафию.
« Последнее редактирование: 01 Январь 1970, 03:00:00 от Guest »
Записан
ZADROT MODE COMPLETE
MISSION PASSED
вы прискорбны ребята
:facepalm:
Конечно было бы круто если б кто то помог научится мне программить для мк(не за бесплатно канешн), но учитывая нынешнюю отзывчивость народа — особенно сдесь — это что то из грани фантастики….
« Последнее редактирование: 01 Январь 1970, 03:00:00 от Guest »
Записан
О как.
Только poker face может играть в мафию.
Ты сам хотя бы вникни что ты пытаешься сделать.
« Последнее редактирование: 01 Январь 1970, 03:00:00 от Guest »
Записан
ZADROT MODE COMPLETE
MISSION PASSED
вы прискорбны ребята
Конечно было бы круто если б кто то помог научится мне программить для мк(не за бесплатно канешн), но учитывая нынешнюю отзывчивость народа — особенно сдесь — это что то из грани фантастики….
родной кто тя учить будет? сам ищи и учись.
« Последнее редактирование: 01 Январь 1970, 03:00:00 от Guest »
Записан
MEW you fail!
вот это и пытаюсь сделать.
Я долго курил литературу по mpasm, MPLAB IDE, ассемблеру, курил дш по моему мк и дисплею, смотрел примеры. Но! в примерах часто употребляются для вывода такие комманды LCD_OUT LCD_SND_CHR CHR_SND и тому подобные, когда в тоже время в остальной литературе этих комманд не находил вообще, а внятного описания откуда они беруться и подавно.
покажешь где мои ошибки и как надо правильно писать будет круто
« Последнее редактирование: 01 Январь 1970, 03:00:00 от Guest »
Записан
О как.
Только poker face может играть в мафию.
лол я и сам начинающий же. пока готовлюсь программатор пилить
« Последнее редактирование: 01 Январь 1970, 03:00:00 от Guest »
Записан
MEW you fail!
когда в тоже время в остальной литературе этих комманд не находил вообще
Вот тебе подсказка. Ты думаешь в ассемблере есть отдельные команды для вывода в дисплей?
« Последнее редактирование: 01 Январь 1970, 03:00:00 от Guest »
Записан
ZADROT MODE COMPLETE
MISSION PASSED
лол я и сам начинающий же. пока готовлюсь программатор пилить
могу кинуть рабочую схемку программатора для пиков, шьет 100%
когда в тоже время в остальной литературе этих комманд не находил вообще
Вот тебе подсказка. Ты думаешь в ассемблере есть отдельные команды для вывода в дисплей?
нет канешн, доп команды задаються в библиотеке к тому или иному девайсу, которые затем нужно инклудить в программу
ладно, тот код я не понимаю, но вот этот(мигалка светодиодом) он не компилит. Расписал коменнтариями(могу и по подробнее)
;--- Шапка программы ---
list p=16f628a
#include <PIC16F628A.INC>
__CONFIG _LVP_OFF & _MCLRE_OFF & _XT_OSC & _BODEN_OFF & _CP_OFF & _WDT_OFF & _PWRTE_ON
#define PORTB, 0
CBLOCK 0x20
ENDC
Const1 equ .1
Const2 equ .5
TRISB equ 06h ;(1-й банк)
PORTB equ 06h ;(0-й банк)
Status equ 03h
Z equ 02h
;--- Тело программы ---
org 0h
; можно выполнить 3 команды
; основной программы
goto start
org 4h
; подпрограмма обработки прерываний
start ; продолж. основной программы
bcf PORTB, 0 ; устанавливаем начальное состояние
; (уровень, который установится на RB0
; после переключения направления работы
; на выход, 0 - низкий уровень, 1 - высокий
bsf Status, RB0 ; переходим в первый банк (нужный
; нам регистр TRISB находится там), для чего
; устанавливаем в 1 бит RB0 регистра Status
bcf TRISB, 0 ; устанавливаем в 0 нулевой бит регистра TRISB
; (устанавливаем направление работы RB0 - на выход)
bcf Status, RB0 ; возвращаемся в нулевой банк
end
в ответе видим:
Error[113] D:TESTTEST.ASM 27 : Symbol not previously defined (RB0)
когда в начале программы указана строка #define PORTB, 0 а так же подключена библиотека.
Error[113] D:TESTTEST.ASM 32 : Symbol not previously defined (RB0)
На асфальте лыжи не едут…
« Последнее редактирование: 01 Январь 1970, 03:00:00 от Guest »
Записан
О как.
Только poker face может играть в мафию.
ладно, тот код я не понимаю
Хули ты тогда хочешь, если ты даже СИ НЕ РАЗЛИЧАЕШЬ С АССЕМБЛЕРОМ?
Symbol not previously defined (RB0)
Константа не была определена. Что ты под этим RB0 имел ввиду?
« Последнее редактирование: 01 Январь 1970, 03:00:00 от Guest »
Записан
ZADROT MODE COMPLETE
MISSION PASSED
да убете меня
rb0 -выход 6й ноги на порту B.
Добавил
чет меня смущает мой компилятор… Открыл опять код, ничего не меня нажал f10(компил), дабы снова глянуть лог. BUILD SUCCESS. Эммм… Накурка?
« Последнее редактирование: 01 Январь 1970, 03:00:00 от Guest »
Записан
О как.
Только poker face может играть в мафию.
А собственно дался вам этот ассемблер? Пили на си в кодвижн самый смак, у мня мега 48, дык в нее даже v usb почти запихнул. Основную на си, участки критичные к производительности на asm думаю так и больше никак, ибо асм перепиливать надо больше времени
« Последнее редактирование: 01 Январь 1970, 03:00:00 от Guest »
Записан
я дятелко
:facepalm:
пихать бейсик в ассемблер
Но компилятор продолжает радовать. с самой среды MPLAB компил практически не работает, зачастую залипает наглухо и непонятно что он сделал. Если пускать батником через cmd то тогда результат гарантирован(ессно если код без ошибок).
Вот че терь с этим делать №и%!я не понятно. При открытии проэкта в MPLAB не появляется ни одного окошка, компилятор со среды не пашет, компилит криво… С каким бубном плясать, не подскажете?
Кодвижн вроде для AVR’ок, насколько я понимаю…
« Последнее редактирование: 01 Январь 1970, 03:00:00 от Guest »
Записан
О как.
Только poker face может играть в мафию.
У мну пока наиболее стабильная связка получилась в виде CodeVision + avrstudio5 + VS2010 + программатор AVR910
как мну хотеть ленепопячиватель…
ЗЫ: это не бейсик, это риальне Си! писали же)
« Последнее редактирование: 01 Январь 1970, 03:00:00 от Guest »
Записан
KILL ME PLEASE!!!!!!!!
Хе, мну круче)))
лень было плату разводить так программатор (jdm) на проводках собрал, вот как!
« Последнее редактирование: 01 Январь 1970, 03:00:00 от Guest »
Записан
О как.
Только poker face может играть в мафию.