МК
Генерация
прямоугольных сигналов на pic16f62x
(Лабораторная работа)
Задание На
выводе RB0 необходимо сформировать меандр с f=100 Hz, а на RB1–RB3 трехфазную последовательность
с f=50 Hz. Тактовая частота f=8 MHz. Рис. 1. Краткие теоретические сведения PIC16F62X имеет два порта ввода/вывода, PORTA и PORTB.
Некоторые каналы портов мультиплицированы с периферийными модулями
микроконтроллера. Когда периферийный модуль включен, вывод не может
использоваться как универсальный канал ввода/вывода. Регистры PORTA и TRISA PORTA – 8-разрядный порт ввода вывода. RA4 имеет
триггер Шмидта на входе и открытый сток на выходе, мультиплицирован с тактовым
входом T0CKI. RA5 имеет триггер Шмидта на входе, без выходного буфера. Все
остальные каналы PORTA имеют триггер Шмидта на входе и полнофункциональные
выходные КМОП буферы. Все каналы PORTA имеют соответствующие биты направления в
регистре TRISA, позволяющие настраивать канал как вход или выход. Запись ‘1’ в TRISA переводит соответствующий выходной
буфер 3-е состояние. Запись ‘0’ в регистр TRISA определяет соответствующий
канал как выход, содержимое защелки PORTA передается на вывод микроконтроллера. Чтение регистра PORTA возвращает состояние на выводах
порта, а запись производится в защелку PORTA. Все операции записи в порт
выполняются по принципу «чтение – модификация - запись», т.е. сначала
производится чтение состояния
выводов порта, затем изменение и запись в защелку. Каналы PORTA мультиплицированы с модулем компараторов
и источником опорного напряжения. Настройка работы этих периферийных модулей
определяется битами в регистрах CMCON (управляющий регистр компаратора) и VRCON (управляющий регистр источника опорного
напряжения). Когда компаратор включен, чтение состояние выводов PORTA будет
давать результат
‘00’. Листинг 1. Код программы
Выводы по
работе В
данной лабораторной работе были сгенерированы 4 прямоугольных сигнала на выводах
PORTB, основная часть программы написана в прерывании по таймеру с частотой f =
200 Hz. |
|||