Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laba11.doc
Скачиваний:
3
Добавлен:
16.11.2018
Размер:
113.66 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ

СУМСЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ

КАФЕДРА КОМПЬЮТЕРНИХ НАУК

СЕКЦІЯ КСУ

Звіт

до лабораторної роботи №11 з курсу

“Мікропроцесорні пристрої та системи”

на тему:

«Програмування таймерів мікроконтролера MCS51 на мові Сі.»

Бригада №1

Виконав: студент групи СУ-81

Бережний Ю. В.

Перевірив: Войченко Г.І.

Суми 2011 Лабораторна робота №11. Програмування таймерів мікроконтролера mcs51 на мові Сі.

Тема: Вивчення програмування пристроїв виведення даних стенда EV8031 на мові Сі, засвоєння основних операторів мови С.

Мета роботи: набуття практичних навичок управління засобами виведення даних з використанням типових операторів мови Сі.

11.1 Програмне управління таймерами мк mcs51 на мові Сі

Регістри TH і TL (адреси) виконують власне функцію регістрів-лічильників вхідних імпульсів, джерелом яких можуть бути кварцовий генератор тактових імпульсів мікроконтролера, або сигнали, що подаються на входи

Регістр TMOD (адреса 89h) використовується для управління режимами роботи кожного з двох таймерів . Використовуючи цей регістр, можна програмно налаштувати кожен з таймерів на один з чотирьох режимів: 16-розрядний таймер, або 8-розрядний таймер з автозавантаженням, або на 13-розрядний таймер, або на два окремих таймери. Додатково можливо запрограмувати таймери так, щоб виконувався підрахунок числа імпульсів (подій), які подаються на зовнішній вивід мікроконтролера (табл.11.1).

Регістр TCON (адреса 88h, адресується побітно) використовується для конфігурування і змінити алгоритму, в якому діють два таймери мікроконтролера. Цей регістр SFR дозволяє програмно встановити поточний стан кожного з таймерів, а саме включений він чи ні, настало в таймері переповнення, чи ні.. Додатково в регістрі TCON розташовані деякі біти, не пов'язані з таймерами. Ці біти використовуються для управління перериваннями мікроконтролера (табл. 11.1).

Таблиця ll.l - TMOD регістр режиму роботи таймерів/лічильників

Символ

Позиція

Назва біта та його призначення

GATE

TMOD.7

Таймер-лічильник 1

Вибір управління. Якщо біт GATE=It то робота таймера/лічильника Т/С1 дозволена, доки на вході /ЛП високий рівень і біт управління TRI встановлений. Якщо GATE=0, то робота Т/С1 дозволяється, як тільки встановлюється біт управління TR1

С/Т

TMOD.6

Біт вибору режиму - таймер або лічильник подій. Якщо біт С/Т=0, то працює таймер від внутрішнього джерела сигналів синхронізації. Якщо біт С/Т=1, то працює лічильник зовнішніх сигналів на вході ТІ

МІ.І

TMOD. 5

Режим роботи таймера/лічильника (див.табл. 11.2)

М0. І

TMOD.4

GATE

TMOD.3

Таймер-лічильник 0

Вибір управління. Якщо біт встановлений, тої робота таймера/лічильника Т/СО дозволена, доки на вході INT0 високий рівень і біт управління TR0 встановлений. Якщо біт скинутий, то робота Т/С0 і дозволяється, як тільки встановлюється біті управління TRO

С/ T

TMOD.2

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

МІ.І

TMOD. І

Режим роботи таймера/лічильника (див.табл. 11.2)

М0. І

TMOD.G

Встановлення біта GATE дозволяє використати таймер для вимірювання тривалості імпульсного сигналу, що подається на вхід запиту переривання.

Режим 0. Призначений для сумісності з попередньою версією мікроконтролера MCS- 48, 13-бітний таймер/лічильник. На сьогоднішній день практично не використовується.

Таблиця 11.2 - Значення бітів вибору режиму роботи таймера/лічильника

М1

М 0

Режим роботи

0

0

13-бітовий таймер/лічильник

0

1

16- бітовий таймер/лічильник

1

0

8- бітовий таймер/лічильник, що автоматично перевантажується. ТНх зберігає значення, яке перевантажується в ТЬх після його переповнення

1

1

Таймер/лічильник 1 зупинено. Таймер/лічильник 0: ТЬ0 8- бітовий таймер/лічильник, що контролюється керуючими бітами; таймера 0. ТН0 - 8- бітовий таймер, його режим визначаються і керуючими бітами таймера 1

Таблиця 11.3 - Регістр TCON управління/стану таймерів

Символ

Позиція

Назва і призначення прапорця регістра TCON

TF1

TCON.7

Прапорець переповнення таймера Т/С1. Встановлюється апаратно при переповненні таймера/лічильника. Скидається апаратно при обслуговуванні переривання.

TR1

TCON.6

Біт управління таймера 1. Встановлюється/скидається програмою для пуску/зупинки таймера/лічильника Т/С1

TF0

TCON.5

Прапорець переповнення таймера Т/С0. Призначення і обслугову­вання аналогічне до TF1

TR0

TCON.4

Біт управління таймера Т/С0. Встановлюється/скидається програмою для пуску/зупинки таймера/ лічильника Т/С0

ІЕ1

TCON.3

Прапор переривання 1. Встановлюється апаратно при виконанні умов переривання, що встановлені бітом ІТ1 (фронт/низький рівень). Скидається при обслуговуванні переривання (автоматично/програ­мно)

ІТ1

TCON.2

Біт управління типом переривання 1. Встановлюється/скидається програмно для специфікації запиту INT\ (зріз/низький рівень)

ІЕО

TCON. 1

Прапор переривання 0. Встановлюється апаратно при виконанні умов переривання, що встановлені бітом ІТ0 (фронт/низький рівень). Скидається при обслуговуванні переривання (автоматично/програмно)

ІТ0

TCON.0

Біт управління типом переривання 0. Встановлюється/скидається програмно для специфікації запиту INT0 (зріз/низький рівень)

Примітка: всі біти прапорів регістра TCON можуть встановлюватись та скидатись програмно, що дозволяє програмно ініціювати обслуговування переривань.

Режим 0. Призначений для сумісності з попередньою версією мікроконтролера MCS- 48, 13-бітний таймер/лічильник. На сьогоднішній день практично не використовується.

Режим 1. 16-бітний таймер/лічильник. Регістр таймера складається з регістрової пари ТН, TL і має розрядність 16 бітів. При переповненні 16-розрядного регістра - переході зі стану 0FFFFH до стану 0000Н - встановлюється прапор переривання по переповненню таймера TF.

Режим 2. У режимі 2 робота організована таким чином, що переповнення 8-бітового лічильника TL призводить не тільки до встановлення прапора TF, але і автоматично перевантажує в TL вміст старшого байта (ТН) регістра таймера. Вміст ТН попередньо задається програмно і не змінюється при перевантаженні.

Режим 3. У режимі 3 таймери/лічильники працюють по-різному. Т/С1 зберігає незмінним свій поточний вміст (зупинений). Т/С0 використовує TL0 і ТН0 як два незалежні 8-бітні лічильники. Таймер/Лічильник на основі TL0 використовує біти управління Т/С0, C/Т, GATE, TR0, /INT0 і TF0, його переривання по переповненню. Лічильник з ТН0 може тільки рахувати машинні цикли - працювати таймером. Він використовує біти управління TR1 і TF1 першого таймера та його переривання по переповненню.

Третій режим таймера використовується при нестачі таймерів чи лічильників. При роботі Т/С0 в режимі 3 зупинка таймера Т/С1 здійснюється переводом його в режим 3, пуск - в будь-який інший режим. Т/С1 може продовжувати використовуватись для завдання швидкості передачі по послідовному каналу зв'язку та в прикладних програмах, що не потребують переривань.

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