08 виробляє початковий запуск мікроконтролера при включенні напруги живлення і її перезапуск при вступі зовнішнього сигналу на вхід RST # або внутрішнього сигналу від модуля контролю функціонування СОР08, а також при вибірці неправильного коду команди і при зверненні до неіснуючою адресою. Крім того, модуль SIM08 формує тактові сигнали для процесора і інших модулів, управляє передачею команд і даних по внутрішній шині, забезпечує обслуговування запитів переривання, реалізує різні режими роботи мікроконтролера.
Модуль управління зовнішнім перериванням IRQ08 забезпечує різні варіанти обслуговування зовнішнього запиту переривання, що надходить на вхід IRQ #.
Модуль переривання в контрольній точці BREAK08 реалізує механізм зупину в контрольній точці в процесі налагодження програмного забезпечення.
Модуль контролю напруги живлення LVI08 контролює величину напруги живлення. При зменшенні цього напруги нижче заданої величини модуль LVI08 переводить мікроконтролер в початковий стан, яке зберігається до відновлення нормального рівня напруги живлення.
Модуль контролю функціонування СОР08 забезпечує контроль виконання програми за допомогою сторожового таймера.
Крім паралельних портів в мікроконтролері використовуються інтерфейсні модулі, що забезпечують послідовний введення-виведення даних.
Модуль асинхронного зв'язкового інтерфейсу SCI08 реалізує стандартний асинхронний протокол передачі 8 даних з одним старт - бітом і одним стоп - бітом. Швидкість обміну програмується і може досягати 130 Кбіт/с.
Модуль синхронного периферійного інтерфейсу SPI08 забезпечує синхронний послідовний введення-виведення даних з високою швидкістю до 4 Мбіт/с. Цей модуль служить для швидкого обміну даними між мікроконтролером і іншими пристроями, розташованими на невеликій відстані.
До складу периферійних модулів мікроконтролера входять таймерний модуль і модуль АЦП.
таймерну модуль TIM08 містить 16-розрядний лічильник, що має кілька каналів, які працюють в режимі захоплення або збігу. Канали мають входи сигналів захоплення 1С, виходи сигналів збіги ОС і відповідні регістри захоплення і порівняння.
Модуль АЦП ADC08 реалізує аналого-цифрове перетворення вступників сигналів з дозволом 8 біт. Кількість аналогових входів становить для різних моделей від 8.
Мікроконтролери сімейства 68НС08/908 адресують 64 Кбайт внутрішньої пам'яті (адреси S0000-FFFF). Розподіл адресного простору задається картою пам'яті, вигляд якої представлений на малюнку 2.
Рис. 2. Карта пам'яті для мікроконтролера MC68HC908GP32
. Опис алгоритму знаходження частоти
На початку пояснимо алгоритм знаходження частоти (див. Рис. 3).
Малюнок 3
Сигнал, частоту якого треба виміряти, показаний на рис.3 (де Тх період), надходить на вхід компаратора. Компаратор поводить порівняння даного сигналу, якщо він вище осі, то «1», якщо нижче - «0» (ріс.3б). Цей сигнал заповнюється тактами з інтервалом То (ріс.3в), лічильник визначає скільки тактів входить в сигнал. Період сигналу буде дорівнює:
Тх=2 N Те
де N- кількість тактів.
Таким чином частота сигналу буде дорівнює: Fx=1/Tx
. Опис алгоритму програми
На рис. 4 наведено алгоритм роботи програми управління мікропроцесорним пристроєм.
Розпочинається прийом інформації з порту введення. Ця інформація аналізується наступним чином: якщо прийшов 0, то мікроконтролер приймає знову дані з порту і чекає «1». Після цього будемо збільшувати значення лічильника, поки знову не прийде 0, тобто поки не закінчиться прийом сигналу.
Для вимірювання мінімальної частоти (min=0,701 * 104 Гц, max=179 * 104 Гц) необхідно 1 цикл. У регістрі «Х» знаходиться лічильник тактів. Для спрощення алгоритму ми визначили частоту одного такту, тепер для отримання частоти нам необхідно помножити його на кількість тактів.
Висновок результату на індикатор відбувається в шістнадцятковій системі числення з коефіцієнтом 104, перші два індикатори ціла частина, другі- дробова.
Рис.4
. Програма роботи мікропроцесора
мікропроцесор визначення частота сигнал
*********************************************** **************
* Title: ADC work *
* File name: ADC.asm *
* Version: 1.0 *
* Written by: svl *
* Last updated: 17.12.05 *
* Target: MC68HC908GP32 *
* *
* DESCRIPTION Working with ADC *
* *
*********************************************** ************** EQU $ 0040EQU $ 8000EQU $ FFDC
$ Include gpgtregs.inc
*********************************************** **************
* Data section *
*********************************************** ************** RAMStartds 1
******...