
- •Федеральное агентство по образованию
- •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.2. Примеры применения микроконтроллеров piCmicro
11.2.1. Устройство управления четырьмя светодиодами
На рис. 11.2 приведена схема устройства для управления четырьмя светодиодами.
Рис. 11.2. Принципиальная схема устройства управления светодиодами
Ниже приводится текст программы "бегущий огонь" для данной схемы.
; WALKLEDS.ASM
LIST P=16C84
;
PORTB EQU 6
TRISB EQU 86h
OPTREG EQU 81h
STATUS EQU 3
CARRY EQU 0
RP0 EQU 5
MSB EQU 3 ; номер бита для крайнего слева светодиода
;
CLRF PORTB ; погасить все светодиоды
BSF STATUS, RP0 ; выбрать регистровый банк 1
CLRF TRISB^80h ; установить все разряды PORTB на вывод информации
MOVLW 0Ah
MOVWF OPTREG^80h ; настроить предварительный делитель в WDT на (1:4)
BCF STATUS, RP0 ; выбрать регистровый банк 0
Incf portb, f ; включить крайний справа светодиод
BCF STATUS, CARRY ; очистить флаг CARRY
LEFT SLEEP ; подождать тайм-аута WDT
RLF PORTB, F ; сдвинуть содержимое индикатора влево
BTFSS PORTB, MSB ; достигли крайней левой позиции?
GOTO LEFT ; если нет – цикл
RIGHT SLEEP ; подождать тайм-аута WDT
RRF PORTB, F ; сдвинуть содержимое индикатора вправо
BTFSS PORTB, 0 ; достигли крайней левой позиции?
GOTO RIGHT ; если нет – цикл
GOTO LEFT ; начать новый цикл
END
Программа "бегущий огонь" предназначена для использования четырех светодиодов, но вы можете изменять значение MSB для использования большего количества светодиодов: для количества светодиодов 5, 6, 7 и 8 значения MSB должны быть 4, 5, 6 и 7 соответственно.
11.2.2. Управление жки с помощью последовательного адаптера
Несмотря на широкое применение символьных жидкокристаллических дисплеев (ЖКД), использование ЖКИ по-прежнему остается одним из распространенных способов реализации цифровых отсчетных устройств в измерительной аппаратуре с малым энергопотреблением. Это обусловлено прежде всего тем, что ЖКИ, в отличие от ЖКД, имеют более широкий диапазон рабочих температур и напряжений, а также широкий диапазон габаритов символов.
Управление ЖКИ с помощью микроконтроллеров PIC16C92x, имеющих LCD модуль, не всегда представляется целесообразным.
Для управления ЖКИ можно использовать как последовательные, так и параллельные адаптеры. Управление параллельным адаптером реализуется очень просто, используя команду MOVWF PORTx для записи подготовленных данных в регистр адаптера. Однако использование параллельных адаптеров не всегда является оптимальным (например, если все порты ввода/вывода используются по нескольким назначениям и (или) количество этих портов небольшое).
Применение последовательного адаптера требует наличия у микроконтроллера всего трех свободных (или относительно свободных) линий ввода/вывода.
Фирма Microchip Technology Incorporated производит очень удобный и недорогой последовательный адаптер символьного 32-сегментного ЖКИ AY0438.
На рис. 11.3 приводится функциональная схема управления ЖКИ через адаптер AY0438 микроконтроллерами среднего семейства.
Ниже приводится текст программы, написанной для MPASM, реализующей управление ЖКИ.
; AY0438.ASM
LIST p=16C71, f=inhx8m
;*******************************************************************************
; Соединение выводов PORTB с адаптером AY0438:
; PORTB.0 CLK (тактовый сигнал для сдвига данных в регистре AY0438)
; PORTB.1 DATA IN (входные данные для регистра сдвига AY0438)
; PORTB.2 LOAD (сигнал окончания загрузки данных в регистр сдвига AY0438)
;
; ЖКИ соединяется с AY0438 следующим образом:
; Старший разряд сегменты с 1-го по 7-й
; Третий разряд сегменты с 9-го по 15-й
; Второй разряд сегменты с 17-го по 23-й
; Младший разряд сегменты с 25-го по 31-й
; Выводы децимальных точек индикатора не присоединены, но могут подключаться
; к выводам адаптера: SEG8, SEG16, SEG24, SEG32.
; Для каждого разряда сегменты подключаются так:
; SEG A SEG(8n + 1)
; SEG B SEG(8n + 2)
; SEG C SEG(8n + 3)
; SEG D SEG(8n + 4)
; SEG E SEG(8n + 5)
; SEG F SEG(8n + 6)
; SEG G SEG(8n + 7)
; где n = 0, 1, 2, 3 для старшего, 3-го, 2-го, младшего разрядов ЖКИ соответственно.
; В программе приняты обозначения регистров:
; MSD, THRDSD, SCNDSD и LSD для определения цифр, выводимых на AY0438.
; В данном примере кнопка, соединенная с PORTB.7, периодически проверяется
; и, если она нажата, данные, расположенные в регистрах от MSD до LSD,
; выводятся на соответствующие разряды ЖКИ.
;*******************************************************************************
Рис. 11.3. Функциональная схема управления ЖКИ через адаптер AY0438
#include p16с71.inc
_CONFIG 03FF3 ; RC генератор
;
MSD EQU 0x20
THRDSD EQU 0x21
SCNDSD EQU 0x22
LSD EQU 0x23
COUNT EQU 0x24
TEMP EQU 0x25
PORTB EQU 0x06
#DEFINE CLK PORTB, 0
#DEFINE DATAIN PORTB, 1
#DEFINE LOAD PORTB, 2
#DEFINE UPDATELCD PORTB, 7
W EQU 0
STATUS EQU 0x03
C EQU 0
RP0 EQU 5
OPTION EQU 0x81
RBPU EQU 7
PCL EQU 0x02
PCLATH EQU 0x0A
;
;
ORG 0
GOTO START
;
ORG 0x10
;
; Эта таблица кодировки цифр должна быть всегда расположена на странице 0
; для работы данной программы
;
DECODEVALUE
ADDWF PCL
RETLW B'00111111' ; код цифры "0"
RETLW B'00000110' ; код цифры "1"
RETLW B'01011011' ; код цифры "2"
RETLW B'01001111' ; код цифры "3"
RETLW B'01100110' ; код цифры "4"
RETLW B'01101101' ; код цифры "5"
RETLW B'01111101' ; код цифры "6"
RETLW B'00000111' ; код цифры "7"
RETLW B'01111111' ; код цифры "8"
RETLW B'01101111' ; код цифры "9"
;
START
CLRF PORTB
BSF STATUS, RP0 ; настроить линии 0, 1, 2 PORTB как выходы
MOVLW B'11111000' ; сигналы управления адаптером установить в "0"
MOVWF PORTB
BCF OPTION, RBPU ; разрешить включение кнопки
BCF STATUS, RP0
WAIT
BTFSC UPDATELCD ; кнопка нажата (низкий уровень)?
GOTO WAIT ; если нет, то перейти на метку WAIT
BCF LOAD ; если да, то установить сигнал LOAD = 0
MOVF LSD, W ; получить значение цифры младшего разряда
CLRF PCLATH ; PCH = 0
CALL DECODEVALUE ; кодировать данное значение
CALL SEND8 ; последовательный вывод значений сегментов
MOVF SCNDSD, W ; получить значение цифры 2-го разряда
CALL DECODEVALUE ; кодировать данное значение
CALL SEND8 ; последовательный вывод значений сегментов
MOVF THRDSD, W ; получить значение цифры 3-го разряда
CALL DECODEVALUE ; кодировать данное значение
CALL SEND8
MOVF MSD, W ; получить значение цифры старшего разряда
CALL DECODEVALUE ; кодировать данное значение
CALL SEND8 ; последовательный вывод значений сегментов
BSF LOAD ; установить сигнал LOAD = 1
BCF LOAD ; установить сигнал LOAD = 0
KEYRELEASED
BTFSS UPDATELCD ; ждать нажатия кнопки
GOTO KEYRELEASED
GOTO WAIT ; повторить цикл.
;
; SEND8 посылает 8 битов данных, расположенных в регистре W, на адаптер
;
SEND8
MOVWF TEMP ; переслать текущее содержимое регистра W в TEMP
MOVLW .8 ; установка на 8
MOVWF COUNT ; счетчика битов
SENDLOOP
BCF DATAIN ; установить DATA IN = 0
RRF TEMP ; циклический сдвиг значения вправо через перенос
BTFSC STATUS, C ; пропустить, если бит равен "0"
BSF DATAIN ; иначе установить DATA IN = 1
BSF CLK ; установить CLK = 1
BCF CLK ; установить CLK = 0
DECFSZ COUNT ; декрементировать COUNT и проверить на "0"
GOTO SENDLOOP ; вывести следующий бит, если COUNT 0
RETURN ; возврат из процедуры, если COUNT = 0
;
END