- статична пам'ять даних обсягом 192 байта;
? Flash пам'ять програм обсягом 4096 рядків, де розміщується послідовність команд, що складають програму;
? EEPROM енергонезалежна пам'ять об'ємом 128 байт.
Пам'ять даних і пам'ять програм мають роздільні шини адреси і даних, що дозволяє виконувати паралельний доступ.
Паралельні порти мікроконтролера PIC16F873A
Порти використовуються для введення інформації від зовнішніх пристроїв до мікропроцесора і виведення інформації від процесора до зовнішніх пристроїв. Паралельні порти можуть одночасно передавати кілька біт інформації.
Мікроконтролер PIC16F873A має три паралельних порту вводу-виводу: 6-ти розрядний порт A і два 8-ми розрядних порту B і C. Висновки порту A мультиплексованих з входами аналогово-цифрового перетворювача і виходами компараторів. Висновки порту B зі схемою низьковольтного програмування та із входом зовнішнього переривання, а порту C зі схемами інтервального таймера, широтно-імпульсного модулятора, послідовної шини і послідовного порту.
Канали портів вводу-виводу мають відмінності, які полягають в пристрої вхідного і вихідного каскаду, містять різні додаткові ланцюги, які дозволяють мультиплексировать порти з іншими периферійними модулями.
Всі канали порту B мають вбудовану відключається навантаження, реалізовану на транзисторах P, підключених до шині живлення. Еквівалентний опір відкритого транзистора P становить приблизно 20 кОм. Навантаження включається і відключається одночасно для всіх висновків за допомогою 7-го біта RBPU регістра OPTION_REG. При включенні живлення канали порту B налаштовані на введення даних, біт RBPU=1 і навантаження відключена. Скидання біта в нуль підключає навантаження, але для каналів, налаштованих на висновок навантаження відключається. Всі канали порту B мають вихід із трьома станами. Особливість канали RB4-RB7 полягає в тому, що вони можуть використовуватися як входи переривання по зміні рівня. Висновок RB0 може використовуватися як вхід зовнішнього переривання. В залежності від налаштувань встановлюється прапор INTF по передньому або задньому фронту сигналу на RB0. Висновки RB6 і RB7 можуть бути використані для внутрисхемного програмування мікроконтролера.
Канали порту C мультиплексованих з комунікаційними периферійними модулями, мають тригери Шмітта на вході і виходи з
трьома станами.
Для керування роботою портів вводу-виводу використовуються такі регістри:
? TRISA, TRISB і TRISC - визначають напрямок передачі інформації, при записі 0 в якій-небудь розряд регістра TRIS відповідний розряд порту працює як вихід, а при записі 1 - як вхід (0 як O - Out, 1 як I - In). Напрямок передачі інформації можна задавати для кожного біта порту окремо;
? PORTA, PORTB, PORTC - регістри портів введення-виведення. Якщо порт налаштований на висновок інформації, то запис 0 або 1 в розряд цих регістрів призводить до появи відповідного сигналу на виходах паралельного порту, якщо порт налаштований на введення інформації, то з цих регістрів можна вважати логічні рівні, присутні на входах паралельного порту;
У даній науковій роботі з?? ответствующие висновки паралельних портів налаштовані на наступні функції:
Таймери
У мікропроцесорних системах деякі операції повинні виконуватися через певні, задані заздалегідь, інтервали часу. Формувати тимчасові інтервали можна програмними або апаратними засобами. Програмно інтервал часу формується циклом з відомою тривалістю. Якщо формування тимчасових інтервалів не єдина завдання, покладене на мікроконтролер, то тимчасові інтервали доцільно формувати апаратним способом. Для цього призначені таймери, які входять до складу більшості мікроконтролерів.
Таймер являє собою рахунковий регістр, перемикання якого виконується періодичної імпульсної послідовністю, сформованої з тактового сигналу.
Мікроконтролер PIC16F873A містить 4 таймера: TMR0, TMR1, TMR2 і сторожовий таймер WDT (Watch Dog Timer).
Таймери TMR0 і WDT використовують загальний програмований дільник. Таймер TMR0 являє собою 8-и розрядний лічильник, при переповненні якого встановлюється прапор переривання TMR0IF. Лічильник збільшується на 1 при кожному надходженні імпульсу через синхронізатор, який служить для синхронізації активного фронту зовнішнього сигналу з внутрішньою тактовою частотою. В якості джерел рахункових імпульсів може виступати внутрішній тактовий генератор мікроконтролера, період проходження цих імпульсів дорівнює тривалості машинного циклу, або зовнішній сигнал, що подається на ніжку RA4 мікросхеми PIC16F8...