[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Alex_ 28 ноября 2001 г. 14:12
В ответ на: Верно ли,что программа сделаная под PIC16F84 без изменений подходит дляPIC16F 628-го? отправлено 00 28 ноября 2001 г. 11:17

Здравствуйте.

Программа с PIC16F84 может легко быть перенесена на PIC16F628, но вот на что надо обратить внимание.

1. Биты конфигурации.
- Если бит LVP=1, то включен режим низковольтного программирования и вывод RB4 как порт ввода/вывода использоваться не может.
- Если в устройстве используется внешний сброс микроконтроллера, то бит MCLRE должен быть 1.
- Обратите внимание на биты конфигурации тактового генератора.

2. При инициализации PORTA необходимо отключить компаратор (поскольку в PIC16F84 его нет):
CLRF PORTA
MOVLW 0X07
MOVWF CMCON
BCF STATUS, RP1
BSF STATUS, RP0
MOVLW 0x1F
MOVWF TRISA

3. В PIC16F84 бит разрешения прерываний от EEPROM памяти EEIE находиться в регистре INTCON<6>, в PIC16F628 на этом месте бит разрешения прерываний от периферийных модулей PEIE. Проверьте размещение битов прерываний от EEPROM памяти данных.

4. Регистры общего назначения в PIC16F84 начинаются с адреса 0Ch/8Ch в банках 0/1 соответственно. В PIC16F628 регистры специального назначения расположены в первых 32 регистрах банков памяти (0-1F для банка 0). Некорректное обращение с этими регистрами может привести к непредсказуемой работе программы.

5. В PIC16F84 область памяти данных 8Ch – CFh отображается на 0Ch – 4Fh. В PIC16F628 отображаемая область памяти данных во всех банка расположена по адресу 70h –7Fh.

6. В PIC16F84 два банка памяти, поэтому бит PR1 (для прямой адресации) и IRP (для косвенной адресации) в регистре STATUS не имели значения. В PIC16F628 четыре банка памяти данных, и указанные биты управляют их выбором. Проверьте использование этих битов в программе.

Если чего забыл, дополните.

Программа должна работать нормально, т.к. назначение выводов у этих микроконтроллеров совпадает (у PIC16F628 естественно добавились новые функции).

С уважением, Александр.



Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru