Изучите назначение регистров ADCON0, ADCON1, ADRESH, ADRESL, INTCON, PIR1, PIE1, TRISA, PORTA, TRISE, PORTE, TMR0 (приложения Ж и З).
Исходные данные и задание
На рисунке 5.1 показана схема соединения разъемов и бит регистров для выполнения лабораторной работы. Аналоговый сигнал подается с выхода делителя на бит RA0 PORTA. Сигнал внешнего прерывания на бит RB0 PORTB подается от бита 1 PORTD через схему с двумя тумблерами, один из которых включен при запуске программы, а другой выключен. Он включается для подачи сигнала прерывания на бит RB0, в результате чего происходит выход из цикла и обработка в АЦП следующего аналогового значения.
Вывод двоичного значения сигнала после преобразования аналогового сигнала в АЦП из PORTC осуществляется на лампы 0-7 (рисунок 5.1).
Биты PORTC и RORTD настраиваются на вывод, биты 0-2 PORTA и биты 0-3 PORTB - на ввод.
АЦП настраивается на работу от основного генератора частоты с пределителем Fosc/8.
TMR0 запускается с предделителем 1:256. Время его работы обеспечивает зарядку конденсатора в АЦП до уровня, соответствующего но-вому сигналу. Значение нового сигнала устанавливается в период ожидания внешнего прерывания (включения тумблера) изменением положения задатчика в соответствии с вариантом лабораторной работы.
В окне наблюдения выведите все регистры, состояние которых меняется в процессе выполнения программы. Моменты сохранения окна указаны в тексте программы.
Рисунок 5.1 – Схема соединений в лабораторной работе
к программе 5.1
Таблица 7 Задания к лабораторной работе по применению АЦП
Номер вар-та | ||||||||
Положение задатчика | 5,0 | 4,5 | 4,0 | 3,5 | 3,0 | 2,5 | 2,0 | 1,5 |
Программа 5.1.
include "p16F877A.inc"
|
org h'00'
nop
nop
nop
org h'05'
CLRF STATUS
CLRF PORTC; Очистка регистра PORTC
movlw B'01000001'; Настройка АЦП. Частота Fosc/8
movwf ADCON0
; сохранить окно
bsf STATUS,5
movlw B'00000111'
movwf TRISA;биты 0-2 PORTА на ввод
movlw B'00001111'
movwf TRISB;настроить,биты 0-3 PORTB на ввод
clrf TRISD;настроить PORTD на вывод
clrf TRISC;настроить PORTC на вывод
; сохранить окно
сохранить окноаботе по применению АЦПе программы.
выполнения программы. ия подачей
movlw B'10000111';Установка предделителя перед TMR0
movwf OPTION_REG; коэффициент деления 1:256
; сохранить окно
movlw B'00001110';эта константа вводится в регистр ADCON1;для настройки АЦП – левое выравнивание и выбор бита RA0 в PORTA для;ввода аналогового сигнала
movwf ADCON1
; сохранить окно
bcf STATUS,5
movlw B'00000111'
movwf PORTD; подаем энергию в PORTD
; сохранить окно
Main
btfss INTCON,T0IF; Ждать переполнения TMR0
goto Main
bcf INTCON,T0IF;Сбросить флаг прерывания от TMR0
bsf ADCON0,GO; Запуск АЦП
Wait
btfss PIR1,ADIF; Ждать окончания преобразования
goto Wait
movf ADRESH,W;Вывод результата преобразования
movwf PORTC; на светодиоды порта С
WaitPush; после загорания светодиодов записать двоичное значение,;установить новый ток, если это необходимо, и включить тумблер на подачу 1;в PORTB<0>
btfss PORTB,0; Ждать включение тумблера и подачи 1 в RB0
goto WaitPush
goto Main; Повтор программы
end
Оформление отчета по лабораторной работе
Отчет оформляется на группу. В созданный вордовский файл копируется текст программы и окна по ходу выполнения программы в режиме MPLabSim. Записать двоичное значение измеренного аналогового значения по показаниям ламп.
5.4 Контрольные вопросы
1.Сколько каналов ввода аналоговых значений имеет микроконтроллер PIC16F877A?
2.Каким методом преобразуется аналоговое значение в цифровое в модуле АЦП микроконтроллера PIC16F877A?
|
3.Какие регистры используются для управления АЦП в микроконтроллере PIC16F877A?
4.Для чего нужна пауза перед подключением канала АЦП в микроконтроллере PIC16F877A?
5.Сколько должно быть TAD для 10-разрядного преобразования в микроконтроллере PIC16F877A?
6.В каких регистрах сохраняется результат 10-разрядного преобразования в АЦП в микроконтроллере PIC16F877A?
7.Почему нельзя отлаживать программу в режиме MPLabSim?
Приложение А
Системы счислений
Количество цифр (символов) применяемых в системе называют ее основанием. Минимальный объем информации, который можно записать на носителе информации называют бит. Восемь носителей информации объединили в одну ячейку памяти, и назвали байт.
Т а б л и ц а Б.1 - Запись чисел в различных системах счислений
Десятичная система | Двоичная система | Двоично-десятичная система | Шестнадцатеричная система |
0001 0000 | A | ||
0001 0001 | B | ||
0001 0010 | C | ||
0001 0011 | D | ||
0001 0100 | E | ||
0001 0101 | F | ||
0001 0110 | |||
0001 0111 | |||
0001 1000 | |||
0001 1001 | |||
0010 0000 |
Примеры записи чисел в программе:
- D’07’ – десятичное число;
- B’0111’ – двоичное число;
- H’07’или 0х07 или 07h – шестнадцатеричное число.
|
Алгоритм перевода чисел из двоичной системы в шестнадцатеричную систему: сначала двоичное число разбиваем на четверки чисел справа налево, затем для каждой четверки записываем его эквивалент из приведенной таблицы А1. П р и м е р. 0101 1011 11012 = 5ВD16.
Обратный перевод чисел очевиден, необходимо только аккуратно писать именно четверки двоичных чисел, дописывая при необходимости нули слева: 116.= 00012, 216 = 00102. П р и м е р. 415С16==0100 0001 0101 11002.
В двоично-десятичной системе каждый десятичный знак отображается четырьмя двоичными числами.
Приложение Б
Карта памяти МК PIC16877
Приложение В
Описание л абораторного комплекса
"УМК-7"
Лабораторный комплекс "УМК-7" создан для подготовки специалистов согласно современным требованиям, диктуемых развитием технологий в области: применения микропроцессоров и микроконтроллеров в системах (АР, СОИ, ДУ) технологических процессов. Помимо обучения языку ассемблер на примере легко программируемого контроллера PIC16F877A, студент ознакомится с внутренней и внешней структурой современных микроконтроллеров. Таким образом, комплект предназначен для изучения архитектурных и программных возможностей микропроцессоров.
Структурная схема УМК-7 представлена на рисунке В1.
Устройство программирования микроконтроллера, предназначено для ввода программы в микроконтроллер с ПК.
Выводы микроконтроллера непосредственно соединены с внешними разъёмами лабораторного комплекса.
Клеммные соединения (внешние разъёмы), предназначены для соединения выводов микроконтроллера с внешними устройствами.
К внешним устройствам относятся: внешние тумблеры, светодиоды, датчик температуры с нагревательным элементом, устройство звуковой сигнализации, источник регулируемого напряжения для АЦП, а также два внешних реле для управления внешними цепями до 12 Вольт и током до 0,5 Ампер.
Рисунок В1 - Структурная схема УМК-7
Рисунок В2 - Передняя панель стенда
1 - микроконтроллер PIC16F877A;
2 – модуль MPLAB-ICD;
3 - ряд клеммных соединений (выводы PIC16F877A);
4 - ряд клеммных соединений (выводы внешних устройств);
5 - аналоговый выход (ограничение по току до 1 мА);
6 - световая сигнализация;
7 – тумблеры с выходом 0 или 5 Вольт (ограничение по току до 1 мА, верхнее положение тумблера соответствует наличию на выходе напряжения 5 Вольт);
8 – внешние реле К1 и К2.
Для того чтобы скоммутировать контроллер с внешними устройствами соедините нужные клеммы из ряда клеммных соединений контроллера с клеммами из ряда клеммных соединений внешних устройств, при помощи перемычек.