Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
25.05.2010, 19:26
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: Программа PIC16F84 для PIC16F628
Если со злости не поубивал всё, завтра попробую перетащить с "рабочей" машины...
Спасибо за отзывчивость!
|
|
|
|
26.05.2010, 19:39
|
|
Прописка
Регистрация: 24.03.2010
Сообщений: 237
Сказал спасибо: 20
Сказали Спасибо 769 раз(а) в 139 сообщении(ях)
|
Re: Программа PIC16F84 для PIC16F628
Я лично PIC16F628 недолюбливаю (как промежуточный вариант), почему не на 877. Два банка памяти, сравнить вектора прерываний (по datasheet), нач адреса спец регистров (по datasheet), в 877 по умолчанию все доп настроики портов отключены (можно и ручками прописать), пробежаться по программе и проверить попадание в нужные банки.
Описание 877 на русском есть. Портирование обычно проблемм не вызывает. Единственное в тексте асм 84 могут встретисься некоторые устаревшие команды, протеус на них ворчит, но пропускает, а работать неправильно будет.
|
|
|
|
29.05.2010, 14:19
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: Программа PIC16F84 для PIC16F628
Выпускные, день пограничника....
Не успел выполнить во время в общем....
Всех с праздниками!!! (Хотя, кому как) ![Учучь на ошибках](images/smilies/icon_fingal.gif)
Вот, то, что направил.....
переводил Промтом, где сомневался.... не судите строго.... For 628
|
|
|
|
29.05.2010, 15:23
|
|
Гражданин KAZUS.RU
Регистрация: 17.08.2008
Сообщений: 770
Сказал спасибо: 52
Сказали Спасибо 450 раз(а) в 202 сообщении(ях)
|
Re: Программа PIC16F84 для PIC16F628
Первое что бросилось в газа- tris PORTA
Цитата:
|
RP1 RP0
Банк 0 0 0
Банк 1 0 1
Банк 2 1 0
Банк 3 1 1
|
Согласно Рис. 4-3 Карта памяти данных микроконтроллеров PIC16F627 и PIC16F628 стр 15 описания PIC16F62x RUS -- TRISA находится в Банк 1 те RP1=0 RP0=1
Чтобы перейти Банк 1 bsf STATUS,RP0; bcf STATUS,RP1; ..... ; tris PORTA;
Чтобы перейти обратно в Банк 0 bсf STATUS,RP0; bcf STATUS,RP1;
Нужно посмотреть программу и согласно карте памяти расставить нужные банки памяти для всех регистров специального назначения (и общего, если используется)
Ну и конфиг подправить как раньше говорили
Я еще обычно в начале подпрограмм везде ставлю банк 0 чтобы не путаться
Последний раз редактировалось XoDoK11; 29.05.2010 в 15:26.
|
|
|
|
30.05.2010, 21:48
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: Программа PIC16F84 для PIC16F628
А если так:
... ...
BCF STATUS, RP0
BCF STATUS, RP1
CLRF PORTA
CLRF PORTB
MOVLW 0x07
MOVWF CMCON
BSF STATUS, RP0
MOVLW 0xFF
MOVWF TRISA
MOVLW 0X00
MOVWF TRISB
BCF STATUS, RP0
... ...
MPLab всеравно ругается:
Register in operand not in bank 0. Ensure that bank bits are correct.
Как быть? Рекомендовано для 628 вообще не использовать TRIS'ы
|
|
|
|
30.05.2010, 21:57
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: Программа PIC16F84 для PIC16F628
Сообщение от rusyvochka
|
MPLab всеравно ругается:
Register in operand not in bank 0. Ensure that bank bits are correct.
Как быть?
|
Кто ругается? ![Рот до ушей](images/smilies/icon_doushei.gif)
Он предупреждает, что регистр не с нулевого банка, чтобы вы обратили внимание на правильность банка, и всего лишь.
|
|
|
|
30.05.2010, 22:35
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: Программа PIC16F84 для PIC16F628
Но выбран то первый банк???
|
|
|
|
30.05.2010, 22:46
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: Программа PIC16F84 для PIC16F628
Ну и что? ![Рот до ушей](images/smilies/icon_doushei.gif)
Это не ошибка, это предупреждение и если у вас всё правильно, то игнорируйте его, на конечный результат это не повлияет. Этот варнинг можно отключить, но я бы не советовал - лучше лишний раз просмотреть и удостовериться, что обращение к регистрам правильное, что банк переключен.
|
|
|
|
30.05.2010, 22:59
|
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,530
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
|
Re: Программа PIC16F84 для PIC16F628
Сообщение от st_1
|
лучше лишний раз просмотреть и удостовериться, что обращение к регистрам правильное, что банк переключен.
|
А лучше не самому переключать банки, а использовать встроенный макрос BANKSEL.
Пример: BANKSEL TRISA
|
|
|
|
31.05.2010, 16:12
|
|
Прописка
Регистрация: 25.11.2006
Адрес: Харьков
Сообщений: 295
Сказал спасибо: 25
Сказали Спасибо 71 раз(а) в 60 сообщении(ях)
|
Re: Программа PIC16F84 для PIC16F628
Сообщение от rusyvochka
|
Рекомендовано для 628 вообще не использовать TRIS'ы
|
Рекомендуют не использовать не регистры TRISA, TRISB, без них не обойтись, а команду tris, которая была в старых ПИКах. А так в Вашем посте #15 все правильно (если весь порт A на вход, а весь порт B на выход). Но, на будущее, значения, загружаемые в TRIS, лучше писать в двоичном формате - так нагляднее распределение входов/выходов.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:19.
|
|