Изследване на микроконтролер таймери лаборатория по електронно обучение (Лесо) SibSUTI

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

1 Цел

  1. За да се изследва характеристиките на таймерите за микроконтролер.
  2. За проучване конфигурация таймери методология.
  3. Да се ​​научим да генерират таймер интервали.
  4. Търсят начини за отстраняване на грешки на програми за обучение на лабораторна маса LESO1 а.

2 Преди да започнете да работите

3 Кратко теоретична информация

3.1 Преглед на таймерите

Таймери се използват за формиране на слотовете, което позволява на микропроцесорната система за работа в реално време. Таймери са цифрови броячи. който брои импулси от изключително стабилна честота генератор или външен източник на сигнал, в този случай се нарича таймер брояч на външни събития. За системната шина на таймерите за микропроцесорни са свързани чрез паралелни портове.

Обикновено, в микропроцесорната система като генератор честота изпълнява генератор синхронизация вътрешния микроконтролер. Честота генератор определя минималната интервал от време, който може да се определи таймера. Интервалите от време, определен от таймера може да има добре дефинирани дискретни стойности. Bit цифров брояч таймер определя максималната интервал от време, който може да се настрои таймера.

Изследване на микроконтролер таймери лаборатория по електронно обучение (Лесо) SibSUTI
Фигура 1 - блок-схема на таймера

Очевидно е, че максималният брой, който може да бъде записана в 16-битов брояч регистър на таймера е равно на 2 16-1 = 65 535, което представлява логическа единица да се регистрира всеки разряд. Така че, ако преди таймерът работи в своята брояч нула били записани, препълване на таймера ще се случи през 65536 цикъла на машината. Знаейки честотата на часовника генератор на микропроцесорната система, и като резултат и генератор период сигнал TG. можете лесно да се определи времето на таймера за преливане в секунда:

Ако искате да се определи по-кратък интервал от време, преди таймерът работи в своите регистри могат да пишат оригиналния код, а след това законопроектът няма да започне от нулата, но с записан кода и уредът ще изисква по-малко време, за да прелее. В този случай, TT време таймер се определя по формулата:

където: Код - код записан в таймера, за да го стартирате, TT - таймер време, TG - период на главния генератор, п - таймера малко.

Ако искате да създадете интервал от време по-голямо от максималното време на преливане, таймерът може да се стартира по няколко пъти в цикъла. В този случай, интервалът от време се определя като:

където N - брой на контур повторения, TT - таймер за времето на сработване.

3.2 Таймер-броячи микроконтролер ADuC842

ADuC842 на микроконтролер има три 16-битови времеизмервател: Таймер 0 и таймер 1 и 2. Таймер структурата и функционирането видове таймери В, броячи отговарят на общите принципи на MCS-51 архитектура. Всеки таймер брояч включва два 8-битови регистъра Thx и TLX (х = 0, 1, и 2).

Всеки таймер брояч може да бъде програмиран да работи или като таймери (графика, като се брои вътрешни импулси часовник) или брои (разчитат на външен вход събитие). И в двата случая, преливник брояч регистър води до образуването на заявка за прекъсване и се създава специален преливник флаг.

В режим на таймер TLX регистър се увеличава с всеки цикъл на машината. Тъй като цикъл на машината се състои от една мярка ядрото един часовник период, максималната скорост на броене на ядрото е равен на честотата на часовника.

В режим на брояч, регистър TLX увеличава стойността си с един, когато нивото на прехода от високо към ниско на съответния външен пин на микроконтролера: T0. Т1 или Т2. Когато външен пин един цикъл поддържа логика високо ниво, а в следващия цикъл - ниско, а след това регистъра на таймера се увеличава с едно. По този начин, за откриване на преход от "1" до "0" отнема два цикъла на вътрешния осцилатор на микроконтролера, което означава, че максималната скорост брой може да бъде половината от честотата на вътрешния часовник.

Таймер 0 и таймер 1 обслужва TMOD режим на управление регистър и TCON регистър.

Таблица 1 - Описание битов регистър TMOD

5 Бележки за изготвянето на доклада

Докладът трябва да включва:

  1. Целта на работата.
  2. Структурно ADuC842 микроконтролер схема таймер в избрания режим.
  3. Изчисляването на първоначалните стойности на регистрите на отброяване на таймера.
  4. Обосновка на избор TMOD регистър стойности.
  5. Графични карти на програмата.
  6. Изходния код на програмата.
  7. Съдържанието на файла изброяването на софтуерен проект.
  8. Заключения на лабораторната работа.

Схема, както и доклада като цяло, се извършват в съответствие със стандартите ESKD.

във формула (Code = 2n - TT / TG ​​= 65536-62036 = 3500/1) кал печатна грешка. Вместо разделение трябва да се умножи. Аз просто замени вашите ценности и не разбирам защо таймерът не е правилно взети под внимание. Умножено (TT на TG) и тя работи като държава.

Поздрави. Формулата следва директно от формулите:

Прехвърляме в ляво от Кодекса, и TT от дясната страна.

Разделете всичко на TG:

Това се отнася за математика. Сега физически смисъл. В момента има таймер, това е всеки часовник е нараснал с единица. Когато става dotikaet на стойност 2 п = 65 536, той създава едно събитие, което може да се използва за генериране на прекъсване, или просто да прочетете в TF анкета флаг. Всеки цикъл е времето, което в този случай се определя от честотата на ядрото на процесора. Ако не изберете Adukov PLL, честотата на работата му е 2.097152 MHz. Това означава, че един от начините да бъде приблизително равна на 0,5 микросекунди. Сега гледам, ние приемаме, че имаме нужда да се зареди таймера в 1 микросекунда (на практика е невъзможно малка стойност), колко цикъла би трябвало да работи таймер? Privilny отговорим 2. Това означава, че две от тиково Той преброи необходимите 1mks. Какъв номер трябва ние настроите таймера за това? Точно така, 65534. В този случай, два цикъла ще се препълнят.

Нещата просто да кажем, че искаме да се измери 10mks. В баровете (ние си спомняме, че цикълът е половин микросекунди) тя ще бъде 20. Това означава, че ние имаме таймер за запис на броя 65536-20 = 65516. Сега преливане събитие ще бъде на 20 цикъла. Логиката е ясна?

Друг пример е по-трудно. Необходимо е да се измери 3.5ms. За да се изчисли колко ще бъде в барове, разделете 3.5ms на 0.5mks, естествено, трябва да доведе до същите мерни единици: 3500mks / 0.5mks = 7000 цикъла. Оказва се, че ние трябва да се сложи номера на таймера: 65536 - 7000 = 58536.

Сега анализираме тези три примера. Случайно прилича на формулата?