
- •Федеральное агентство по образованию
- •1. Основы электрических измерений
- •1.1. Основные понятия и определения
- •1.2. Точностные характеристики средств измерений
- •1.3. Анализ статических погрешностей электронных схем
- •2. Простейшие электронные цепи и методы их анализа
- •2.1. Основные понятия и определения
- •2.2. Применение операторного метода к расчету электрических цепей
- •2.2.1. Прямое преобразование Лапласа
- •2.2.2. Обратное преобразование Лапласа
- •3. Типовые структуры электронных устройств и их свойства
- •3.1. Последовательная структура и ее свойства
- •3.2. Параллельная структура и ее свойства
- •3.3. Встречно-параллельное соединение
- •3.4. Задачи
- •4. Пассивные полупроводниковые компоненты электронных цепей
- •4.1. Полупроводниковые диоды и стабилитроны
- •4.2. Примеры применения полупроводниковых диодов
- •4.3. Светодиоды
- •4.4. Фотодиоды
- •5. Активные полупроводниковые компоненты электронных цепей
- •5.1. Биполярные транзисторы и их применение
- •5.1.1. Структура и принцип действия биполярных транзисторов
- •5.1.2. Характеристики и параметры биполярных транзисторов
- •5.1.3. Обеспечение усилительного режима бт в схемах
- •В результате получаем
- •5.1.4. Малосигнальные эквивалентные схемы и усилительные параметры бт
- •5.1.5. Амплитудно-частотные характеристики бт
- •5.1.6. Элементы транзисторной схемотехники
- •5.2. Полевые транзисторы и их применение
- •5.2.1. Классификация и общие особенности полевых транзисторов
- •5.2.2. Статические характеристики и дифференциальные параметры
- •5.2.3. Способы задания смещения в усилительных каскадах на пт
- •5.2.4. Малосигнальные эквивалентные схемы и усилительные параметры пт
- •5.2.5. Температурная стабильность параметров пт
- •5.2.6. Передаточная функция и динамические свойства пт Инерционные свойства пт описываются передаточной функцией вида
- •5.3. Задачи
- •6. Интегральные микросхемы и их классификация
- •7. Аналоговые интегральные микросхемы и их применение
- •7.1. Операционные усилители и их применение
- •7.1.1. Понятие идеального операционного усилителя
- •7.1.2. Принципы и примеры расчета схем с операционными усилителями
- •7.1.3. Динамические свойства устройств на операционных усилителях
- •7.1.4. Точностные характеристики устройств на операционных усилителях
- •7.1.5. Применение операционных усилителей
- •7.1.6. Задачи
- •7.2. Компараторы
- •7.3. Аналоговые ключи и коммутаторы
- •7.4. Устройства выборки-хранения
- •7.5. Интегральный таймер
- •7.5.1. Задачи
- •7.7. Справочные данные на оу
- •8. Цифро-аналоговые и аналого-цифровые преобразователи
- •8.1. Цифро-аналоговые преобразователи (цап)
- •8.2. Аналого-цифровые преобразователи (ацп)
- •9. Цифровые интегральные микросхемы и их применение
- •9.1. Элементы алгебры логики
- •9.2. Основные типы цифровых имс
- •9.3. Параметры цимс
- •9.4. Комбинационные логические цепи
- •9.4.1. Основные разновидности комбинационных логических цепей
- •9.4.2. Синтез комбинационных логических цепей
- •9.5. Последовательностные логические цепи
- •9.5.1. Классификация последовательностных логических цепей
- •9.5.2. Триггеры
- •9.5.3. Регистры
- •9.5.4. Счетчики импульсов
- •9.6. Применение цифровых имс в импульсных цепях
- •9.7. Задачи
- •10. Микросхемы полупроводниковых запоминающих устройств
- •10.1. Классификация полупроводниковых запоминающих устройств
- •10.2. Построение модулей памяти микропроцессорных систем
- •11. Элементы микропроцессорной техники
- •11.1. Общие сведения о микроконтроллерах семейства piCmicro
- •1. Ядро микроконтроллера
- •2. Периферийные модули
- •3. Специальные особенности микроконтроллеров
- •Ядро микроконтроллера
- •Порты ввода-вывода
- •Периферийные модули
- •11.2. Примеры применения микроконтроллеров piCmicro
- •11.2.1. Устройство управления четырьмя светодиодами
- •Incf portb, f ; включить крайний справа светодиод
- •11.2.2. Управление жки с помощью последовательного адаптера
- •11.2.3. Аналого-цифровое преобразование
- •11.3. Общие сведения о микроконтроллерах семейства avr
- •Режимы адресации программ и данных.
- •11.4. Примеры применения микроконтроллеров avr
- •11.4.1. Ик дальномер
- •Библиографический список
- •Оглавление
11.4. Примеры применения микроконтроллеров avr
11.4.1. Ик дальномер
Точное дистанционное измерение расстояния, например, до цели, всегда являлось одной из востребованных задач. Поэтому в качестве примера использования МК AVR рассмотрим ИК дальномер. Принципиальная схема ИК дальномера, выполненная на базе МК ATtiny12L, приведена на рис. 11.6.
В данной схеме ИК излучатель (LED1) – любой светодиод, работающий в ИК диапазоне, желательно ближе к 950 нм.
Светодиод управляется сигналом от контроллера по линии РВ4. Если светодиод имеет прямой ток до 20 мА, то можно включить его прямо на выход МК, если же нет, то, как и в нашем случае, следует поставить транзистор (V1) в качестве ключа. Какой именно транзистор – не важно, лишь бы он был n-p-n типа и был рассчитан на тот же ток, что и выбранный вами светодиод. Резистор R2 надо поставить таким, чтобы ток через светодиод не превышал допустимый для данной модели.
ИК приемник (IF1) – TSOP1736. Сигнал с него поступает непосредственно на вход МК (линия РВ3). В отсутствие подходящего ИК сигнала на выходе приемника присутствует высокий логический уровень, а при появлении сигнала проходит импульс низкого уровня.
Обратите внимание: для "ответственных" приложений контроллер и ИК приемник лучше включать в соответствии с рекомендациями изготовителей, а керамический конденсатор примерно в 100 нФ рядом с вводами питания контроллера – вещь во всех случаях обязательная.
Индикатором в нашем случае служит "обычный" светодиод LED2, подключенный на линию РВ0 контроллера последовательно с токоограничивающим резистором.
Разъем J1 используется для подключения программатора. Питание +5В подается на клемму VCC и "землю".
Рис. 11.6. Принципиальная схема ИК дальномера
Ниже приводится текст программы управления ИК дальномером.
;******************************************************************** ;
* ИК-локатор: ИК-светодиод на PB4 дает пачки импульсов с частотой ;
* около 36кГц, а TSOP1736 на PB3 их отслеживает ;
* ;
* MCU: ATtiny12@1MHz (c) RoboClub 2003 ;********************************************************************
.include "tn12def.inc"
rjmp RESET ;ручной сброс
;* Объявление переменных
.def t1 = r1 ;счетчик для "длинных" задержек
.def temp = r19 ;счетчик времени задержки
.def count = r20 ;счетчик числа импульсов в пачке
;* Определения
.equ led = 0 ;LED на PB0
.equ tsop = 3 ;TSOP на PB3
.equ ir_led = 4 ;IR LED на PB4
;* Начало кода
RESET:
sbi DDRB, led ;подключаем LED на выход PORTB линия 5
sbi DDRB, ir_led ;подключаем IR LED на выход PORTB линия 3
cbi DDRB, tsop ;подключаем TSOP на вход PORTB линия 2
sbi PORTB,tsop ;включаем "подтяжку"
;* Задание значений
.equ TIME1 = 4 ;длительность импульса
.equ TIME2 = 5 ;задержка между импульсами
.equ TIME3 = 20 ;задержка между пачками импульсов
.equ COUNT = 10 ;число импульсов в пачке
; Главный цикл программы
;********************************************************************;
START:
Ldi count, COUNT ;загружаем в счетчик число импульсов в пачке
; Цикл выдачи пачки импульсов
FLASH:
cbi PORTB, ir_led ;зажигаем IR LED
ldi temp, TIME1 ;загружаем в temp длительность импульса
DELAY1:
dec temp ;уменьшаем на единицу temp, пока
brne DELAY1 ;не станет равным 0
sbi PORTB, ir_led ;гасим IR LED
ldi temp, TIME2 ;загружаем в temp длительность паузы между импульсами
DELAY2:
dec temp ;уменьшаем на единицу temp, пока
brne DELAY2 ;не станет равным 0
dec count ;уменьшаем на 1 счетчик числа импульсов
brne FLASH ;если не 0, то посылаем следующий импульс
;когда пачка импульсов выдана - проверяем, есть ли сигнал от TSOP
sbis PINB, tsop ;если уровень на выходе TSOP низкий (т.е. сигнал есть),
rjmp LEDON ;то идем зажигать LED,
cbi PORTB, led ;иначе гасим LED
rjmp WAIT_NEXT ;и переходим к ожиданию следующей пачки
LEDON:
sbi PORTB, led ;гасим LED
; Задержка перед следующей пачкой импульсов
WAIT_NEXT:
clr t1 ;сбрасываем t1 (т.е. t1=0 или, что тоже t1=256)
ldi temp, TIME3 ;устанавливаем число задержек
DELAY3:
dec t1 ;задержка по счетчику t1 от 256 до 0
brne DELAY3 ;т.е. 2563 тактов
dec temp ;повторяем TIME3 раз задержку по t1
brne DELAY3 ;т.е. всего (TIME32563 + TIME33) тактов
rjmp START ;переходим к началу главного цикла
END