![]() | |
НПО Системы Безопасности (499)340-94-73 График работы: ПН-ПТ: 10:00-19:00 СБ-ВС: выходной ![]() ![]() |
Главная » Периодика » Безопасность 0 ... 949596979899100 ... 159 PIC16F8X Разъем ICSP MCLR Vdd Vss RB7 RB6 /7777 Data Clock Рис. 9.6 Схема для внутрисхемного программирования микроконтроллеров PIC16F8X программирования, и ток, который по ней передается, составляет несколько микроамперов. Основной ток потребляется через линию Vdd. Для микроконтроллеров 16F8x применяется тот же формат инструкций программирования, что и для EPROM-микроконтролле-ров среднего подсемейства, хотя инструкции и способ их выполнения несколько отличаются (табл. 9.7). Таблица 9.7 Набор инарукций для программирования Flash PIC-микроконтроллеров среднего подсемейаво
Данные, как и в случае с EPROM микроконтроллеров среднего подсемейства, всегда представлены в виде 16-битной последовательности, где первый и последний биты постоянно равны 0. Данные всегда передаются начиная с младшего бита в той же «хронологии» , что была описана выше для устройств среднего подсемейства. При передаче 14-битных данных формируются 16-разрядные слова инструкций путем сдвига данных влево (умножения на 2) и обнуления младшего и старшего битов. Цикл программирования PIC 16F8x состоит из следующих шагов: 1. Выполняется инструкция Load data for Prog ram Memory (Загрузить данные в программную память) с командным словом. 2. Отправляется инструкция Begin Programming (Начать программирование). 3. Выдерживается пауза длительностью 10 мс. 4. Выполняется инструкция Read Data f rom P год ram Memo ry (Считать данные из программной памяти) и проверяется содержимое памяти для программы. 5. Отправляется инструкция Increment PIC Program Counter (Инкрементирование программного счетчика). 6. Пункты 1-5 являются программным циклом Flash РХС-микроконтроллера и повторяются для каждой команды в шестнадца-теричном файле. 7. Отправляется инструкция Load Configuration (Загрузить конфигурацию) , устанавливающая в программном счетчике адрес 0x02000. 8. Пункты 1-4 повторяются для программирования конфигурации. Для стирания памяти используется специальная процедура, которая полностью освобождает Flash и EEPROM память PIC-микроконтроллеров, даже если будет установлен защитный бит: 1. Необходимо, удерживая низкий уровень на выводах RB6 и RB7, подать напряжение Vpp и подождать по крайней мере 2 мс. 2. Выполнить инструкцию загузки конфигурации (ОЬООООООО + 0X07FFE). 3. Инкрементировать программный счетчик для получения адреса регистра конфигурации (семь раз отправить последовательность битов ObOOOOl 10). 4. Отправить команду ObOOOOOOl на PIC-микроконтроллер. 5. Отправить команду ObOOOOl 11 на PIC-микроконтроллер. 6. Отправить команду Begin Programming (ObOOOIOOO) на PIC-микроконтроллер. 7. Выдержать паузу длительностью 10 мс. 8. Отправить команду ObOOOOOOl. 9. Отправить команду ObOOOOOII. Обратите внимание, что в этой последовательности есть две не-задокументированные команды (ObOOOOOOl и ОЬООООШ). ПРОГРАММИРОВАНИЕ PIC 17СХХ PIC 17Схх подключается к программатору в соответствии со схемой, показанной на рис. 9.7. Выводы портов PORTB и PORTC используются для передачи 16-разрядных данных, а выводы порта PORTA - для передачи управляющих сигналов программатора. Повышение напряжения на выводе MCLR до 13 В переводит Р1С-микроконтроллер в режим программирования. Усе I PIC17CXX Vpp Начало программирования Управление программированием Старший байт данных Младший байт данных
4-10 МГц Рис. 9.7 Схема параллельного программирования PIC 17Схх 77777 Программирование PIC 17Схх определяется как параллельное. Специальная программа загрузчика Boot ROM выполняется BHjTpn PIC-микроконтроллера, она принимает данные с портов ввода/вывода и осуществляет программирование кода. Для этого используется специальный вывод Test, на который при программировании еле дует подать высокий уровень. Для работы программы Boot ROM микроконтроллер должен тактироваться сигналом частотой от 4 до 10 МГц. Для перевода PIC-микроконтроллера в режим программирования линия Test активизируется прежде, чем на вывод MCLR поступает напряжение Vpp. Затем на PORTB подается код OxOEl для запуска 0 ... 949596979899100 ... 159 |