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

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

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






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



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

Принципы и методы управления в таможенных органах Под принципами управления понимаются идеи, правила, основные положения и нормы поведения, которыми руководствуются общие, частные и организационно-технологические принципы...

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

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

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

Определение трудоемкости работ и затрат машинного времени На основании ведомости объемов работ по объекту и норм времени ГЭСН составляется ведомость подсчёта трудоёмкости, затрат машинного времени, потребности в конструкциях, изделиях и материалах (табл...

Гидравлический расчёт трубопроводов Пример 3.4. Вентиляционная труба d=0,1м (100 мм) имеет длину l=100 м. Определить давление, которое должен развивать вентилятор, если расход воздуха, подаваемый по трубе, . Давление на выходе . Местных сопротивлений по пути не имеется. Температура...

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