Микроконтроллеры | Ликбез по программированию PIC |
|
---|---|---|
Это точно, спорить тут не о чем, каждый программирует по-своему. |
|
|
picmaniac: Splav56, я Вам по e-mail о выявленных замечаниях сообщил. Спасибо, получил. |
|
|
SAK: Я бы предложил создавать для каждого проекта новую ветку, это облегчит поиск информации. Согласен. Новую ветку предлагаю назвать "Ликбез по программированию PIC, часть №2" В ней есть предложение рассмотреть следующее изменение: кнопки заменить на матрицу из кнопок, пока 2х2. Соответствие между номером нажатой кнопки и зажиганием с/д оставить прежним. Просьба не торопиться, пока окончательно не освоим материал первой части. |
|
|
Итоги тестирования программ picmaniac'a и SAK'a: 1. программа picmaniac'a на макете ведет себя идеально, четко исполняется заданный алгоритм. |
|
|
Splav56: программа SAK'a глючит |
|
|
gan: А что за команда banksel PORTB Это директива выбора банка для прямой адресации: banksel <label>, где <label> наименования регистра. Описана на стр.21 русифицированного руководства MPASM. Написание banksel PORTB равнозначна переходу в банк 0, где этот регистр находится. Вместо PORTB можно было бы указать любой регистр нулевого банка. Соответственно banksel TRISB равнозначен выбору банка памяти 1. gan: Обе программы абсолютно идентичны Я не знаю почему, но на макете получилось так. Чуть позже повторю эксперимент. Нашел принципиальные вещи в своей программе, почему она не могла работать: 1) забывал после каждого блока возвращаться к началу цикла, 2) использовал операцию лог. И, которая в принципе для этого сравнения не годится. В программе используется регистр TEMP, как посмотреть его изменения в MPLAB? Я что-то не нашел. В окне RAM ячейка с адресом 073h не меняется. gan: А не хотите ли всё это завернуть в цикл? |
|
|
View->Watch |
|
|
У меня версия 5.70.40 там такого нет |
|
|
У вас в окне регистры спец. назначения, там его конечно нет. Был где-то, это я точно помню, либо в дебуге, либо в тулзах.. Сейчас народ подтянется, подскажет. |
|
|
Проверил еще раз на макетке обе программы, результат подтвердился. В программе SAK'a какая-то проблема с входными портами. Если пальцем замыкаешь ыходные порты на общий (вносишь ёмкость), то программа начинает более-менее выполняться нормально, но тоже иногда сбоит. Если входы не трогать, то загорается с/д на RB0 и программа сильно глючит. Такое ощущение что подтягивающие резисторы не включены на входах. Возможно из-за того, что у меня 628А и bcf OPTION_REG,NOT_RBPU тут не катит? |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |