Студопедия — МОДЕЛИРОВАНИЕ
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

МОДЕЛИРОВАНИЕ






Рис.2

 
Настройка порта В на вывод
Установка RB0
Задержка 100 мкс  
Сброс RB0
Задержка 100 мкс  
Шапка программы

 

 


Рис.3

Зададимся частотой и скважностью генерируемых импульсов в пределах эвукового диапазон: F= 5кГц, q=Т/tи=2. Отсюда определим временные параметры импульсов: период Т, длительность tи, паузу tп.

Т=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. ЗАДАНИЕ 3

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; просмотров: 555. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Философские школы эпохи эллинизма (неоплатонизм, эпикуреизм, стоицизм, скептицизм). Эпоха эллинизма со времени походов Александра Македонского, в результате которых была образована гигантская империя от Индии на востоке до Греции и Македонии на западе...

Демографияда "Демографиялық жарылыс" дегеніміз не? Демография (грекше демос — халық) — халықтың құрылымын...

Субъективные признаки контрабанды огнестрельного оружия или его основных частей   Переходя к рассмотрению субъективной стороны контрабанды, остановимся на теоретическом понятии субъективной стороны состава преступления...

Кран машиниста усл. № 394 – назначение и устройство Кран машиниста условный номер 394 предназначен для управления тормозами поезда...

Приложение Г: Особенности заполнение справки формы ву-45   После выполнения полного опробования тормозов, а так же после сокращенного, если предварительно на станции было произведено полное опробование тормозов состава от стационарной установки с автоматической регистрацией параметров или без...

Измерение следующих дефектов: ползун, выщербина, неравномерный прокат, равномерный прокат, кольцевая выработка, откол обода колеса, тонкий гребень, протёртость средней части оси Величину проката определяют с помощью вертикального движка 2 сухаря 3 шаблона 1 по кругу катания...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия