Do you have a question? Post it now! No Registration Necessary
- Vadim Tzirulnicov
August 16, 2003, 5:11 pm

Я так понимаю, что при включении питания выводы 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 ?
По какому адресу расположен байт конфигурации ?
должны быть притянуты к нулю, вывод 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: Программирование PIC16F84
/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)
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)
Site Timeline
- » Re: преобразование формата?
- — Next thread in » Microcontrollers (Russian)
-
- » Keil
- — Previous thread in » Microcontrollers (Russian)
-
- » По моему это гениально
- — Newest thread in » Microcontrollers (Russian)
-
- » Biblioteka MQTT i dziwny kod w C
- — The site's Newest Thread. Posted in » Electronics (Polish)
-