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

Таймер T=C0

Для отсчета времени Топр будем использовать таймер T=0 в 1-м режиме

работы. Управляющее слово для этого режима равно 01H. При тактовой частоте

работы МК, равной 19:5 МГц, максимальное время задержки будет чуть больше

0:04 с, что значительно меньше требуемой 0.45 с. Поэтому на таймере T/C0 реали-

зуем задержку на 0.040с, а в регистре общего назначения (РОН) будем накапливать количество переполнений таймера с целью получения требуемой задержки в 0.45 с. Для получения задержки 0.040с в регистры таймера TH0,TL0 первоначально необходимо загрузить число 65536 0:040=1=19:5 МГц=12 = 65536 65000 =

536 = 218H. Количество переполнений таймера для отсчета времени 0.45 с будет

0:45=0:040 = 8H. Для счета переполнений будем использовать регистр R0 1-го

банка РОН.

 

 

 

 

 

 

Ëèñò

 

 

 

 

 

 

 

 

 

 

 

 

 

54

Èçì.

Ëèñò

докум.

Ïîäï.

Äàòà

 

 

 

Для формирования управляющих сигналов Y1, Y2, Y3 в программу работы МК необходимо ввести временные задержки различной длительности. Так как оба таймера МК заняты, то для реализации временных задержек используем метод программных циклов [1]. Для задержки длительностью t1 = 110мкс используем подпрограмму DEL, которая вызывается командой CALL DEL, ее текст:

DEL :

MOV

R7 ,# N

LOOP :

DJNZ

R7 , LOOP

 

RET

 

В описании команд МК51 [1,2] указывается, за сколько машинных циклов (МЦ) выполняется каждая команда: MOV - 2МЦ, DJNZ - 2 МЦ, RET - 2 МЦ, CALL - 2 МЦ. Время машинного цикла TÌÖ связано с тактовой частотой fCLK работы

МК соотношением:

1

 

 

 

12

 

 

 

 

 

 

 

(1)

 

TÌÖ =

 

 

=

 

 

 

fÌÖ

f

 

 

 

 

 

 

 

 

 

 

 

CLK

 

Ïðè fCLK = 19:5 МГц имеем:

 

 

 

 

 

 

 

 

12

 

 

 

 

 

 

 

TÌÖ =

 

 

 

 

 

 

= 0:615

(2)

 

 

 

 

 

6

 

Время задержки:

19:5

10

 

 

 

 

 

tçàä = (2 + 2 + 2 + 2 N) TÌÖ

 

 

(3)

Ïðè tçàä = t1 = 110мкс имеем:

 

 

 

 

 

 

 

 

 

110

 

6

 

 

 

 

 

 

N =

0:615

 

= 86

 

(4)

 

 

 

 

 

2

 

 

 

 

 

 

 

Для реализации задержки длительностью t2 = 45мс и t3 = 30мс используем подпрограмму с двумя вложенными циклами:

DELAY :

MOV

R6 ,# EXTR

 

 

LOOP2 :

MOV

R7 ,# INTR

 

 

LOOP1 :

DJNZ

R7 , LOOP1

;

Внутренний цикл

 

DJNZ

R6 , LOOP2

;

Внешний цикл

 

RET

 

 

 

Необходимо определить значение констант INTR и EXTR, задающих времена, соответственно, tвнутр.цикл è tвнешн.цикл. Можно записать для времени внутреннего

цикла:

 

tвнутр.цикл = 2 TÌÖ INT R

 

 

 

 

 

(5)

 

 

 

 

 

 

 

 

 

 

 

 

 

Ëèñò

 

 

 

 

 

 

 

 

 

 

 

 

 

55

Èçì.

Ëèñò

докум.

Ïîäï.

Äàòà

 

 

 

Примем tвнутр.цикл = 307:69мкс, тогда

INT R =

307:69

= 250

(6)

 

2TÌÖ

Для времени внешнего цикла

tвнешн.цикл = (2 + 2 + 2) 0:615ìêñ + ((2 + 2) 0:615ìêñ + 307:69ìêñ) EXT R (7)

Ïðè tвнешн.цикл = t2 = 45ìñ

 

 

 

 

EXT R =

45000 6 TÌÖ

= 145

(8)

4 TÌÖ + 307:69

 

 

 

Ïðè tвнешн.цикл = t3 = 30ìñ

 

 

 

 

EXT R =

 

30000 6 TÌÖ

= 96

(9)

 

4 TÌÖ + 307:69

 

 

 

 

Окончательно подпрограммы временных задержек будут иметь следующий вид:

;****************************************************************** ; DEL110MKS подпрограмма задержки на 110 мкс ;******************************************************************

DEL110MKS :

MOV

R7 ,#86

LOOP :

DJNZ

R7 , LOOP

 

 

RET

 

 

;****************************************************************** ; DEL45MS подпрограмма задержки на 45 мс ;******************************************************************

DEL45MS :

MOV

R6 ,#145

LOOP2 :

MOV

R7 ,#250

LOOP1 :

DJNZ

R6 , LOOP1

 

DJNZ

R6 , LOOP2

 

RET

 

;****************************************************************** ; DEL30MS подпрограмма задержки на 30 мс ;******************************************************************

DEL30MS :

MOV

R6 ,#96

LOOP2 :

MOV

R7 ,#250

LOOP1 :

DJNZ

R7 , LOOP1

 

DJNZ

R6 , LOOP2

 

RET

 

 

 

 

 

 

 

Ëèñò

 

 

 

 

 

 

 

 

 

 

 

 

 

56

Èçì.

Ëèñò

докум.

Ïîäï.

Äàòà

 

 

 

Рисунки

Рисунок 15 Cхема подключения микроконтроллера

 

 

 

 

 

 

Ëèñò

 

 

 

 

 

 

 

 

 

 

 

 

 

57

Èçì.

Ëèñò

докум.

Ïîäï.

Äàòà

 

 

 

Рисунок 16 Схема включения коммутатора аналоговых сигналов

Рисунок 17 Схема ввода цифровых и аналоговых сигналов с АЦП К1113ПВ1

Рисунок 18 Схема подключения переключателей к регистру ввода

 

 

 

 

 

 

Ëèñò

 

 

 

 

 

 

 

 

 

 

 

 

 

58

Èçì.

Ëèñò

докум.

Ïîäï.

Äàòà

 

 

 

Рисунок 19 Схемы подключения светодиодов индикации

Рисунок 20 Схемы вывода управляющих сигналов Y1,Y2,Y3

 

 

 

 

 

 

Ëèñò

 

 

 

 

 

 

 

 

 

 

 

 

 

59

Èçì.

Ëèñò

докум.

Ïîäï.

Äàòà

 

 

 

Рисунок 21 Cхема подключения четырехразрядного дисплея

 

 

 

 

 

 

Ëèñò

 

 

 

 

 

 

 

 

 

 

 

 

 

60

Èçì.

Ëèñò

докум.

Ïîäï.

Äàòà

 

 

 

Рисунок 22 Схема сопряжения МК с интерфейсом

 

 

 

 

 

 

Ëèñò

 

 

 

 

 

 

 

 

 

 

 

 

 

61

Èçì.

Ëèñò

докум.

Ïîäï.

Äàòà