Page 303 - 4503
P. 303

6. Встановити  біт  WR  (1–ий  біт  регістра  EECON1)  для
           початку режиму записування.
                Операція записування, це як правило не часто вживана
           операція,  а  для  того,  щоб  випадково  не  порушити  дані
           EEPROM,  вона  зроблена  настільки  заплутаною.  Насправді
           жодного регістра з іменем EECON2 немає, однак послідовний
           запис  адрес  h’55’,  h’АА’    це  свого  роду  ключ,  він  є
           необхідний для розблокування EEPROM. Переривання здатні
           порушити  цю  послідовність  тому  їх  слід  заборонити  коли
           відбувається прорамний запис у EEPROM. Тривалість операції
           складає  близько 50 мс, а по її завершенню встановлюється біт
           4 реґістра  EECON1  (ознака  EEIF) корий може застосовуватися
           для  переривання  процесора.    Біт  3  реґістра  EECON1    —  це
           ознака WRERR, котра встановлюється, якщо цикл записування
           був перерваний, наприклад через зовнішнє скидання.

                9.7 Переривання від кількох джерел одночасно

                У  прикладі  9.1,  передбачається,  що  є  дозвіл  тільки  на
           один  вид  переривання  —  зовнішнє.  У  більшості  ж  випадків
           можуть  бути  дозволені  переривання  від  багатьох  джерел.  А
           оскільки  у  мікроконтролерах  РІС  є  тільки  один  вектор
           переривання (h’004’), то однією з першочергових задач буде
           виявлення,  котрий  із  периферійних  пристроїв  викликав
           переривання.  Всі  ознаки  переривання  є  доступні  для
           зчитування, а отже їм можна почергово перевіряти до тих пір
           поки  не  виявиться  ознака,  котра  є  встановленою.  У
           найскладнішому випадку, коли виявляються, що активними є
           всі  4  джерела  переривання  мікроконтролера    PIC16F84  і
           враховуючи,  що  регістр  EECON1  перебуває  в  банку  1,  код
           перевірки ознак виглядатиме так (приклад 9.1):




                                         303
   298   299   300   301   302   303   304   305   306   307