МОДЕЛИРОВАНИЕ
Рис.2 |
|
Т=1/F=1/5=0/2 мс =200 мкс, tи=Т/ q=100 мкс
tп=Т- tи=200 мкс-100 мкс=100 мкс
Для формирования задержки используется команды цикла. Время задержки при это определяется числом, загруженным в регистр CNT и временем выполнения команд, образующих цикл.
Фрагмент формирования задержки оформим в виде подпрограммы т.к. предполагается, что основная программа будет к ней многократно обращаться.
DELAY MOVLW.X 1м.ц.
MOVWF CNT 1м.ц.
AGAIN
DECFSZ CNT,f 1м.ц.
GOTO AGAIN 2м.ц.
RETURN 1м.ц.
Для получения требуемой задержки необходимо определить число Х. загружаемое в регистр CNT. Определение числа основывается на основе расчета времени выполнения команд, образующих данную программу. При этом необходимо учитывать, что команды MOVLW.X, MOVWF CNT и RETURN выполняются однократно, а число повторений команд DECFSZ CNT,f и
GOTO AGAIN равно числу Х. Кроме того, обращение к подпрограмме DELAY осуществляется по команде CALL, время выполнения которой нужно также учитывать при расчете задержки.
В описаниях команд МК известно, что все команды МК выполняются за 1 машинный цикл, кроме команд переходов, выполняемых за 2 машинных цикла. На осове этих данных определяется суммарное время машинных циклов в подпрограмме: CALL-2 м.ц., MOVLW -1м.ц., MOVWF -1 м.ц.,DECFSZ -1 м.ц.,GOTO -2 м.ц., RETURN -1 м.ц.,
Длительность машинного цикла при частоте тактового генератора 4 Мгц равна 1мкс. Таким образом, подпрограмма выполняется за время:
Т=2+1+1+(1+2)Х-1+1 мкс=4+3Х мкс
При последнем проходе цикла команда GOTO не исполняется (виртуальный NOP) и выполняется за 1 мкс. Отсюда минус 1 мкс при расчетах.
Для реализации задержки 100 мкс число Х=(100-4)/3=32
Aлгоритм программы приведен на рис.2. Перед текстом программы расположена так называемая "шапка" программы, в которой опpеделяется регистр, используемый для формирования задержки.
Основная программа начинается с настройки на выход PORTB<0>. Далее формируется на выводе RB0 высокий уровень: BSF PORTB,0 в течении 100 мкс, затем низкий уровен: BCF PORTB,0 в течении 100мкс и переход на новый цикл: GOTO START.
Параметризируемые подпрограммы
Для успешной работы любой подпрограммы необходимо однозначно определить способ передачи в нее исходных данных и способ вывода результата ее работы. Подпрограмма, которой требуется дополнительная информация в виде параметров ее настройки или операндов, называется параметризируемой. Примером параметризируемой подпрограммы служит подпрограмма задержки, если основной программе требуется задержка различной длительности. Основная программа должна обеспечить при этом передачу в подпрограмму загрузку счетчиков, обеспечивающих требуемое время задержки.
Передача параметров в подпрограмму задержки может осуществляется через регистры общего назначения. При передаче входных параметров основная программа обязательно содержит команды загрузки этих регистров, а подпрограмма - команды считывания из этих регистров.
Подпрограмма задержки
DELAY MOVWF CNT
AGAIN DECFSZ CNT,f
GOTO AGAIN
RETURN
Основная программа
MOVLW.X
При передаче выходных параметров подпрограмма должна загрузить некоторые регистры, а основная программа – считать. Еще один способ передачи параметров – через регистр признаков – удобно использовать при передаче выходных параметров (например, в подпрограммах сравнения чисел). В этом случае подпрограмма должна установить, а основная программа проанализировать их значение.
3. Задание 1
3.1. Запустите демонстрационную программу АВТОКОЛЕБАТЕЛЬНЫЙ МУЛЬТИВИБРАТОР, файл Multi.exe и посмотрите ее работу.
3.2. Загрузите программу MULTI в редактор исходного кода и сохраните ее в вашей папке.
3.3. Загрузите машинные коды в оперативную память эмулятора, кнопка [Tools/Assembler and Load].
3.4. добавьте окно [Breakpoints Manager] и выполните программу в пошаговом режиме, кнопка [Step].
3.5. Проанализируете работу команд CALL и RETURN с помощью окна [Tools/hardware Stack view].
3.6. Добавьте окно [Tools/Oscilloscope] и посмотрите формируемый МК сигнал.
Работа сo встроенным осциллографом,основноеокно Pic Simulator IDE [Tools/Oscilloscope].Для выбора подключаемого канала щелкнуть левой кнопкой мыши по окну [Settings] и в ниспадающем списке выбрать канал [Oscilloscope Channel].
рис.3
Рядом с панелью осциллографа появляется окно [Select Pin] в котором следует выделить и установить [Select] имя подключаемого порта и номер подключаемого вывода. Установить флажки [Always On Top] и [Refresh]. После запуска программы на автоматическое исполнение подбирается удобное для наблюдения и измерения изображение сигнала. Исполнение программы останавливается [ Simulation/Stop] и производится корректировка скорости развертки в окнах [Mode] и [Settings/Change Display Interval ].
Для измерения временных параметров сигнала служит окно [ Zoom ]. Кнопками [ Zoom In] и [ Zoom Out ] и соответствующими им движками на экране устанавливаются измеряемые временные отрезки, числовое значение которых высвечивается в середине окна [ Zoom ].
4. ЗАДАНИЕ 2
4.1. Внесите изменения в программу MULTI (MULTI_1):
Вариант | ||||
Длительность импульсов, мкс | ||||
Длительность паузы, мкс | ||||
подключение пьезоизлучателя | RB7 | RB5 | RA2 | RA0 |
5.1. Загрузите программу SVN_SEG в редактор исходного кода и сохраните ее в вашей папке.
5.2. Вставьте пропущенные команды, прокомментируйте команды программы.
5.2. Загрузите машинные коды в оперативную память эмулятора, кнопка [Tools/Assembler and Load].
5.3. добавьте окно [Tools/Breakpoints Manager Tools/7segment Panel] и выполните программу в пошаговом режиме, кнопка [Step].
3.5. Проанализируете работу команд ADDWF PCL,f и RETLW.
3.6. Сделайте программу циклической.
6. ЗАДАНИЕ 4
6.1. Оформите файл CASE. txt с помощью процедуры и проверьте ее работу.
МОДЕЛИРОВАНИЕ
Построить следующие математические модели и реализовать их в Excel для задач 1-2.
Дата добавления: 2015-03-11; просмотров: 633. Нарушение авторских прав; Мы поможем в написании вашей работы! |
|
|
|
|
РЕВМАТИЧЕСКИЕ БОЛЕЗНИ Ревматические болезни(или диффузные болезни соединительно ткани(ДБСТ))— это группа заболеваний, характеризующихся первичным системным поражением соединительной ткани в связи с нарушением иммунного гомеостаза...
|
Мелоксикам (Мовалис) Групповая принадлежность
· Нестероидное противовоспалительное средство, преимущественно селективный обратимый ингибитор циклооксигеназы (ЦОГ-2)...
|