
Лабораторна робота №6
Тема «Таймери/лічильники »
Мета роботи: Отримати навики програмування таймерів/лічильників для отримання необхідної тимчасової затримки
В результаті виконання роботи студент повинен:
- знати логіку роботи таймерів/лічильників (Т/Л) в режимі 0÷3, призначення бітів резисторів ТМОD, TCON;
- уміти виконувати розрахунок початкової константи для таймера, програмувати тимчасові затримки за допомогою таймера/лічильника.
Завдання до лабораторної роботи
Написати систему програм, яка виконує наступні функції:
Обробник переривань від таймера 0 інкрементує вміст комірки ADRT і завантажує початкову константу в регістр TLO.
Основна програма розташовується в CSEG починаючи з ADR0. Вона повинна виконувати проводити ініціалізацію системи, циклічний аналіз вмісту ADRT і викликати підпрограму виведення масиву кодів в порт.
Підпрограма розташовується в пам'яті CSEG, починаючи з адреса ADR1. Вона повинна при кожному виконанні передавати в порт Р1 масив кодів, завдовжки N, який знаходиться в CSEG, починаючи з адреса ADR2. Початковий код в регістрі TLO таймера (початкова константа для таймера) повинен бути вибраний так, щоб виклик підпрограми виконувався кожні Тмкс. Прийняти частоту OSC/12=1МГц.
Вхід в систему програм по команді LJMP ADR0, розташованій в CSEG за адресою 0000Н. Варіанти завдань наведено в табл. 6.
Зміст звіту:
- тема, мета і завдання по лабораторній роботі;
- алгоритм дій у вигляді блок-схеми;
- текст програми з поясненнями;
- висновки по роботі.
Контрольні питання і завдання
1. Які пристрої входять до складу блоку Т/Л ?
2. Як здійснюється управління режимом роботи Т/Л?
3. Які в МК51 є режими роботи Т/Л ?
4. Які є прапори Т/Л ? Де вони знаходяться? Які їх призначення?
5. Як працює Т/Л в режимі 0?
6. Як працює Т/Л в режимі 1?
7. Як працює Т/Л в режимі 2?
8. Як працює Т/Л в режимі 3?
9. Який має формат TCON? Дати пояснення призначення кожного біта.
10. Написати підпрограму, що забезпечує без використовування системи переривання затримку на Т,мкс (10,15,20, і т.д. Тимчасову затримку отримати за допомогою Т/Сi (i=0,1).
Таблиця 6 – Варіанти завдань до лабораторної роботи
Номер |
ADR1 |
ADR2 |
N |
ADRT |
ADR0 |
T, мкс |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
01 |
714 |
431 |
E |
21 |
614 |
500 |
02 |
62F |
560 |
F |
22 |
52F |
550 |
03 |
53E |
621 |
D |
23 |
43E |
600 |
04 |
44A |
711 |
C |
24 |
34A |
650 |
05 |
355 |
121 |
B |
25 |
255 |
700 |
06 |
266 |
236 |
F |
26 |
366 |
750 |
07 |
177 |
345 |
6 |
27 |
277 |
800 |
08 |
78A |
454 |
7 |
28 |
68A |
850 |
09 |
69D |
568 |
F |
29 |
79D |
900 |
10 |
5AF |
677 |
E |
2A |
3AF |
950 |
11 |
4BA |
781 |
5 |
2B |
5BA |
1000 |
12 |
3C9 |
231 |
6 |
2C |
4C9 |
1050 |
13 |
2D8 |
3A1 |
7 |
2D |
1D8 |
1100 |
14 |
1E4 |
4B2 |
8 |
2E |
2E4 |
1150 |
15 |
7F5 |
5C2 |
8 |
2F |
3F5 |
1200 |
16 |
6E5 |
6D2 |
9 |
30 |
5E6 |
1250 |
17 |
5A1 |
7E2 |
F |
31 |
6A1 |
1300 |
18 |
4D3 |
1F2 |
A |
32 |
7D3 |
1350 |
19 |
3C8 |
2E2 |
B |
33 |
4C8 |
1400 |
20 |
25F |
3D2 |
C |
34 |
36F |
1450 |
21 |
4BE |
782 |
D |
35 |
2BE |
1500 |
22 |
3CA |
232 |
E |
36 |
1CA |
1550 |
23 |
2D3 |
3A2 |
F |
37 |
4D3 |
1600 |
24 |
1E7 |
4B2 |
8 |
38 |
3E7 |
1650 |
25 |
7F3 |
5C2 |
8 |
39 |
6F3 |
1700 |
26 |
6E5 |
6D2 |
9 |
3A |
4E5 |
1750 |
27 |
5AD |
7E4 |
C |
3B |
6AD |
1800 |
28 |
6A3 |
382 |
C |
1С |
5A3 |
1300 |
29 |
7E5 |
5A2 |
E |
2В |
6E5 |
800 |
30 |
5A6 |
8D4 |
D |
47 |
4A6 |
450 |