Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursach_2 (3).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
810.3 Кб
Скачать

5. Розробка структурної схеми пристрою і її опис

Огляд характеристик.

- Тільки 33 простих команди;

- Всі команди виконуються за один цикл (200ns), крім команд переходу -2 циклу;

- Робоча частота 0 Гц ... 20 МГц (200 нс цикл команди)

- 12 - бітові команди;

- 8 - бітові дані;

- 512 ... 2К х 12 програмної пам'яті на кристалі EPROM;

- 25 ... 72 х 8 регістрів загального використання;

- 7 спеціальних апаратних регістрів SFR;

- Дворівневий апаратний стек;

- Пряма, непряма і відносна адресація даних і команд;

Периферія й Введення / Висновок

- 12 ... 20 ліній вводу-виводу з індивідуальною настройкою;

- 8 - бітний таймер / лічильник RTCC з 8- бітним програмованим попередніми дільником;

- Автоматичне скидання при включенні;

- Таймер запуску генератора;

- Watchdog таймер WDT із власним вбудованим генератором, що забезпечує підвищену надійність;

- EPROM біт секретності для захисту коду;

- Економічний режим SLEEP;

- Програмовані EPROM біти для установки режиму збудження вбудованого генератора:

- RC генератор: RC

- Звичайний кварцовий резонатор: XT

- Високочастотний кварцовий резонатор: HS

- Економічний низькочастотний кристал: LP

КМОП технологія

- Економічна високошвидкісна КМОП EPROM технологія;

- Статичний принцип в архітектурі;

- Широкий діапазон напруг живлення:

- Комерційний: 2.5 ... 6.25 У

- Промисловий: 2.5 ... 6.25 У

У проектованому пристрої можна виділити наступні функціональні блоки: контакт управління; мікроконтролер, пульт управління, що дозволяє змінити режими вимірювань; стабілізатор напруги; кварцовий резонатор; семисегментні світлодіоди - індикатор.

Структурна схема тахометра

Розташування виводів:

Розташування виводів МК РIС16F84A зображено на рис. 2.

Рис. 2 – Розташування виводів МК РIС16F84A

Виконання мікроконтролера:

Мікроконтролер випускається в двох видах корпусів.

Розташування виводів і конструктивні розміри різних корпусів наведені на Рис. 3 и Рис. 4.

Рис. 3 – Конструктивні розміри РIС16F84A (додаток 1)

Рис. 4 – Конструктивні розміри мікроконтроллера РIС16F84A (додаток 2)

6. Розробка алгоритму роботи пристрою з поясненнями призначення кожного блоку.

Алгоритм програми тахометра представлений на рис. 6. Після включення живлення відбувається початкова ініціалізація всіх регістрів з подальшою індикацією. Після ініціалізації вступає в роботу таймер TMR0. Таймер має коефіцієнт ділення, рівний 256, що разом з предделітеля , які мають коефіцієнт розподілу , рівний 32 , і циклом процесора , рівним 4 , дає переривання кожну секунду (4 х 32 х 256 = 32768 ) .

При замиканні контактів переривника з входу RB0 також відбувається переривання. При перериванні зберігаються значення регістрів, задіяних на момент переривання, і визначається походження переривання. Якщо переривання з входу RB0, то двійковий 16- розрядний лічильник збільшується на одиницю.

Таким чином, підраховується кількість переривань з входу RB0 між перериваннями від переповнення таймера, тобто за 1 секунду. Кожне переривання закінчується відновленням раніше збережених значень регістрів, і процесор перемикається на роботу з індикацією.

Якщо переривання відбулося по переповненню таймера, то визначається стан перемикача межі вимірювання і, якщо перемикач на межі однієї секунди, двійкове значення 16- розрядного лічильника множиться на 3 (2N х 3). 16- розрядний лічильник обнуляється, готуючись до нового циклу вимірювання. Отримане двійкове значення перекодується в трьохрозрядне десяткове число і переписується в регістри індикації. Після відновлення значень регістрів індикація відбувається з новими даними. Тобто індикація оновлюється кожну секунду. Якщо встановлена межа вимірювання, рівний 3 секундам, то при переповненні таймера значення лічильника секунд збільшується на одиницю.

Якщо значення лічильника секунд ще не дорівнює трьом, переривання завершується без обнулення 16-розрядного лічильника.

В іншому випадку в 16-розрядному лічильнику накопичується кількість переривань з входу RB0 за три секунди. Це значення перекодируется в двійкове-десяткове число і переписується в регістри індикації. Двійковий лічильник обнуляється і цикл повторюється. У даному випадку індикація оновлюється кожні три секунди.

Призначення блоків алгоритму:

Блок 1. Ініціалізація всіх регістрів з подальшою індикацією.

Блок 2. Вступає в роботу таймер TMR0.

Блок 3. Переривання.

Блок 4. Зберігаються значення регістрів.

Блок 5. Перевіряється, з якого входу переривання.

Блок 6. Двійковий 16- розрядний лічильник збільшується на одиницю.

Блок 7. Переривання.

Блок 8. Визначається стан перемикача та межі вимірювання.

Блок 9. Двійкове значення 16- розрядного лічильника множиться на 3 (2N х 3)

Блок 10. Якщо встановлена межа вимірювання, рівний 3 секундам, то при переповненні таймера значення лічильника секунд збільшується на одиницю.

Блок 11. Якщо значення лічильника секунд ще не дорівнює трьом, переривання завершується без обнулення 16-розрядного лічильника.

Блок 12. В 16-розрядному лічильнику накопичується кількість переривань з входу RB0 за три секунди. Це значення перекодируется в двійкове-десяткове число.

Блок 13. Це число записується в регістри індикації.

Блок 14. Двійковий лічильник онулюється і цикл повторюється.

Алгоритм роботи пристрою

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]