напр. 1 МОм) генератор стає чутливим до перешкодам, вологості і монтажним витокам струму.
Рекомендовано величина Rext знаходиться між 5 КОм і 100 КОм. Хоча генератор працездатний і при відсутності зовнішнього конденсатора (Cext = 0), З малої Cext, або взагалі без неї, частота генератора сильно залежить від монтажних ємностей. Розкид буде тим більше, чим більше величина R.
Сигнал з частотою генератора, поділеній на 4, присутній на ніжці OSC2/CLKOUT, і може бути використаний для цілей тестування або синхронізації інших схем. [1]
Організація вбудованого ПЗУ:
Програмний лічильник в PIC16C84 має ширину 13 біт і здатний адресувати 8Кх14біт обсягу програмної пам'яті. Однак, фізично на кристалі є тільки 1Кх14 пам'яті (адреси 0000h-03FFh). Звернення до адрес вище 3FFh фактично є адресація в той же перший кілобайт. Вектор скидання знаходиться за адресою 0000h, вектор переривання знаходиться за адресою 0004h.
EEPROM PIC16C84 розрахований на обмежене число циклів стирання/запису. Щоб записати в програмну пам'ять, кристал повинен бути переведений в спеціальний режим при якому на ніжку/MCLR подається напруга програмування Vрrg, а харчування Vdd повинно знаходитися в межах 4.5 У ... 5.5В. PIC16C84 непридатний для застосувань, в яких часто модифікується програма. Запис у програмну пам'ять здійснюється побітно, послідовно з використанням тільки двох ніжок.
Стек і повернення з підпрограм:
Кристал PIC16C84 має восьмирівневий апаратний стек шириною 13 біт. Область стека не належить ні до програмної області ні до області даних, а покажчик стека користувачеві недоступний. Поточне значення програмного лічильника посилається в стек, коли виконується команда CALL або проводиться обробка переривання. При виконанні процедури повернення з підпрограми команди RETLW, RETFIE або RETURN, в програмний лічильник вивантажується вміст стека. Регістр PCLATH (0Ah) не змінюється при операціях зі стеком.
Довготривала Пам'ять даних EEPROM:
Пам'ять даних EEPROM дозволяє прочитати і записати байт інформації. При записі байта автоматично стирається попереднє значення і записуються нові дані (стирання перед записом). Всі ці операції виробляє вбудований автомат запису EEPROM. Вміст комірок цієї пам'яті зберігається при виключенні живлення. Кристал PIC16C84 має пам'ять даних 64х8 EEPROM біт, яка дозволяє запис і читання під час нормальної роботи (у всьому діапазоні живлять напруг). Ця пам'ять не належить області регістрів ОЗУ. Доступ до ній здійснюється через два регістри: EEDATA <08h>, який містить в собі восьмибитового дані для читання/запису і EEADR <09h>, який містить в собі адресу осередки до якої йде звернення. Додатково є два керівників регістра: EECON1 <88h> і EECON2 <89h>.
При зчитуванні даних з пам'яті EEPROM необхідно записати необхідну адресу в EEADR регістр і потім встановити біт RD EECON1 <0> в одиницю. Дані з'являться наступного командному циклі в регістрі EEDATA і можуть бути прочитані. Дані в регістрі EEDATA заклацуються. p> При запису в пам'ять EEPROM, необхідно спочатку записати Необхідні адресу в EEADR регістр і дані в EEDATA регістр. Потім виконати спеціальну послідовність команд, що виробляє безпосередній запис:
movlv 55h
movwf EECON2
movlv AAh
movwf EECON2
bsf EECON1, WR; встановити WR біт, почати запис
Під час виконання цієї ділянки програми, все переривання повинні бути заборонені для точного виконання тимчасової діаграми. Час запису - приблизно 10мс. Фактичний час запису буде змінюватися в залежності від напруги, температури і індивідуальних властивостей кристала. В кінці запису біт WR автоматично обнуляється, а прапор завершення запису EEIF, він же запит на переривання, встановлюється.
Для запобігання випадкових записів у пам'ять даних передбачений спеціальний біт WREN в регістрі EECON1. Рекомендується тримати біт WREN вимкненим, крім тих випадків, коли потрібно оновити пам'ять даних. Більш того, кодові сегменти, які встановлюють біт WREN і ті, які виконують запис повинні зберігатися на різних адресах, щоб уникнути випадкового виконання їх обох при збої програми. [1]
Огляд команд і позначення.
Кожна команда PIC16C84 - це 14-бітове слово, яке розділене за змістом на наступні частини: - 1. код операції, -2. полі для одного і більше операндів, які можуть брати участь чи ні в цій команді. Система команд PIC16C84 включає в себе байт-орієнтовані команди, біт-орієнтовані, операції з константами і команди передачі управління.
Для байт-орієнтованих команд В«fВ» позначає собою регістр, з яким виробляється дія; В«dВ» - біт визначає, куди покласти результат. Якщо В«dВ» = 0, то результат буде поміщений у W регістр, при В«dВ» = 1 результат буде поміщений в В«fВ», згаданому в команді. Для біт-орієнтованих команд В«bВ» позначає номер біта, що бере участь в команді, а В«fВ»-це регі...