11-05-2013_02-35-01 / berezyanko / 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. При тактовой частоте
работы МК, равной 18 МГц, максимальное время задержки будет чуть больше
0:043 с, что значительно меньше требуемой 0.75 с. Поэтому на таймере T/C0 реа-
лизуем задержку на 0.043с, а в регистре общего назначения (РОН) будем накапливать количество переполнений таймера с целью получения требуемой задержки в 0.75 с. Для получения задержки 0.043с в регистры таймера TH0,TL0 первона- чально необходимо загрузить число 65536 0:043=1=18МГц=12 = 65536 64499 =
1037 = 40dH. Количество переполнений таймера для отсчета времени 0.75 с бу-
дет 0:75=0:043 = eH. Для счета переполнений будем использовать регистр R0
1-го банка РОН.
|
|
|
|
|
|
Ëèñò |
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
Èçì. |
Ëèñò |
докум. |
Ïîäï. |
Äàòà |
|
|
|
|
Для формирования управляющих сигналов Y1, Y2, Y3 в программу работы МК необходимо ввести временные задержки различной длительности. Так как оба таймера МК заняты, то для реализации временных задержек используем метод программных циклов [1]. Для задержки длительностью t1 = 80мкс используем подпрограмму 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 = 18 МГц имеем: |
|
|
|
|
|
|
|
|
|
|
|
|
TÌÖ = |
12 |
|
|
= 0:667 |
(2) |
|||||||
|
|
|
|
|
|
|||||||
18 10 |
6 |
|||||||||||
|
|
|
|
|
|
|
|
|||||
Время задержки: |
|
|
|
|
|
|
|
|
|
|
|
|
tçàä = (2 + 2 + 2 + 2 N) TÌÖ |
(3) |
|||||||||||
Ïðè tçàä = t1 = 80мкс имеем: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
6 |
|
|
|
|||||
N = |
|
0:667 |
= 57 |
|
(4) |
|||||||
|
|
|
|
|
||||||||
|
|
2 |
|
|
|
|
|
|
|
Для реализации задержки длительностью t2 = 35мс и t3 = 12мс используем подпрограмму с двумя вложенными циклами:
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внутр.цикл = 333:33мкс, тогда
INT R = |
333:33 |
= 250 |
(6) |
|
2TÌÖ
Для времени внешнего цикла
tвнешн.цикл = (2 + 2 + 2) 0:667ìêñ + ((2 + 2) 0:667ìêñ + 333:33ìêñ) EXT R (7)
Ïðè tвнешн.цикл = t2 = 35ìñ |
|
|
|
|
|
EXT R = |
35000 6 TÌÖ |
= 104 |
(8) |
||
4 TÌÖ + 333:33 |
|||||
|
|
|
|||
Ïðè tвнешн.цикл = t3 = 12ìñ |
|
|
|
|
|
EXT R = |
|
12000 6 TÌÖ |
= 35 |
(9) |
|
|
4 TÌÖ + 333:33 |
||||
|
|
|
|
Окончательно подпрограммы временных задержек будут иметь следующий вид:
;****************************************************************** ; DEL80MKS подпрограмма задержки на 80 мкс ;******************************************************************
DEL80MKS : |
|
MOV |
R7 ,#57 |
LOOP : |
DJNZ |
R7 , LOOP |
|
|
RET |
|
|
;****************************************************************** ; DEL35MS подпрограмма задержки на 35 мс ;******************************************************************
DEL35MS : |
MOV |
R6 ,#104 |
LOOP2 : |
MOV |
R7 ,#250 |
LOOP1 : |
DJNZ |
R6 , LOOP1 |
|
DJNZ |
R6 , LOOP2 |
|
RET |
|
;****************************************************************** ; DEL12MS подпрограмма задержки на 12 мс ;******************************************************************
DEL12MS : |
MOV |
R6 ,#35 |
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 |
Èçì. |
Ëèñò |
докум. |
Ïîäï. |
Äàòà |
|
|
|
|