KURS
| Категория реферата: Рефераты по радиоэлектронике
| Теги реферата: конспект по математике, 7 ответов
| Добавил(а) на сайт: Dobroslava.
Предыдущая страница реферата | 1 2 3 | Следующая страница реферата
[pic] — количество шагов для того чтобы пройти всю область настройки.
12?Kn=2004 — нужно 10 разрядов
8?Kn=501 — нужно 8 разрядов.
[pic] (В)
Если Uk возрастает на постоянно на всей области настройки, то [pic]
(В)
(Uk>(UАЦП ( 8-ми разрядный ЦАП подходит для решения данной задачи.
4. Распределение ресурсов МП системы
Регистр ОЭВМ R2 будет хранить значения Uупр, в R3 помещаются значения
предыдущего шага Uk-1, а в A (аккумулятор) — значения последующего шага Uk.
В R4 в процессе работы программы будем помещать только N — параметр
программной задержки. В B будет храниться количество шагов для прогона всей
области настройки. Выбираем N=135, т.к время программной задержки равно 400
мкс, а вся процедура реализуется в 3 цикла, ( [pic].
5. Подробная структурная схема алгоритма.
6. Программа работы МК.
|Кол|Метка|Мнемоники |Комментарий |
|-во| | | |
|цик| | | |
|лов| | | |
| | |NAME P78 |имя модуля программы |
| | |CSEG AT 0H |абсолютный кодовый сегмент |
| | |ORG 0H |псевдокоманда задания адреса памяти |
|1 | |MOV R2, #3 |в R2 помещается Uупр |
|1 | |MOV B, #167 |в B помещается количество шагов |
|1 | |MOV A P1 |в A помещается содержимое Uk из порта |
| | | |P1 |
|1 | |MOV R3, A |в R3 помещается значение Uk из A |
|1 |M1: |MOV R4, #135 |инициализация счетчика программной |
| | | |задержки |
|1 | |MOV A, R2 |в A помещается значение Uупр из R2 |
|1 | |MOV P2, A |в порт P2 помещается значение Uупр из A|
|1 | |SETB 3.7 |формирование отрицательного импульса |
| | | |для включения АЦП |
|1 | |CLR 3.7 | |
|1 | |SETB 3.7 | |
|1 |M2: |NOP |оператор задержки |
|2 | |DJNZ R4, M2 |значение R4 (счетчик программной |
| | | |задержки) уменьшается на 1 и при |
| | | |R4[pic]0 осуществляется переход на |
| | | |метку M2 |
|1 | |MOV A, P1 |в A записывается Uk+1 из порта P1 |
|1 | |SUBB A, R3 |из A вычитается R3 (Uk+1 сравнивается с|
| | | |Uk) |
|2 | |JC M3 |если флаг C=0 (Uk+1>Uk), то |
| | | |осуществляется переход на метку M3 |
|1 | |MOV A, P1 |в A помещается значение Uk+1 из порта |
| | | |P1 |
|1 | |MOV R3, A |в R3 помещается значение Uk+1 из A |
|1 | |INC R2 |значение R2 (Uупр) увеличивается на 1 |
|1 | |INC R2 |значение R2 (Uупр) увеличивается на 1 |
|1 | |INC R2 |значение R2 (Uупр) увеличивается на 1 |
|2 | |DJNZ B, M1 |значение B (счетчик шагов) уменьшается |
| | | |на 1 и при B[pic]0 осуществляется |
| | | |переход на метку M1 |
|2 | |AJMP M5 |осуществляется безусловный переход на |
| | | |метку M5 |
|1 |M3: |MOV R4, #135 |инициализация счетчика программной |
| | | |задержки |
|1 | |CLR C |флаг С устанавливается в 0 |
|1 | |DEC R2 |значение R2 (Uупр) уменьшается на 1 |
|1 | |MOV A, R2 |в A помещается значение Uупр из R2 |
|1 | |MOV P2, A |в порт P2 помещается значение Uупр из A|
|1 | |SETB 3.7 |формирование отрицательного импульса |
| | | |для включения АЦП. |
|1 | |CLR 3.7 | |
|1 | |SETB 3.7 | |
|1 |M4: |NOP |оператор задержки |
|2 | |DJNZ R4, M4 |значение R4 (счетчик программной |
| | | |задержки) уменьшается на 1 и при |
| | | |R4[pic]0 осуществляется переход на |
| | | |метку M4 |
|1 | |MOV A, P1 |в A помещается содержимое Uk+1 из порта|
| | | |P1 |
|1 | |SUBB A, R3 |из A вычитается R3 (Uk сравнивается с |
| | | |Uk+1) |
|1 | |MOV A, P1 |в A записывается Uk+1 из порта P1 |
|1 | |MOV R3, A |в R3 помещается значение Uk из A |
|2 | |JC M3 |если флаг C=0 (Uk>Uk+1), то |
| | | |осуществляется переход на метку M3 |
|1 |M5: |NOP |оператор задержки |
| | |END |конец модуля программы |
7. Контрольный пример.
Для просмотра результатов вместо порта P1 будем значения Uk, будут
помещаться во внутреннюю память, начиная с адреса 20H и заканчивая адресом
27H , ( в R0 будет размещаться адрес внутренней памяти и “MOV A, P1”
заменяется на “MOV A, @R0”. Так же уменьшим количество шагов и время
программной задержки.
| |NAME 78 | |
| |CSEG AT 0H | |
| |ORG 0H | |
| |MOV 21H, #1 |задаются значения Uk |
| |MOV 22H, #3 | |
| |MOV 23H, #6 | |
| |MOV 24H, #9 | |
| |MOV 25H, #6 | |
| |MOV 26H, #7 | |
| |MOV 27H, #9 | |
| |MOV R0, #20H|в R0 помещается адрес 20H |
| |MOV R2, #3 |в R2 помещается начальное значение Uупр |
| |MOV B, #10 |в B помещается количество шагов |
| |MOV A @R0 |в A помещается содержимое ячейки с адресом |
| | |R0 |
| |MOV R3, A |в R3 помещается содержимое А (ячейки с |
| | |адресом 20H) |
|M1: |INC R0 |значение R0 (адрес внутренней памяти) |
| | |увеличивается на 1 |
| |MOV R4, #3 |инициализация счетчика программной задержки |
| |MOV A, R2 | |
| |MOV P2, A | |
|M2: |NOP | |
| |DJNZ R4, M2 |значение R4 (счетчик программной задержки) |
| | |уменьшается на 1 и при R4[pic]0 |
| | |осуществляется переход на метку M2 |
| |MOV A, @R0 |в A помещается содержимое ячейки с адресом |
| | |R0 (Uk+1) |
| |SUBB A, R3 |из A вычитается R3 (Uk+1 сравнивается с Uk) |
| |JC M3 |если флаг C=0 (Uk>Uk+1), то осуществляется |
| | |переход на метку M3 |
| |MOV A, @R0 |в A помещается содержимое ячейки с адресом |
| | |R0 |
| |MOV R3, A |в R3 помещается значение Uk+1 из A |
| |INC R2 |значение R2 (Uупр) увеличивается на 1 |
| |INC R2 |значение R2 (Uупр) увеличивается на 1 |
| |INC R2 |значение R2 (Uупр) увеличивается на 1 |
| |DJNZ B M1 |значение B (счетчик шагов) уменьшается на 1 |
| | |и при B[pic]0 осуществляется переход на |
| | |метку M1 |
| |AJMP M5 |осуществляется безусловный переход на метку |
| | |M5 |
|M3: |INC R0 |значение R0 (адрес внутренней памяти) |
| | |увеличивается на 1 |
| |DEC R2 |значение R2 (Uупр) уменьшается на 1 |
| |MOV R4, #3 |инициализация счетчика программной задержки |
| |CLR C |флаг С устанавливается в 0 |
| |MOV A, R2 | |
| |MOV P2, A | |
|M4: |NOP | |
| |MOV A, @R0 |в A помещается содержимое ячейки с адресом |
| | |R0 (Uk+1) |
| |SUBB A, R3 |из A вычитается R3 (Uk+1 сравнивается с Uk) |
| |MOV A, @R0 |в A помещается содержимое ячейки с адресом |
| | |R0 (Uk+1) |
| |MOV R3, A |в R3 помещается значение Uk+1 из A |
| |JC M3 |если флаг C=0 (Uk>Uk+1), то осуществляется |
| | |переход на метку M3 |
|M5 |NOP | |
| |END | |
8. Определение быстродействия программы.
Найдём, сколько времени потребуется для поиска станции, которая находится в середине диапазона. F0=1,25 мГц и при условии что придётся делать один шаг назад.
T=Nц1tц1+Nц2tц2+tпер+tд
Nц1=250 — количество шагов в первом цикле
Nц2=1 — количество шагов во втором цикле tц1=417 мкс tц2=414 мкс tпер=424 — время перехода из одного цикла в другой tд=4 мкс — время ввода начальных данных
( T=250(417+1(414+424+4=104717 мкс
9. Листинг отлаженной программы.
A51 MACRO ASSEMBLER 78 24/12/01
13:46:28 PAGE 1
DOS MACRO ASSEMBLER A51 V5.10
OBJECT MODULE PLACED IN 78.OBJ
ASSEMBLER INVOKED BY: M:KEILTESTBINA51.EXE 78.A51 DB EP
|LOC |OBJ |LINE|SOURCE | |
| | | | | |
| | | 1 | |NAME P78 |
|----| | 2 | |CSEG AT 0H |
|0000| | 3 | |ORG 0H |
|0000|7A03 | 4 | |MOV R2, #3 |
|0002|75F0A7| 5 | |MOV B, #167 |
|0005|E590 | 6 | |MOV A, P1 |
|0007|FB | 7 | |MOV R3, A |
|0008|7C87 | 8 |M1: |MOV R4, #135 |
|000A|EA | 9 | |MOV A, R2 |
|000B|F5A0 |10 | |MOV P2, A |
| | |11 | | |
|000D|00 |12 |M2: |NOP |
|000E|DCFD |13 | |DJNZ R4, M2 |
|0010|E590 |14 | |MOV A, P1 |
|0012|9B |15 | |SUBB A, R3 |
|0013|400B |16 | |JC M3 |
|0015|E590 |17 | |MOV A, P1 |
|0017|FB |18 | |MOV R3, A |
|0018|0A |19 | |INC R2 |
|0019|0A |20 | |INC R2 |
|001A|0A |21 | |INC R2 |
|001B|D5F0EA|22 | |DJNZ B, M1 |
|001E|0132 |23 | |AJMP M5 |
|0020|7C87 |24 |M3: |MOV R4, #135 |
|0022|C3 |25 | |CLR C |
|0023|1A |26 | |DEC R2 |
|0024|EA |27 | |MOV A, R2 |
|0025|F5A0 |28 | |MOV P2, A |
| | |29 | | |
|0027|00 |30 |M4: |NOP |
|0028|DCFD |31 | |DJNZ R4, M4 |
|002A|E590 |32 | |MOV A, P1 |
|002C|9B |33 | |SUBB A, R3 |
|002D|E590 |34 | |MOV A, P1 |
|002F|FB |35 | |MOV R3, A |
|0030|40EE |36 | |JC M3 |
|0032|00 |37 |M5: |NOP |
| | |38 | |END |
A51 MACRO ASSEMBLER 78 24/12/01 13:46:28
PAGE 2
|SYMBOL |TABLE |LISTING |
|----------|----------|----------|
|-- |--- |-- |
Рекомендуем скачать другие рефераты по теме: реферат способы, сжатое изложение, реферат на тему образ жизни.
Категории:
Предыдущая страница реферата | 1 2 3 | Следующая страница реферата