|
|
|
|
Ребят спасибо огромное, с вашей помощью сделал ещё один шаг вперёд! всё заработало, как задумано. собрал конфигурационное слово как показано в мануале: __CONFIG _RC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_ON & _BODEN_OFF & _LVP_OFF & _MCLRE_ON & _CP_OFF & DATA_CP_OFF Компилятор сматерился, что не знает таких слов. Я вспомнил, что ещё не указывал ему, где я эти слова увидел, и прописал: #INCLUDE <P16F628A.INC> Скомпилировал, опробовал на симуляторе - работает! Потом засвечу пример, когда будет оформлен. |
|
|
Вот ещё пример логического элемента И на PIC16F628 - http://volt-info.ru/logicheskiy-element-i-na-mikrokontrollere-pic16f628a Просьба, если заметите косяк в исходнике, ну или ещё что по теме, пишите прям сюда, я постараюсь отслеживать ветку. Ссылки на файлы: http://volt-info.ru/sites/default/files/files/content/logic_i.asm - исходник на ассемблере http://volt-info.ru/sites/default/files/files/content/logic_i.hex - прошивка http://volt-info.ru/sites/default/files/files/content/primer_3_logika_i.rar - всё одним архивом |
|
|
Ещё раз всем привет! Возникла проблема с освоением прерываний на pic16f628a. Задача вроде плёвая, но уже битую неделю не могу запустить пример. Компилируется без ошибок, в симуляторе тоже ни каких матерков не было, а работать, как я задумывал, не хочет. Задача простая. Камень - PIC16F628A. RB0 - цифровой вход. Прерывание по нарастающему фронту сигнала на RB0. Основной цикл программы - пустое кольцо с NOP. В ПП прерывания к регистру счётчика прибавляется 1, содержание счётчика отправляется в W, а затем W копируется в PORTA, что бы зажечь диоды по битам с единицей. Далее выход из ПП прерывания. Подскажите пожалуйста, где может быть затык, мож чего не правильно делаю. Свой мозговой ресурс на данный момент исчерпан. Для самоконтроля, попробовал скомпилировать файл из самойчителя Карабельникова,собрал в симуляторе приведённую им схему. Пример тоже не дал ожидаемых результатов. Закралась мысль у меня, что симулятор не отрабатывает прерывания. Может кто попробовать у себя, может у Вас всё заработает? Файлы вот: http://www.fayloobmennik.net/2168980 retr_1 - файлы из самоучителя Карабельникова Break_Counter - мой вариант работы с прерываниями |
|
|
gentleangel, а какой симулятор? MPLab-SIM? |
|
|
допущены 2 ошибки 1. Читать нужно Тимофеева, а не Корабельникова. http://www.pic24.ru/doku.php/osa/articles/mpasm_formatting 2. Не разрешены прерывания. |
|
|
Сергей К: gentleangel, а какой симулятор? MPLab-SIM? Протеус версии 7.9 SP1 |
|
|
urry: допущены 2 ошибки 1. Читать нужно Тимофеева, а не Корабельникова. http://www.pic24.ru/doku.php/osa/articles/mpasm_formatting 2. Не разрешены прерывания. 1. За ссылку спасибо, уже не от Вас первого узнаю, что Корабельников не есть хороший источник для начинаний, хотя много от его писанины почерпнул. 2. А разве: BSF INTCON,1 ; Разрешить переход в ПП прерываний BSF INTCON,4 ; Разрешить прерывание по RB0/INT не есть разрешить прерывания? Подскажете, на какие настройки смотреть, и какими регистрами мотивировать прерывание? |
|
|
gentleangel: Протеус версии 7.9 SP1 Я бы посоветовал использовать штатный MPLab-SIM, он позволяет пошагово выполнять программу и смотреть наблюдать за нужными регистрами. |
|
|
недостаточно. Специально не скажу, какой еще флаг нужно поставить, чтобы нашел сам. В приложении к статье есть асмовский листинг вольтметра, можешь сравнить.
|
|
|
Сергей К: Я бы посоветовал использовать штатный MPLab-SIM, он позволяет пошагово выполнять программу и смотреть наблюдать за нужными регистрами. Спасибо, начну пользоваться оным. urry: Специально не скажу, какой еще флаг нужно поставить, чтобы нашел сам Этого достаточно, найду, отпишусь, скажете, правильно или нет |
|
|
|
|