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

Я так понимаю, что при включении питания выводы 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 ? По какому адресу расположен байт конфигурации ?

Reply to
Vadim Tzirulnicov
Loading thread data ...

/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)

Reply to
slavik levchenko

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.