kursovik (Разработка контроллера матричной клавиатуры на микроконтроллере К1816ВЕ48)

2016-07-31СтудИзба

Описание файла

Документ из архива "Разработка контроллера матричной клавиатуры на микроконтроллере К1816ВЕ48", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "kursovik"

Текст из документа "kursovik"

Введение

Известно, что становятся доступными новые языки программирования высокого уровня, позволяющие в существенной степени избежать зависимости от ЭВМ и облегчить процесс программирования. Широкое распространение персональных компьютеров привлекает к использованию ЭВМ непрофессиональных программистов.

Тем не менее, интерес к архитектуре ЭВМ и программированию на уровне машинных кодов не угасает, но и явно растет по двум причинам. Первая причина заключается в том, что доступность использования ЭВМ для непрофессиональных программистов достигается ценой немалых усилий профессиональных программистов, создающих системное программное обеспечение, для которых знание архитектуры ЭВМ просто необходимы. Происходящий ныне процесс компьютеризации неизбежно увеличивает число специалистов очень высокой квалификации – системных программистов. Вторая причина обусловлена ростом микропроцессорной техники. Современные микропроцессоры обладают такими возможностями, которые соизмеримы, а порой превосходят возможности вычислительных систем, причем обладают меньшими габаритами, потреблением энергии и стоимостью. Программирование микропроцессоров и однокристальных ЭВМ, встраиваемых в какое-либо оборудование, выполняется, как правило, на языке ассемблера, а применение их требует детального знания архитектуры ЭВМ.

Темой моей курсовой работы является разработка котроллер матричной клавиатуры на микроконтроллере. В качестве него я выбрал микроконтроллер К1816ВЕ48 (МК48) потому, что серия К1816, рис.1, предназначена для построения широкого спектра микроЭВМ и микроконтроллеров с целью их использования для сбора и обработки информации, в системах регулирования технологических процессов, цифровой обработке сигналов в аппаратуре связи и т. д.

Совокупности потребительских параметров, таких, как стоимость, эффективность, энергопотребление, рабочий диапазон температур – представляются достоинствами серии К1816 при ее использовании в различной аппаратуре.

Различные модификации предназначены в первую очередь для того, чтобы помочь разработчику рациональным образом с наименьшими затратами решить комплекс проблем, возникающий при создании новой аппаратуры от момента ее разработки до серийного производства.

Простейший в серии К1816 микроконтроллер К1816ВЕ48 (МК48) имеет на кристалле следующие аппаратные средства: процессор разрядностью 1 байт, стираемое программируемое ПЗУ программ емкостью 1 Кбайт, ОЗУ данных емкостью 64 байта, программи руемый 8-битный таймер/счетчик, программируемые схемы ввода/вывода (27 линий), блок векторного прерывания от двух источников, генератор, схему синхронизации и управления.

Структура МК48 и его система команд такова, что в случае необходимости функционально-логические возможности контроллера могут быть расширены. С использованием внешних дополнительных БИС постоянной и оперативной памяти адресное пространство МК может быть расширено до 4 Кбайт и 320 байт соответственно, а путем подключения различных интерфейсных БИС число линий связи МК с объектом управления может быть увеличено практически без ограничений.

МК48 требует одного источника питания +5В  10%, рассеивает мощность около 1,5 Вт и работает в диапазоне температур от 0 до 700 С. По входам и выходам МК48 электрически совместимы с микросхемами ТТЛ. МК48 может работать в диапазоне частот синхронизации от 1 до 6 МГц, а минимальное время выполнения команды составляет 2,5 мкс.

Из такой характеристики видно, что МК48 обладает значительными функционально-логическими возможностями и представляют эффективное средство компьютеризации (автоматизации на основе применения средств и методов обработки данных и цифрового управления) разнообразных объектов и процессов.

Анализ основных признаков МК48 показывает, что их целесообразно использовать на этапе опытно-конструкторской разработки и отладки систем.

Структурная схема МК48

Рис. 1

  1. Структурная схема и анализ задачи

В структурной схеме отражено взаимодействие микропроцессора, клавиатуры и пользователя.

Рис. 2

К порту 1 подключена группа кнопок, сгруппированных по матричной схеме, которая представляет собой простую матрицу двоичных переключателей (требуемой размерности), включенных на пересечении строк и колонок матрицы, Идентификация (кодирование) нажатой клавиши в таких клавиатурах выполняется программой.

2.Разработка принципиальной схемы

Рис.3

На рис. 3 изображена принципиальная схема контроллера матричной клавиатуры. Для обеспечения синхронизации работы микропроцессора к выводам CR1, CR2 подключен кварцевый резонатор.

Десять кнопок организованы в матрицу, и при нажатии любой кнопки замыкается строка и столбец. Определив замкнутые строку и столбец, можно определить код нажатой клавиши. Такое сканирование клавиатуры реализуется программно.

Три линии порта 1 Р1.0, Р1.1, Р1.2 образуют три линии кнопок, а к выводам Р2.0, Р2.1, Р2.2, Р2.3 подключены четыре столбца. Каждая клавиша в такой матрице имеет свой номер, соответствующий ее местоположению. На цифровые клавиши можно нанести обозначения, соответствующие их кодам (от 0 по F) Резисторы R1-R4 ограничивают ток через контакты а диоды обеспечивают защиту от замыкания между собой сканирующих линий в случае одновременного нажатия более чем одной клавиши.

Питание контроллера осуществляется от сети переменного тока с напряжением

220 В и частотой 50 Гц. Поскольку напряжение питание контроллера осуществляется постоянным током с напряжением +5 В, то ставится схема питания, которая состоит из понижающего трансформатора, выпрямителя, выполненного по схеме диодного моста и стабилизатора напряжения.

3. Разработка блок-схемы и алгоритма программы

Принцип работы клавиатуры следующий:

На одну из линий порта выдается логический «0», а на остальные линии «1». Затем происходит считывание с линий столбцов. Если фиксируется «0», его позиция соответствует номеру столбца нажатой клавиши и вместе с номером текущей строки он используется для определения кода нажатой клавиши. Если на всех входах «1», процедура сканирования продолжается для следующей строки.

Для обслуживания клавиатур в МК- системах используются две процедуры: опрос состояния клавиатуры и ввод кода нажатой клавиши.

Первая процедура производит однократное обращение к матрице клавиш для определения, Нажата ли хотя бы одна из клавиш. Вторая осуществляет циклический опрос клавиатуры до тех пор, пока не будет нажата (а часто и освобождена) клавиша. Будучи встроена в основную программу, вторая процедура блокирует процесс управления объектом на время ожидания нажатия клавиши, а потому обращение к ней осуществляется только при обнаружении нажатой клавиши процедурой опроса состояния клавиатуры.

Линии порта 1 используются для сканирования, а линии порта 2 - для опроса матрицы клавиш. Каждая клавиша в такой матрице имеет свой номер, соответствующий ее местоположению. На цифровые клавиши нанесены обозначения, соответствующие их кодам (от 0 по B).

Для программного ввода информации с клавиатур характерен один недостаток, а именно - срабатывание по отпусканию клавиши, а не по нажатию. Однако при кратковременных нажатиях клавиш этот эффект не имеет особого значения.

Частная процедура сканирования служит для обнаружения нажатой клавиши и последующей ее идентификации. Процедура сводится к поочередному обнулению каждой из линий сканирования и опросу линий возврата. В порт 1 выдается байт сканирования (БС), содержащий 0 только в одном бите. Если на пересечении линии сканирования и линии возврата находится нажатая клавиша, то в соответствующем бите байта возврата (БВ), принимаемого в порт 2, будет находиться 0.

Последовательность байтов сканирования представляет собой код "бегущий нуль"; формирование очередного байта сканирования осуществляется путем сдвига его предыдущего значения. Направление сдвига определяет последовательность опроса клавиш. Если при полном цикле сканирования не было обнаружено нажатой клавиши, то процедура сканирования повторяется сначала.

Оператор "Есть нажатая клавиша?" реализуется тем, что клавиши, подключенные к каждой линии сканирования, анализируются последовательно. Если после анализа каждой клавиши осуществлять прибавление единицы к счетчику SCANCODE, то процедуру сканирования можно совместить с процедурой идентификации нажатой клавиши (рис. 4).


4. Разработка текста исходной программы

R4 - счетчик кода сканирования

ORG 300H; переход на 300 страницу РПП

DB 7EH,30H, 6DH,79H; коды семисегментного

DB 33H,5BH,5FH,70H; индикатора

DB 7FH,7BH,76H,1EH;

ORG 0; переход в начало программы

START: MOV R4,#0; сброс SCANCODE

MOV R7,#3; загрузка счетчика сканирования

MOV R6,#11111110B; загрузка исходного байта сканирования

LOOP: MOV A,R6

OUTL P1,A; вывод текущего байта сканирования

RL A; сдвиг байта сканирования

MOV R6,A; сохранение текущего байта сканирования

IN A,P2; ввод байта возврата

MOV R5,#4; загрузка счетчика опросов

LOOK: RRC A ; сдвиг байта возврата

JNC NEXT; выход из процедуры при

обнаружении первой нажатой клавиши

INC R4; инкремент SCANCODE

DJNZ R5,LOOK; декремент счетчика опросов и цикл, если не нуль

DJNZ R7,LOOP; декремент счетчика сканирования и цикл, если не 0

JMP START; начать сканирование сначала

next: mov a,r4; загрузка в аккумулятор кода символа

movp3 a,@a; считывание байта индикации из таблицы

outl bus,a; выдача байта индикации на индикатор через порт BUS

end выход из программы

СОДЕРЖАНИЕ

Задание на работу........................................................................................3

Введение.......................................................................................................4

1. Анализ поставленной задачи. Структурная схема МК системы...........6

2. Разработка принципиальной схемы МК системы..................................7

3.Выбор и описание алгоритма программы...............................................8

3.1 .Разработка общей блок-схемы алгоритма (БСА)

работы контроллера……………………………………………………...........9

4. разработка текста исходной программы...............................................10

4.1. Отладка программы с помощью индивидуального задания...........11

5. Таблица «прошивки» РПЗУ…………………………………………….....12

Заключение................................................................................................12

Список литературы....................................................................................13

Отладка программы:

Номер нажатой клавиши

Порт 1

Порт 2

Порт ССИ BUS

«6»

11111101

11111011

01011111

«А»

11111011

11111011

01110110

Таблица «прошивки» РПЗУ:

7E

30

6D

79

33

5B

5F

70

7F

7B

76

1E

72

1a

00

00

00

bc

00

bf

03

be

fe

fe

39

e7

AE

0A

BD

04

67

E6

17

1C

ED

0D

EF

06

04

00

FC

E3

02

C1

00

00

00

01

FF

Заключение.

Для визуального контроля нажатой кнопки, возможно подключение семисегментного индикатора к одному из портов, в данном случае к порту BUS. Вывод кода на ССИ осуществлен программно, тем самым достигается отображение кода нажатой клавиши на ССИ. Для удобства индикации на цифровые клавиши нанесены обозначения, соответствующие их кодам (от 0 по B).

Таким образом применение микропроцессорных систем в устройствах различного типа, позволяет сократить кол-во элементов в схеме, сделать устройство более качественным, а также позволяет осуществить наиболее “дружелюбный” интерфейс с пользователем.


Список литературы

  1. Лин. В. PDP-11 и VAX-11. Архитектура ЭВМ и программирование на языке ассемблера. М. Радио и связь, 1989.-315 с.

  2. Варламов И.В., Касаткин И.Л. Микропроцессоры в бытовой технике. М. Радио и связь, 1990.-102 с.

  3. Калабеков Б.А. Цифровые устройства и микропроцессорные системы. М. Радио и связь, 1997.-336 с.

Министерство Российской Федерации по транспорту и связи

Новосибирский колледж телекоммуникаций и информатики

Сибирского государственного университета телекоммуникаций и информатики

КУРСОВОЙ ПРОЕКТ

По дисциплине «Вычислительная техника»

На тему: «Разработка контроллера матричной клавиатуры на микроконтроллере К1816ВЕ48 »

Выполнил: Баталов Д. Ю.

Гр. М-31

Проверил: Иванов В. С.

2005

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5140
Авторов
на СтудИзбе
441
Средний доход
с одного платного файла
Обучение Подробнее