Автор работы: Пользователь скрыл имя, 09 Апреля 2014 в 21:47, курсовая работа
Первые микроконтроллеры компании MICROCHIP PIC16C5x появились в конце 80-х годов и благодаря своей высокой производительности и низкой стоимости составили серьёзную конкуренцию производимым в то время 8-разрядным МК с CISC-архитектурой.
Первое, что привлекает внимание в PIC-контроллерах — это простота и эффективность. В основу концепции PIC, единую для всех выпускаемых семейств, была положена RISC-архитектура с системой простых однословных команд, применение встроенной памяти программ и данных и малое энергопотребление.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ
УНИВЕРСИТЕТ имени академика С.П. КОРОЛЕВА
(национальный исследовательский университет) (СГАУ)
ФАКУЛЬТЕТ №5
кафедра радиотехнических устройств
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовому проекту по дисциплине:
«Цифровые устройства»
Телефонный номеронабиратель
Выполнил
Студент Евдокимов Н.М. группа 542
Руководитель
проекта Корнилин Д.В.
Работа защищена с оценкой______________
САМАРА 2012
РЕФЕРАТ
Курсовой проект.
Пояснительная записка: 27 с., 21 рис., 6 источников, 1 приложение.
Графическая документация: 1Л А4.
СИГНАЛ, МИКРОКОНТРОЛЛЕР, ЦАП, КЛАВИАТУРА, СХЕМА, АЛГОРИТМ, ПРОГРАММА, ФАЙЛ БЛОК ПИТАНИЯ.
Производится выбор микроконтроллера для устройства формирования положительных прямоугольных импульсов, а так же выполняется разработка принципиальной схемы. Выбор вспомогательных элементов конструкции и расчет токов и напряжений в устройстве. Составлен алгоритм программы. Разработана программа для микроконтроллера. Была произведена разработка блока питания для данного устройства.
Первые микроконтроллеры компании MICROCHIP PIC16C5x появились в конце 80-х годов и благодаря своей высокой производительности и низкой стоимости составили серьёзную конкуренцию производимым в то время 8-разрядным МК с CISC-архитектурой.
Первое, что привлекает внимание в PIC-контроллерах — это простота и эффективность. В основу концепции PIC, единую для всех выпускаемых семейств, была положена RISC-архитектура с системой простых однословных команд, применение встроенной памяти программ и данных и малое энергопотребление.
Система команд базового семейства PIC18 содержит только 75 команд. Это сыграло свою роль в популяризации PIC-контроллеров. Все команды (кроме команд перехода) выполняются за один машинный цикл (или четыре машинных такта) с перекрытием по времени выборок команд и их исполнения, что позволяет достичь производительности до 5 MIPS при тактовой частоте 48 МГц.
Микроконтроллеры PIC имеют симметричную систему команд, позволяющую выполнять операции с любым регистром, используя любой метод адресации. Разработчики MICROCHIP так и не смогли отказаться от структуры с регистром-аккумулятором, необходимым участником всех операций с двумя операндами. Зато теперь пользователь может сохранять результат операции на выбор, где пожелает, в самом регистре-аккумуляторе или во втором регистре, используемом для операции.
Большинство PIC-контроллеров выпускаются с однократно программируемой памятью программ OTP с возможностью внутрисхемного программирования или масочным ROM. Для целей отладки предлагаются версии с ультрафиолетовым стиранием. Полное количество выпускаемых модификаций PIC-контроллеров составляет порядка пятисот наименований. Как утверждает MICROCHIP, продукция компании перекрывает весь диапазон применений 8-разрядных микроконтроллеров.
Особый акцент MICROСHIP делает на максимально возможное снижение энергопотребления для выпускаемых микроконтроллеров. При работе на частоте 4 МГц PIC-контроллеры, в зависимости от модели, имеют ток потребления меньше 1,5 мА, а при работе на частоте 32,768 КГц — ниже 15 мкА. Поддерживается “спящий” режим работы. Диапазон питающих напряжений PIC-контроллеров составляет 2,0...6,0 В.
Из программных средств отладки наиболее известны и доступны различные версии ассемблеров, а также интегрированная программная среда MPLAB. Российские производители программаторов и аппаратных отладочных средств также уделяют внимание PIC-контроллерам. Выпускаются как специализированные программаторы, такие как PICPROG, программирующие почти весь спектр PIC-микроконтроллеров, так и универсальные: UNIPRO, СТЕРХ, поддерживающие наиболее известные версии PIC.
Составим структурную схему проектируемого устройства.
Рисунок 1 — Структурная схема устройства
Основной задачей решаемой при составлении структурной схемы является определение, и рациональное совмещение блоков устройства, которые подключаются к микроконтроллеру.
Проектируемое устройство содержит следующие узлы:
Кварцевый резонатор, работает как тактирующее устройство микроконтроллера. Резонатор обеспечивает наиболее удобную, подходящую частоту тактового генератора.
Матричная клавиатура на 12 клавиш со схемой организации 3х4.
МК — микроконтроллер PIC18F2550.
Формирователь — представляющий собой электронный ключ.
Блок питания — для преобразования постоянного напряжения 12В в напряжение 5В.
Принципиальная электрическая схема и перечень использованных элементов приведены в приложении А.
Устройство состоит из:
Характеристики PIC18F2550:
DC – 48 МГц, тактовый сигнал,
256 байт EEPROM памяти данных.
– < 0.6 мА 3.0В, 4.0МГц,
– 20 мкА 3.0В. 32кГц,
– < 1мкА в режиме энергосбережения (SLEEP).
Характеристики периферийных модулей:
– 16-разрядный захват (макс. разрешающая способность 12,5 нс),
– 16-разрядное сравнение (макс. разрешающая способность 200 нс),
– 10-разрядный ШИМ.
Основные температурные и электрические характеристики МК PIC18F2550 приведены в таблице 2.1.
Таблица 2.1 Температурные и электрические характеристики МК PIC16F876
Название параметра (характеристики) |
Значение |
Предельная рабочая температура |
от –55°С до +125ºС |
Температура хранения |
от –65°С до +150ºС |
Напряжение VDD относительно VSS |
от –0,3 В до +7,5 В |
Напряжение относительно VSS |
от 0 В до +14 В |
Напряжение на остальных выводах относительно VSS |
от –0,3 В до VDD+0,3 В |
Максимальный ток вывода VSS |
300 мА |
Максимальный ток вывода VDD |
250 мА |
Макс. выходной ток стока канала ввода/вывода |
25 мА |
Макс. выходной ток истока канала ввода/вывода |
25 мА |
Макс. выходной ток стока |
200 мА |
Максимальный выходной ток истока |
200 мА |
Цоколёвка МК приведена на рисунке 2.1.
Рисунок 2 — Цоколевка PIC18F2550
Назначение используемых выводов приведены в таблице 2.2.
Таблица 2.2 Назначение используемых выводов МК
Обозн. вывода |
Номер выв. |
Назначение вывода |
OSC1, OSC2 |
9, 10 |
Подключается кварцевый резонатор |
1 |
Вход сброса МК | |
Vdd |
20 |
Положительное напряжение питания |
Vss |
8, 19 |
Общий вывод |
RA0 |
2 |
Порт A |
RB0…RB6 |
21..27 |
Порт B |
RX |
18 |
Выход последовательного порта, используется как выход генератора |
Кварцевый резонатор (ZQ1) служит для увеличения стабильности генерируемой частоты. Конденсаторы C1 и C2 предназначены для согласования работы кварцевого резонатора и микроконтроллера. Их емкость составляет 15 пФ для частоты 4 МГц.
Вывод MCLR МК соединен с питанием для сброса при включении питания.
Клавиатура представляет собой матрицу клавиш размером 3х4, в ячейках которой находятся кнопки.
При опросе клавиатуры микроконтроллер работает следующим образом. На линиях RB3-RB6 логические единицы, как и на RB0-RB2. Через порты RB3-RB6 осуществляется перебор строк клавиатуры низкими логическими уровнями. Каждый раз после переключения строки считывается состояние линий RB0-RB2. Низкий уровень на этих линиях может появиться, только если нажата клавиша. Зная номер текущего активной строки, и определив номер столбца, в которой обнаружен нулевой уровень, можно определить номер нажатой клавиши.
Организация клавиш представлена на рисунке 3.
Рисунок 3 — Организация клавиатуры
Клавиша «#» служит для воспроизведения последнего набранного номера.
В качестве формирующего устройства будем использовать электронный ключ. Исходя из задания, на нагрузке в 100Ом должен формироваться меандр амплитудой 25В. Используя эти данные рассчитаем ключ.
E=Uкэ нас+U; E=1+25=26В
Uвх0+Iкб0maxRmax > Uбэотс
Uвх1= Uбэотс + IбRб
Iб > =2,5млА
Исходя из расчётов, можно выбрать транзистор КТ3117A(Iкmax=400мА), R2=100Ом,
R3=750Ом (выбираем из ряда E24)
Для преобразования напряжения с12В на 5В а так же его стабилизации выберем стабилизатор компенсационного типа КР142ЕН5А, функциональная схема которого приведена на рисунке 4.
Рисунок 4 — стабилизатор компенсационного типа КР142ЕН5А
Схема включения К142ЕН5А приведена на рисунке 5.
Рисунок 5 — схема включения КР142ЕН5А
При включении устройства происходит его инициализация. По умолчанию длительность импульса равна 100мс.
Из переменной NewKey считывается номер нажатой кнопки.
По линии RA0 выдается логическая единица и организуется модуляция заданного тона, в зависимости от номера нажатой кнопки, с помощью таймера 2 организуется постоянная длительность импульса 100мс.
Опрашивается клавиатура. Если есть нажатые клавиши, то их коды заносятся в память. По нажатию клавиши «#» из памяти воспроизводятся последний набранный номер длиной 24 символа. После этого процесс повторяется.
Общий алгоритм управляющей программы представлен на рисунке 6.
Рисунок 6 — Общий алгоритм управляющей программы
Рисунок 7 — Алгоритм подпрограммы инициализации портов
Рисунок 8 — Алгоритм подпрограммы инициализации таймера
Рисунок 9 — Алгоритм подпрограммы опроса клавиатуры
Рисунок 10— Алгоритм подпрограммы сканирования клавиатуры
Рисунок 11 — Алгоритм подпрограммы генерации
LIST
TempC EQU 0x0c ; Временные регистры общего применения
TempD EQU 0x0d
TempE EQU 0x0e
PABuf EQU 0x20
PBBuf EQU 0x21
Count EQU 0x0f ; Счетчик,
MsdTime EQU 0x10 ; Старший байт.
LsdTime EQU 0x11 ; Младший байт,
KeyFlag EQU 0x12 ; Флаг клавиатуры,
keyhit EQU 0 ; Бит 0 - значит, клавиша нажата,
DebnceOn EQU 1
noentry EQU 2 ; Нет клавиши = 0.
ServKey EQU 3 ; Бит 3 - значит, обработка клавиши.
Debnce EQU 0x13
NewKey EQU 0x14
WBuffer EQU 0x2f
T EQU 100
T_IMPULS EQU 0x15
ODIN EQU 0x17
DES EQU 0x18
StatBuffer EQU 0x2e
OptionReg EQU 1
PCL EQU 2
; Макрос сохранения байта состояния и содержимого рабочего регистра в буфере
push macro
movwf WBuffer
swapf WBuffer
swapf STATUS, w
movwf StatBuffer
endm
; Макрос считывания байта состояния и содержимого рабочего регистра из буфера,
pop macro
swapf StatBuffer,w
movwf STATUS
swapf WBuffer, w