Программирование PIC16F84

Aug 16, 2003 1 Replies

Я так понимаю, что при включении питания выводы RB6 (Clock) и RB7 (Data) должны быть притянуты к нулю, вывод MCLR - к +12в. Счётчик адреса в МК стоит на отметке 0x0000. Далее начинаю тактирование по RB6 с длиной фронта импульса, равно не менее 100нс (т.е. частота ограничена лишь минимальным значением, я правильно понимаю ?). Одновременно по RB7 начинаю выводить информацию, меняя уровень на данном выводе только при низком уровне на RB6. После отсылки 6 байт команды загрузки информации (000010), жду не менее



1мкс, и начинаю принимать 16 бит данных от МК. Далее удерживаю вывод RB6 в низком уровне не менее 1 мкс, и после этого сразу же начинаю отсылать новую команду на чтение данных (000100) по тому же адресу. Если данные верны, даю команду на инкрементирование адреса и начинаю всё по новой.

Нап., если мне нужно записать в память программ по адресу



0x02 число 0x36, то после включения питания даю команду
000110, держу 1 мкс вывод RB6 в нуле, далее ещё 1 раз шлю ту же команду (чтобы в счётчике адреса оказалось число 0x02), далее даю команду 000010,жду
1мкс, далее шлю биты 00110110,жду 1мкс,читаю 16 бит, и, если данные верны, инкрементирую адрес и повторяю всё сначала.

Если хочу писать в память данных, то повторяю вышеприведдённую процедуру, за исключением того, что непрерывно шлю команду инкрементирования в начале общения до получения нужного мне адреса.



Где в вышеизложенном ошибка ? Я правильно понял, что если посылаю команду чтения/записи, а за ней следуют данные (всегда 16 бит), то затем сразу же можно сдать следующую команду ? Счётчик адреса автоматически обнуляется при достижении числа 0x2000 ? По какому адресу расположен байт конфигурации ?



/re, Vadim.

16 августа 2003 21:11, Vadim Tzirulnicov писал All:

----skip----

VT> Где в вышеизложенном ошибка ? VT> Я правильно понял, что если посылаю команду чтения/записи, а за ней VT> следуют VT> данные (всегда 16 бит), то затем сразу же можно сдать следующую команду ? VT> Счётчик адреса автоматически обнуляется при достижении числа 0x2000 ? VT> По какому адресу расположен байт конфигурации ?

у pic16CXX и pic17f87XX по адресу 2007h (из программы не доступен), можно предположить что у сабжа там же 8)

ps биты конфигурации или слово конфигурации, в любом случае HЕ байт 8) насчет слова конфигурации тоже не совсем понятно, ведь битов 13-цать, так что тут и не байт и не слово 8)

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required