Студопедия Главная Случайная страница Обратная связь

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

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





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




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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Факторы, влияющие на степень электролитической диссоциации Степень диссоциации зависит от природы электролита и растворителя, концентрации раствора, температуры, присутствия одноименного иона и других факторов...

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Броматометрия и бромометрия Броматометрический метод основан на окислении вос­становителей броматом калия в кислой среде...

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

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