Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Электроника в приборостроении.doc
Скачиваний:
219
Добавлен:
02.05.2014
Размер:
8.49 Mб
Скачать

11.2.3. Аналого-цифровое преобразование

Функциональная схема 4-канального 8-разрядного преобразователя напряжение – код (АЦП) приведена на рис. 11.4. Здесь в качестве опорного напряжения используется VDD. Входные напряжения поданы на входы RA0 – RA3. Микроконтроллер PIC16C71 использует внутренний RC генератор.

Рис. 11.4. Функциональная схема 4-канального АЦП

Ниже приводится макет текста программы, написанный для MPASM, реализующий работу 4-канального 8-разрядного АЦП.

; Инициализация АЦП.

; Выбор СН0:СНЗ, внутренний RC генератор.

; Запись результата в 4 регистра, начиная с адреса ADTABLE (10h)

;

; Инициализация

BSF STATUS, PR0 ; Выбор банка 1

MOVLW B'00000000' ; Выбор RA3:RA0 как

MOVWF ADCON1 ; аналоговых входов

BCF STATUS, PR0 ; Выбор банка 0

MOVLW B'11000001' ; Выбор канала 0, внутреннего RC

MOVWF ADCON0 ; генератора, включение АЦП

MOVLW ADTABLE ; Установка начала таблицы...

MOVWF FSR ; записи результата

;

NEW_AD CALL SAMPLE-DELAY ; Временная пауза

BSF ADCON0, 2 ; Старт преобразования

LOOP

BTFSC ADCON0, 2 ; Преобразование завершено?

GOTO LOOP ; Если нет – цикл

;

MOVF ADRES, W ; Чтение результата преобразования

MOVWF 0 ; Сохранение результата в таблице

MOVLW 4 ; Выбор следующего канала

ADDWF ADCON0 ;

BCF ADCON0, CHS2 ; Защита от переполнения

; Вычисление позиции записи результата в таблицу

CLRF TEMP ; Очистка регистра temp

BTFSC ADCON0, CHS0 ; Проверка установки бита CHS0

BSF TEMP, 0 ; Если текущий канал СН1, СНЗ

BTFSC ADCON0, CHS1 ; Проверка установки бита CHS0

BSF TEMP, 1 ; Если текущий канал СНО, СН2

MOVLW ADTABLE ; Запись нового значения

ADDWF TEMP, W ; позиции таблицы в регистр

MOVWF FSR ; указатель косвенной адресации

GOTO NEW_AD

11.3. Общие сведения о микроконтроллерах семейства avr

Микроконтроллеры семейства AVR подразделяются на 3 группы:

- Classic AVR;

- Tiny AVR;

- Mega AVR.

Принадлежность МК к той или иной группе определяется его аппаратными возможностями: объемом внутренней памяти программ и данных, наличием АЦП, объемом EEPROM, количеством и разрядностью таймеров-счетчиков, возможностями модуля UART и т.д.

Обобщенная структурная схема MK AVR приведена на рис. 11.5.

Рис. 11.5

Файл регистров общего назначения. Все оперирующие регистрами команды в наборе команд прямо адресу­ются к любому из регистров за один машинный цикл. Единственное исклю­чение – пять команд, оперирующих с константами: SBCI, SUBI, CPI, ANDI, ORI, и команда LDI, загружающая регистр константой. Эти команды работа­ют только со второй половиной регистрового файла – R16-R31. Команды SBC, SUB, CP, AND и OR, как и все остальные, работают со всем регистровым файлом.

Регистр R30 также используется как 8-разрядный указатель для не­посредственной адресации регистрового файла.

Арифметико-логическое устройство (АЛУ) процессора непосредственно подключено к 32 регистрам общего назначения. За один машинный цикл АЛУ производит операции между реги­страми регистрового файла. Команды АЛУ разделены на три основных кате­гории – арифметические, логические и битовые. Некоторые микроконтроллеры семейства AVR имеют аппаратный умножитель в арифметической части АЛУ.

Загружаемая память программ.

Память программ содержит (в зависимости от разновидности МК) от 1К до 128К загружаемой флэш-памяти для хранения про­грамм. Поскольку все команды занимают одно 16-разрядное слово, флэш-память организована как 512 16-разрядных слов. Флэш-память выдерживает не менее 1000 циклов перезаписи.

Программный счетчик имеет ширину 9 бит и таким образом адресуется к 512 словам программной флэш-памяти.

Подробно загрузка флэш памяти будет рассмотрена дальше.