11-05-2013_02-35-01 / nakone4ny / err
.pdfРабота над ошибками Делитель напряжения
Так как размах входного сигнала составляет 10 вольт, а входное напряжение АЦП К1113ПВ1 для 8 разрядов должно составлять составлять 2,56В, то необходимо использовать делитель напряжения. Зададимся сопротивлением R2 = 10000 Ом. Тогда
|
R2 |
R2 |
R2 |
|
Uâûõ = Uâõ |
|
) R1 = Uâõ |
|
|
R1 + R2 |
Uâûõ |
R1 = 10 100002; 56 10000 = 29062 Ом, принимаем R1=28,7кОм
Рисунок 15 Делитель напряжения
|
|
|
|
|
|
Ëèñò |
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
Èçì. |
Ëèñò |
докум. |
Ïîäï. |
Äàòà |
|
|
|
|
Таймер T=C0
Для отсчета времени Топр будем использовать таймер T=0 в 1-м режиме
работы. Управляющее слово для этого режима равно 01H. При тактовой частоте работы МК, равной 13:6 МГц, максимальное время задержки будет 0:057 с,
что значительно меньше требуемой 1.5 с. Поэтому на таймере T/C0 реализуем задержку на 0.05с, а в регистре общего назначения (РОН) будем накапливать количество переполнений таймера с целью получения требуемой задержки в 1.5 с. Для получения задержки 0.05с в регистры таймера TH0,TL0 первоначально необходимо загрузить число 65536 0:05=1=13:6 МГц=12 = 65536 56666 =
8870 = 22a6H. Количество переполнений таймера для отсчета времени 1.5 с бу-
дет 1:5=0:05 = 1dH. Для счета переполнений будем использовать регистр R0 1-го
банка РОН.
|
|
|
|
|
|
Ëèñò |
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
Èçì. |
Ëèñò |
докум. |
Ïîäï. |
Äàòà |
|
|
|
|
Для формирования управляющих сигналов Y1, Y2, Y3 в программу работы МК необходимо ввести временные задержки различной длительности. Так как оба таймера МК заняты, то для реализации временных задержек используем метод программных циклов [1]. Для задержки длительностью t1 = 15мкс используем подпрограмму 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 = 13:6 МГц имеем: |
|
|
|
|
|
|
|
|
|
|
|
TÌÖ = |
|
12 |
|
|
= 0:882 |
(2) |
|||||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
6 |
|
|||||
13:6 10 |
|
|
|
|
|||||||
Время задержки: |
|
|
|
|
|
|
|
|
|
|
|
tçàä = (2 + 2 + 2 + 2 N) TÌÖ |
(3) |
||||||||||
Ïðè tçàä = t1 = 15мкс имеем: |
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
6 |
|
|
|
|||||
N = |
0:882 |
= 5 |
|
(4) |
|||||||
|
|
|
|
||||||||
|
|
2 |
|
|
|
|
|
|
Для реализации задержки длительностью t2 = 60мс и t3 = 28мс используем подпрограмму с двумя вложенными циклами:
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) |
|
|
|
|
|
|
Ëèñò |
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
Èçì. |
Ëèñò |
докум. |
Ïîäï. |
Äàòà |
|
|
|
|
Примем tвнутр.цикл = 441:18мкс, тогда
INT R = |
441:18 |
= 250 |
(6) |
|
2TÌÖ
Для времени внешнего цикла
tвнешн.цикл = (2 + 2 + 2) 0:882ìêñ + ((2 + 2) 0:882ìêñ + 441:18ìêñ) EXT R (7)
Ïðè tвнешн.цикл = t2 = 60ìñ |
|
|
|
|
|
EXT R = |
60000 6 TÌÖ |
= 134 |
(8) |
||
4 TÌÖ + 441:18 |
|||||
|
|
|
|||
Ïðè tвнешн.цикл = t3 = 28ìñ |
|
|
|
|
|
EXT R = |
|
28000 6 TÌÖ |
= 62 |
(9) |
|
|
4 TÌÖ + 441:18 |
||||
|
|
|
|
Окончательно подпрограммы временных задержек будут иметь следующий вид:
;****************************************************************** ; DEL15MKS подпрограмма задержки на 15 мкс ;******************************************************************
DEL15MKS : |
|
MOV |
R7 ,#5 |
LOOP : |
DJNZ |
R7 , LOOP |
|
|
RET |
|
|
;****************************************************************** ; DEL60MS подпрограмма задержки на 60 мс ;******************************************************************
DEL60MS : |
MOV |
R6 ,#134 |
LOOP2 : |
MOV |
R7 ,#250 |
LOOP1 : |
DJNZ |
R6 , LOOP1 |
|
DJNZ |
R6 , LOOP2 |
|
RET |
|
;****************************************************************** ; DEL28MS подпрограмма задержки на 28 мс ;******************************************************************
DEL28MS : |
MOV |
R6 ,#62 |
LOOP2 : |
MOV |
R7 ,#250 |
LOOP1 : |
DJNZ |
R7 , LOOP1 |
|
DJNZ |
R6 , LOOP2 |
|
RET |
|
|
|
|
|
|
|
Ëèñò |
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
Èçì. |
Ëèñò |
докум. |
Ïîäï. |
Äàòà |
|
|
|
|
Рисунки
Рисунок 16 Cхема подключения микроконтроллера
|
|
|
|
|
|
Ëèñò |
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
Èçì. |
Ëèñò |
докум. |
Ïîäï. |
Äàòà |
|
|
|
|
Рисунок 17 Схема включения коммутатора аналоговых сигналов
Рисунок 18 Схема ввода цифровых и аналоговых сигналов с АЦП К1113ПВ1
Рисунок 19 Схема подключения переключателей к регистру ввода
|
|
|
|
|
|
Ëèñò |
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
Èçì. |
Ëèñò |
докум. |
Ïîäï. |
Äàòà |
|
|
|
|
Рисунок 20 Схемы подключения светодиодов индикации
Рисунок 21 Схемы вывода управляющих сигналов Y1,Y2,Y3
|
|
|
|
|
|
Ëèñò |
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
Èçì. |
Ëèñò |
докум. |
Ïîäï. |
Äàòà |
|
|
|
|
Рисунок 22 Cхема подключения четырехразрядного дисплея
|
|
|
|
|
|
Ëèñò |
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
Èçì. |
Ëèñò |
докум. |
Ïîäï. |
Äàòà |
|
|
|
|
Рисунок 23 Схема сопряжения МК с интерфейсом
|
|
|
|
|
|
Ëèñò |
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
Èçì. |
Ëèñò |
докум. |
Ïîäï. |
Äàòà |
|
|
|
|