51183

Изучение таймеров микроконтроллера

Лабораторная работа

Коммуникация, связь, радиоэлектроника и цифровые приборы

Цели работы Изучить особенности работы таймеров микроконтроллера. Изучить методику конфигурирования таймеров. Научиться формировать с помощью таймера временные интервалы. Изучить способы отладки программ на учебном лабораторном стенде LESO1.

Русский

2014-02-07

39.03 KB

14 чел.

Федеральное агентство связи РФ

Сибирский Государственный Университет

Телекоммуникаций и Информатики

Кафедра САПР

Лабораторная работа №4

«Изучение таймеров микроконтроллера»

Выполнил:

Лупашко Е.М. гр. Р-73

Проверил:

Борисов А.В.

Новосибирск 2011

1 Цели работы

1 Изучить особенности работы таймеров микроконтроллера.
2 Изучить методику конфигурирования таймеров.
3 Научиться формировать с помощью таймера временные интервалы.
4 Изучить способы отладки программ на учебном лабораторном стенде LESO1.

 2 Структурная схема таймера

Рисунок 2.1 – Структурная схема Таймера 0 в режиме 1.

3 Расчет начальных значений счетных регистров

4 Обоснование выбора значения регистра TMOD

7

6

5

4

3

2

1

0

Gate

C/T

M1

M0

Gate

C/T

M1

M0

Биты управления Таймером 1

Биты управления Таймером 0

Рисунок 4.1 – Назначение бит регистра TMOD

Поскольку в работе используется Таймер 0 – биты 4-7 не используются. Таймер 0 работает в режиме таймера (подсчет импульсов внутреннего генератора), поэтому биту 2 присваивается 0. В режиме таймера бит Gate не используется, поэтому биту 3 также присваивается 0. Таймер 0 работает в режиме 1, поэтому битам 1 и 0 присваивается значение 01.

5 Графическая схема алгоритма программы

6 Исходный текст программы

int I;

sbit P00=0x80; //LED

sfr TMOD=0x89;

sfr TCON=0x88;

sbit TF0=0x8D;

sbit TR0=0x8C;

sfr TL0=0x8A;

sfr TH0=0x8C;

delay() {      //30 ms delay-function beinning

TMOD=0x01;      //timer initialization

TH0=0x0A;

TL0=0x3D;

TR0=1;  //timer starts

while(!TF0);

TF0=0;

}       //30 ms delay-function ending

main() {

while(1) {     //eternal cycle

P00=1;     //LED switches on

for (I=1; I<200; I++)  //6 sec delay

{delay();}

P00=0;         //LED switches off

for (I=1; I<200; I++)  //6 sec delay

{delay();}

}}

7 Файл листинга

C51 COMPILER V8.12   LAB4                                                                  11/18/2011 18:33:14 PAGE 1   

C51 COMPILER V8.12, COMPILATION OF MODULE LAB4

OBJECT MODULE PLACED IN Lab4.OBJ

COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE Lab4.c BROWSE DEBUG OBJECTEXTEND SYMBOLS

line level    source

  1          int I;

  2          sbit P00=0x80;  //LED

  3          sfr TMOD=0x89;

  4          sfr TCON=0x88;

  5          sbit TF0=0x8D;

  6          sbit TR0=0x8C;

  7          sfr TL0=0x8A;

  8          sfr TH0=0x8C;

  9          delay() {       //30 ms delay-function beinning

 10   1      TMOD=0x01;  //timer initialization

 11   1      TH0=0x0A;       

 12   1      TL0=0x3D;

 13   1      TR0=1;          //timer starts

 14   1      while(!TF0);

 15   1      TF0=0;

 16   1      }                  //30 ms delay-function ending

 17          main() {

 18   1      while(1) {                        //eternal cycle

 19   2      P00=1;                            //LED switches on

 20   2      for (I=1; I<200; I++) //6 sec delay

 21   2      {delay();}

 22   2      P00=0;                            //LED switches off

 23   2      for (I=1; I<200; I++) //6 sec delay

 24   2      {delay();}

 25   2      }}

C51 COMPILER V8.12   LAB4                                                                  11/18/2011 18:33:14 PAGE 2   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE

====                                    =====   ======  ====    ======  ====

delay. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----

main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----

P00. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0080H  1

TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1

I. . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   INT      0000H  2

TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1

TH0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008CH  1

TL0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008AH  1

TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1

MODULE INFORMATION:   STATIC OVERLAYABLE

  CODE SIZE        =     81    ----

  CONSTANT SIZE    =   ----    ----

  XDATA SIZE       =   ----    ----

  PDATA SIZE       =   ----    ----

  DATA SIZE        =      2    ----

  IDATA SIZE       =   ----    ----

  BIT SIZE         =   ----    ----

END OF MODULE INFORMATION.

C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

8 Выводы

В ходе выполнения данной лабораторной работы я познакомился с особенностями таймеров микроконтроллера ADuC842.

- изучил структурную схему таймеров данного микроконтроллера и их назначение;

- изучил различные режимы работы таймеров и область их применения;

- научился конфигурировать таймеры при помощи регистра специальных функций TMOD;

- научился управлять работой таймера при помощи регистра специальных функций TCON;

- приобрел навыки по формированию временных интервалов произвольной длительности при помощи таймеров;

- оценил погрешность формирования временного интервала. Величина погрешности:


 

А также другие работы, которые могут Вас заинтересовать

41358. Измерение сопротивления гальванометра 188 KB
  Цель работы: Определение внутреннего сопротивления гальванометра. Определение средней чувствительности и градуирование гальванометра. Измерение сопротивления гальванометра. =1ом ом ом 10000 500 10600 450 11200 400 11800 350 12600 300 I сила тока в цепи гальванометра эдс источника питания 2В r сопротивление гальванометра.
41359. Исследование магнитооптического зеркального гальванометра 500.5 KB
  Лабораторная работа №138 Исследование магнитооптического зеркального гальванометра . Измерение сопротивления гальванометра. На схеме: При R=R получаем RG=R если при замыкании и размыкании ключа показания гальванометра не меняются. Определение средней чувствительности и градуировка гальванометра.
41361. Работа ионизационного манометра 266 KB
  Цель работы: Изучить работу ионизационного манометра зависимость ионного тока от изменения различных параметров ток накала напряжение на сетке между катодом и анодом. Таблица зависимости ионного тока от тока накала. мА 300В 50В 260В 50В 300В 33В 29 665 650 651 28 655 642 649 20 631 635 632 18 628 630 628 14 620 622 622 9 609 615 609 5 590 596 589 0 540 540 522 Таблица зависимости ионного тока от напряжения между катодом и анодом . 13 33В 12 50В 13 50В 75 30 5 70 30 65 29 45 28 60 28 ...
41362. Изучение работы форвакуумного насоса 99.5 KB
  Цель работы: определить предельный вакуум и скорость откачки ротационного насоса. Форвакуумная установка: где Б1 – баллон; Б2 – калибровочный баллон (Vк = 2,4 л.); К1 – К7 – краны; РМ – разница давлений (мм.масл.ст.). Для нахождения объема установки используем следующую формулу:
41363. Градуирование электроизмерительных приборов с помощью потенциометра собранного из двух магазинов сопроти 159 KB
  Градуирование электроизмерительных приборов с помощью потенциометра собранного из двух магазинов сопротивления Приборы приспособления: вольтметр магазины сопротивлений нормальный элемент реостаты ключи гальванометр батарея вольтметр.
41364. Определение эдс в термопаре 200.5 KB
  Схема для измерения малых эдс: где g гальванометр класс точности 05; АВ реохорд rАВ = 12  01 Ом lАВ = 1 м.; 1 источник тока для реохорда 15 В; Э эталонная эдс элемент Вестона 101795 В; х измеряемая эдс; r1 реостат для регулировки цены деления реохорда; r2 сопротивление; r3 реостат; М1 опорный спай термопары 00С; М2 рабочий спай термопары.
41365. Определение коэффициента поверхностного натяжения жидкостей 224.5 KB
  Задание 1: метод компенсации разности давлений поверхностного слоя жидкости. d плотность жидкости налитой в манометр в данном случае это вода и d = 10 г см. Задание 2: метод отрыва пузыря внутри жидкости. Установка: где Т насос; Б бутыль для создания давления; Н разность высот жидкости в двух коленах манометра; D глубина на которую опущен капилляр радиус которого равен 002 см.
41366. Определение удельной теплоёмкости жидкости методом лучеиспускания 68 KB
  Определение водяного эквивалента калориметра M0 масса калориметра M1 масса калориметра с холодной водой MI=M1M0 масса холодной воды TI температура холодной воды M2 масса калориметра с горячей и холодной водой T температура смеси MII=M2M1 масса горячей воды TII температура горячей воды M0= 179 г M1= 297 г MI = 118 г TI = 23 C M2 = 332 г Т = 31 С MII = 35 г ТII = 61 С II Основные измерения...