Устройство ультразвукового измерения дальности - Курсовая работа

бесплатно 0
4.5 89
Работа устройства ультразвукового измерения дальности. Синтез функциональной схемы микропроцессорной системы на основе анализа исходных данных. Программа разбита на отдельные подпрограммы, которые взаимодействуют друг с другом согласно схеме программы.


Аннотация к работе
3 Теоретическая часть 4 Описание схемы 6 Описание программы 13 Заключение 34 Библиографический список 35 Приложения 36 Введение Курсовой проект предназначен для приобретения практических навыков проектирования несложных микропроцессорных систем различного назначения. Одним из основных направлений научно-технического прогресса в настоящее время является развитие и широкое применение изделий микроэлектроники в промышленном производстве, в устройствах и системах управления самыми разнообразными объектами и процессами. Одним из примеров являются микроконтроллеры, производимые фирмой Microchip Technology. Характеристики ПКУП МУП-3 Наименование параметра, единица измерения Значение Частота максимальной передачи, кГц 37…45 Звуковое давление на расстоянии 0,3 м при Uвх=5В на частоте максимального излучения, дБ 100 Чувствительность на частоте максимального приема, мВ/Па 20 Ширина полосы излучения по уровню 0,5, кГц 1,8 Ширина полосы приема по уровню 0,5, кГц 1,0 Диаграмма направленности, Град По уровню 0,7 макс. ;============================================================== ;исполняемая программа org 0х000 ;вектор сброса процессора, начальный адрес clrf PORTA ;очистили выходные защелки порта А clrf PORTB ;и порта В clrf TMR0 ;очистка таймера TMR0 bsf STATUS, RP0 ;включили банк 1 movlw b’00011110’ ;настроили на вывод линию RA0, movwf PORTA ;остальные линии порта A на ввод movlw b’00000000’ ;настроили на вывод все линии порта B movwf PORTB ;RB0…RB7 bcf OPTION_REG, 7 ;включили подтягивающие резисторы bcf OPTION_REG, 5 ;включили режим таймера для TMR0 bcf STATUS, RP0 ;включили банк 0 ;============================================================== Указываем адрес начала программ, вектор сброса процессора. ;============================================================== initialization ;подпрограмма инициализации и начальных условий обнуляем значения используемых переменных clrf PORTA ;очистили выходные защелки порта A clrf NUMIMP ;обнуляем значение NUMIMP clrf TIMER1 ;обнуляем значение TIMER1 clrf NUMCH ;обнуляем значение NUMCH clrf TIMER2 ;обнуляем значение TIMER2 clrf LAPSE ;обнуляем значение LAPSE clrf DIGIT1 ;обнуляем значение DIGIT1 clrf DIGIT2 ;обнуляем значение DIGIT2 clrf DIGIT3 ;обнуляем значение DIGIT3 ;устанавливаем значения используемых переменных movlw d5 ;помещаем значение 5 для NUMIMP в аккумулятор movwf NUMIMP ;помещаем значение из аккумулятора в NUMIMP movlw d100 ;помещаем значение 100 для TIMER1 в аккумулятор movwf TIMER1 ;помещаем значение из аккумулятора в TIMER1 movlw d100 ;помещаем значение 100 для TIMER2 в аккумулятор movwf TIMER2 ;помещаем значение из аккумулятора в TIMER2 movlw d57 ;помещаем значение 57 для LAPSE в аккумулятор movwf LAPSE ;помещаем значение из аккумулятора в LAPSE return ;возврат из подпрограммы ;============================================================== Здесь мы обнуляем используемые переменные, и устанавливаем для них необходимые значения. ;============================================================== indication ;подпрограмма индикации измеренного расстояния ;-----------------------------------------------------устанавливаем биты подключения индикаторов bsf DIGIT1, 6 ;устанавливаем бит 6 переменной DIGIT1 в 1 bsf DIGIT2, 7 ;устанавливаем бит 7 (точка) переменной DIGIT2 в 1 bsf DIGIT2, 5 ;устанавливаем бит 5 переменной DIGIT2 в 1 bsf DIGIT3, 4 ;устанавливаем бит 4 переменной DIGIT3 в 1 ;-----------------------------------------------------выводим значение DIGIT1 на индикатор movf DIGIT1, 0 ;помещаем значение переменной DIGIT1 в аккумулятор movwf PORTB ;выводим значение в порт В устанавливаем задержку отображения clrf TMR0 ;обнуляем таймер и bcf INTCON, TOIF ;устанавливаем в 0 флаг прерывания по его переполнению indc1 btfss INTCON, TOIF ;проверяем флаг прерывания по переполнению таймера goto indc1 ;если флаг равен 0 (счетчик не переполнен)-выполняем проверку ;если флаг равен 1 (счетчик переполнен) - переходим к следующему ;индикатору ;-----------------------------------------------------выводим значение DIGIT2 на индикатор movf DIGIT2, 0 ;помещаем значение переменной DIGIT1 в аккумулятор movwf PORTB ;выводим значение в порт В устанавливаем задержку отображения clrf TMR0 ;обнуляем таймер и bcf INTCON, TOIF ;устанавливаем в 0 флаг прерывания по его переполнению indc2 btfss INTCON, TOIF ;проверяем флаг прерывания по переполнению таймера goto indc2 ;если флаг равен 0 (счетчик не переполнен)-выполняем проверку если флаг равен 1 (счетчик переполнен) - переходим к следующему индикатору ;-----------------------------------------------------выводим значение DIGIT3 на индикатор movf DIGIT3, 0 ;помещаем значение переменной DIGIT3 в аккумулятор movwf PORTB ;выводим значение в порт В ;устанавливаем задержку отображения clrf TMR0 ;обнуляем таймер и bcf INTCON, TOIF ;устанавливаем в 0 флаг прерывания по его переполнению indc3 btfss INTCON, TOIF ;проверяем флаг прерывания по переполнению таймера goto indc3 ;если флаг равен 0 (счетчик не переполнен)-выполняем проверку ;если флаг равен 1 (счет
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?