Реализация десятичного калькулятора на PIC16F874
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
?рерывание при изменении значения на выводе. // Также используется при программировании кристалла.Порт СRС0/T1OSO/T1CKII/OSTПорт ввода / вывода. // Выход генератора TMR1 // Вход внешней тактовой частотыRС1/T1OSI/CCP2I/OSTПорт ввода / вывода. // Вход генератора TMR1 // Модуль CCP2 (защелкивание2 - вход, сравнение2 - выход, ШИМ2 - выход)RС2/CCP1I/OSTПорт ввода / вывода. // Модуль CCP1 (защелкивание1-вход, сравнение1 - выход, ШИМ1 - выход)RС3/SCK/SCLI/OSTПорт ввода / вывода // Тактовая частота для режимов SPI, I2CRС4/SDI/SDAI/OSTПорт ввода / вывода // Вход данных в режиме SPI // Вход/выход данных в режиме I2CRС5/SDOI/OSTПорт ввода / вывода // Выход данных в режиме SPIRС6/TX/CKI/OSTПорт ввода / вывода // В режиме SCI (асинхронном) выход данных // В режиме SCI (синхронном) тактовая частотаRС7/RX/DTПорт ввода / вывода // В режиме SCI (асинхронном) вход данных // В режиме SCI (синхронном) вход / выход данныхПорт DRD [0:7]/PSP [0:7]I/OST/TTLДвунаправленный порт (RD0..RD7) ввода / вывода // Параллельный порт-защелка (PSP0..PSP7) для подключения к микропроцессорной шине в качестве сопроцессораПорт ЕE0 //RD/AN5, E1 //WR/AN6, E2 //CS/AN7I/OST/TTLДвунаправленный порт ввода / вывода // Сигнал чтения в режиме микропроцессорной шины // Аналоговый вход каналаВыводы кристалла, не входящие в порты/MCLR/VppI/PSTНизкий уровень на этом входе генерирует сигнал сброса для контроллера. Активный низкий.OSC1/CLKINICMOSДля подключения кварца или вход внешней тактовой частотыOSC2/CLKOUTOГенератор, выход тактовой частоты в режиме RC генератора, в остальных случаях - для подключения кварцевого резонатораVddР-Напряжение питанияVssР-Общий(земля)Условные обозначения: I - только вход, O - только выход, I/O - вход / выход, P - питание, TTL - уровень ТТЛ, ST - вход триггера Шмитта.
Порт А - это порт разрядностью 6 бит, соответствующие выводы кристалла RA [5:0]. Выводы RA [3:0], RA5 двунаправленные. Относящийся к порту А управляющий регистр TRISA расположен по адресу 85h.
Порт В-это двунаправленный порт разрядностью 8 бит (адрес регистра 06h). Относящийся к порту В управляющий регистр TRISB расположен по адресу 86h.
Порт С - это двунаправленный порт разрядностью восемь бит (адрес регистра 07h). Относящийся к порту C управляющий регистр TRISC расположен по адресу 87h.
Порт D - это двунаправленный порт разрядностью восемь бит (адрес регистра 08h). Относящийся к порту D управляющий регистр TRISD расположен по адресу 88h.
Порт Е имеет три линии (RE0, RE1, RE2), которые могут быть настроены как линии ввода / вывода (адрес регистра 09h. Относящийся к порту E управляющий регистр TRISE (рис. 6) расположен по адресу 89h.
76543210IBFOBFIBOVPSPMODETRISE2TRISE1TRIS0 - входной буфер заполнен;
OBF - выходной буфер заполнен;
IBOV - входной буфер переполнен;
PSPMODE - выбирает режим для порта D и порта E;
TRISE [2:0] - биты управления направлением на выводах RE [2:0] соответственно
Аналого-цифровой преобразователь (АЦП)
Модуль АЦП (рис. 7) содержит восемь аналоговых каналов, мультиплексируемых на одну схему выборки / хранения и далее на АЦП. Опорное напряжение поступает извне через вывод RA3/AIN3/Vref или формируется внутри кристалла из напряжения питания Vdd.
Таймерная система
В семействе PIC16 находятся 3 таймера TMR0, TMR1, TMR2.
Таймер TMR1. Таймер 1 - это 16-битовый таймер / счетчик (рис. 7), который имеет два 8-битовых регистра (TMR1H и TMR1L). Эти регистры доступны для чтения и записи. Таймер 1 инкрементируется от 0000h до FFFFh, после чего опять переходит в 0000 h.
2. Разработка системы
.1 Параметры устройства
Разрабатываемая система должна обеспечить:
ввод и редактирование входных значений;
выполнение операции в зависимости от нажатой кнопки (+, -, =, +\-, С);
индикацию результата;
Для выполнения данных функций ОМЭВМ должна обладать следующими ресурсами:
встроенный АЦП;
8 выходных линий для подключения ЖК индикатора при динамической индикации;
8 выходных линии для подключения матричной клавиатуры;
система таймеров;F874 удовлетворяет всем требованиям данной задачи
.2 Обоснование выбранных устройств. Организация диалога с пользователем
В качестве индикатора устройства используются широко распространенный 10-разрядный жк-индикатор. Для управления
На лицевой панели устройства находятся 10-разрядный жк-индикатор, предназначенный для вывода результатов вычислений, кнопки ввода, редактирования и вычислений заданных арифметических операций.
Лицевая панель устройства
Тип и назначение каждой из кнопок:
Кнопка 0 - 9 предназначен для записи чисел в регистры REG1 и REG2 и вывода на индикацию.
Кнопка С предназначена для очистки регистров (REG1, REG2, REZ) и индикации.
Кнопка + предназначена для записи значения + в регистр операций OPER.
Кнопка - предназначена для записи значения - в регистр операций OPER.
Кнопка +\- предназначена для изменения знакового разряда числа.
Кнопка = предназначена для подсчета результатов в зависимости от выполняемой операции и вывод на индикацию индицируемого регистра SPI.
калькулятор программа микроконтроллер десятичный
2.3 Схема устройства
Для индикации используется 10-разрядный жк-индикатор. Для управления индикатором используется интерфейс SPI.
Для управления устройством используется матричная клавиатура (используемые регистры: A0 - A5, B4 - B7). Она реализована следующим образом: выводы RB4-RB7 подтянуты к Vdd, т.е. при чтении порта возвращают логическую единицу. Четыре вывода из RA0-RA3 та?/p>