Устройство на основе микроконтроллера К1816ВЕ48
Рассмотрение назначения микропроцессора. Разработка устройства на основе микроконтроллера К1816ВЕ48, реализующего определенную функцию. Написание алгоритма и программы, которая распознает комбинации 110, когда они расположены в двух соседних регистрах.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 23.03.2015 |
Размер файла | 276,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
СПЕЦИАЛЬНЫЙ РАЗДЕЛ
РАЗРАБОТКА ФУНКЦИОНАЛЬНОЙ СХЕМЫ
РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ ЭЛЕКТРИЧЕСКОЙ СХЕМЫ
АЛГОРИТМ
ОПИСАНИЕ АЛГОРИТМА
ДЕМОНСТРАЦИЯ РАБОТЫ ПРОГРАММЫ
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ 1
ПРИЛОЖЕНИЕ 2
ВВЕДЕНИЕ
Микропроцессор--устройство, отвечающее за выполнение арифметических, логических операций и операций управления, записанных в машинном коде, реализованный в виде одной микросхемы или комплекта из нескольких специализированных микросхем. Микропроцессор выполняет следующие основные функции:
чтение и дешифрацию команд из основной памяти;
чтение данных из основной памяти и регистров адаптеров внешних устройств;
прием и обработку запросов и команд от адаптеров на обслуживание внешних устройств;
обработку данных и их запись в основную память и регистры адаптеров внешних устройств;
выработку управляющих сигналов для всех прочих узлов и блоков компьютера.
В состав микропроцессора входят следующие устройства.
1. Арифметико-логическое устройство предназначено для выполнения всех арифметических и логических операций над числовой и символьной информацией.
2. Устройство управления координирует взаимодействие различных частей компьютера. Выполняет следующие основные функции:
формирует и подает во все блоки машины в нужные моменты времени определенные сигналы управления (управляющие импульсы), обусловленные спецификой выполнения различных операций;
формирует адреса ячеек памяти, используемых выполняемой операцией, и передает эти адреса в соответствующие блоки компьютера;
получает от генератора тактовых импульсов обратную последовательность импульсов.
3. Микропроцессорная память предназначена для кратковременного хранения, записи и выдачи информации, используемой в вычислениях непосредственно в ближайшие такты работы машины. Микропроцессорная память строится на регистрах и используется для обеспечения высокого быстродействия компьютера, так как основная память не всегда обеспечивает скорость записи, поиска и считывания информации, необходимую для эффективной работы быстродействующего микропроцессора.
4. Интерфейсная система микропроцессора предназначена для связи с другими устройствами компьютера. Включает в себя:
внутренний интерфейс микропроцессора;
буферные запоминающие регистры;
схемы управления портами ввода-вывода и системной шиной. (Порт ввода-вывода -- это аппаратура сопряжения, позволяющая подключить к микропроцессору, другое устройство.)
К микропроцессору и системной шине наряду с типовыми внешними устройствами могут быть подключены и дополнительные платы с интегральными микросхемами, расширяющие и улучшающие функциональные возможности микропроцессора. К ним относятся математический сопроцессор, контроллер прямого доступа к памяти, сопроцессор ввода-вывода, контроллер прерываний и др.
Математический сопроцессор используется для ускорения выполнения операций над двоичными числами с плавающей запятой, над двоично-кодированными десятичными числами, для вычисления тригонометрических функций. Математический сопроцессор имеет свою систему команд и работает параллельно с основным микропроцессором, но под управлением последнего. В результате происходит ускорение выполнения операций в десятки раз. Модели микропроцессора, начиная с МП 80486 DX, включают математический сопроцессор в свою структуру.
Контроллер прямого доступа к памяти освобождает микропроцессор от прямого управления накопителями на магнитных дисках, что существенно повышает эффективное быстродействие компьютера.
Сопроцессор ввода-вывода за счет параллельной работы с микропроцессором значительно ускоряет выполнение процедур ввода-вывода при обслуживании нескольких внешних устройств, освобождает микропроцессор от обработки процедур ввода-вывода, в том числе реализует режим прямого доступа к памяти.
Прерывание -- это временный останов выполнения одной программы в целях оперативного выполнения другой, в данный момент более важной. Контроллер прерываний обслуживает процедуры прерывания, принимает запрос на прерывание от внешних устройств, определяет уровень приоритета этого запроса и выдает сигнал прерывания в микропроцессор.
Все микропроцессоры можно разделить на группы:
микропроцессоры типа CISC с полным набором системы команд;
микропроцессоры типа RISC с усеченным набором системы команд;
микропроцессоры типа VLIW со сверхбольшим командным словом;
микропроцессоры типа MISC с минимальным набором системы команд и весьма высоким быстродействием и др.
Важнейшими характеристиками микропроцессора являются:
тактовая частота. Характеризует быстродействие компьютера. Режим работы процессора задается микросхемой, называемой генератором тактовых импульсов. На выполнение процессором каждой операции отводится определенное количество тактов. Тактовая частота указывает, сколько элементарных операций выполняет микропроцессор за одну секунду. Тактовая частота измеряется в МГц;
разрядность процессора -- это максимальное количество разрядов двоичного числа, над которым одновременно может выполняться машинная операция. Чем больше разрядность процессора, тем больше информации он может обрабатывать в единицу времени и тем больше, при прочих равных условиях, производительность компьютера;
СПЕЦИАЛЬНЫЙ РАЗДЕЛ
микропроцессор микроконтроллер программа комбинация
Постановка задачи: Разработать устройство на основе микроконтроллера К1816ВЕ48 реализующее следующую функцию:
На вход устройства поступает 48-ми разрядный код и требуется подсчитать количество комбинаций 110.
Функции программы для микроконтроллера К1816ВЕ48:
В программе должны быть реализованы следующие функции:
В 48-ми разрядном коде необходимо найти комбинацию “110” и подсчитать количество этих комбинаций с условием того что комбинация может быть записана между 2-мя соседними регистрами.
РАЗРАБОТКА ФУНКЦИОНАЛЬНОЙ СХЕМЫ
Рисунок 1 - Структура микроконтроллера К1816ВЕ48
ЗЕМЛЯ (20)--потенциал земли.
Uосн(40)--основное напряжение питания +5В подается во время работы и при программировании СППЗУ.
Uдоп (26)--дополнительное напряжение питания +5В во время работы МК обеспечивает электропитание только для СППЗУ; на этот вывод при программировании СППЗУ подается уровень +25 В.
ПРОГ/СТБВВ (25) --вход для подачи программирующего импульса +25В при загрузке СППЗУ; выход стробирующего сигнала УВВ во время работы.
XI (2) --вход для подключения вывода кварцевого осциллятора или вход для сигнала от внешнего источника синхронизации.
Х2 (3) -- вход для подключения второго вывода осциллятора.
(4) -- вход сигнала общего сброса при запуске МК; сигнал 0 при программировании и проверкеСППЗУ.
(5)--сигнал, который совместно с сигналом САВП позволяет выполнять программу с остановом после исполнения очередной команды; используется на этапе отладки.
(9) -- разрешение внешней памяти; сигнал подается на вход разрешения буфера внешней памяти только тогда, когда происходит обращение к внешней памяти программ.
САВП (11)--строб адреса внешней памяти; сигнал используется для приема и фиксации адреса внешней памяти на внешнем регистре, сигнал является идентификатором машинного цикла, так как всегда выводится из МК с частотой, в 5 раз меньшей основной частоты синхронизации.
(8) --стробирующий сигнал при чтении из внешней памяти или УВВ.
(10)--стробирующий сигнал при записи во внешнюю память данных или УВВ.
Т0 (1) --входной сигнал, опрашиваемый по командам условного перехода JTO и JNT0; используется при программировании СППЗУ; может быть использован для вывода сигнала синхронизации по команде ENTOCLK.
Т1 (39)--входной сигнал, опрашиваемый командами условного перехода JT1 и JNT1; кроме того, используется в качестве входа внутреннего счетчика внешних событий после исполнения команды STRTCNT.
(6)--сигнал запроса прерывания от внешнего источника; вызывает подпрограмму обслуживания прерывания, если прерывание разрешено ранее по команде ENI; сигнал СБРОС запрещает прерывания.
РВД (7)--режим внешнего доступа; уровень 1 на этом входе заставляет МК выполнять выборку команд только из внешней памяти программ; используется при тестировании прикладной программы и отладке МК.
Порт Р10-7 (27 - 34) -- 8-разрядный квазидвунаправленный порт ввода -- вывода информации; каждый разряд порта может быть запрограммирован на ввод или на вывод.
ПортР20-7(21 - 24, 35 - 38) - 8-разрядный квазидвунаправленный порт ввода -- вывода информации; каждый разряд порта может быть запрограммирован на ввод или вывод; биты Р2о-з во время чтения из внешней памяти программ содержат старшие четыре разряда счетчика команд СКв-п, во время ввода -- вывода используются для схемы расширения ввода -- вывода и адресуют внешние порты Р4--Р7.
Порт BUS0-7(12--19) -- 8-разрядный двунаправленный порт ввода -- вывода информации; может быть отключен от нагрузки; может выполнять прием и выдачу байтов синхронно с сигналами ЧТ и ЗП; при обращений к внешнему ППЗУ программ содержит 8 младших разрядов счетчика команд и затем по сигналу РВП принимает выбранную команду; при обращении к внешнему ОЗУ данных содержит младшие 8 разрядов адреса синхронно с сигналом САВП и байт данных синхронно с сигналами ЧТ или 3TL.
Цоколевка корпуса МК1816ВЕ48 показана на рисунке 2. Ниже приводятся символические имена выводов корпуса и даются краткие пояснения их назначения:
Рисунок 2 - Цоколевка корпуса МК1816ВЕ48
РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ ЭЛЕКТРИЧЕСКОЙ СХЕМЫ
Однокристальный 8-разрядный микроконтроллер KM1816BE48, называемый для краткости МК 1816, представляет собой БИС, имеющую в своем составе все атрибуты небольшой микро-ЭВМ: арифметическо-логическое устройство, устройство управления, постоянное ЗУ программ, ОЗУ данных и интерфейсные схемы. Организация, система команд и средства ввода -- вывода информации МК 1816 лучше всего приспособлены для решения задач управления и регулирования в сравнительно несложных объектах, приборах и технологических процессах.
В состав аппаратурных средств МК входят: стираемое перепрограммируемое ПЗУ (СППЗУ) программ емкостью 1 Кбайт; регистровое ОЗУ данных емкостью 64 байта; 8-разрядное арифметическо-логическое устройство; устройство управления; 8-битный программируемый таймер/счетчик событий; программно-управляемые схемы ввода -- вывода (27 линий).
Три 8-битных порта ввода -- вывода информации, два входа тестирующих сигналов и один вход запроса прерывания обеспечивают связь МП с объектом управления по 27 линиям. Кроме того, имеются выводы для подключения осциллятора и для передачи таких сигналов, как начальная установка, строб адреса внешней памяти, чтение, запись. Вывод, через который МК в процессе работы выдает сигнал стробирования УВВ, на этапе заполнения СНИЗУ программ используется для подачи программирующего сигнала. Выводы, через которые подаются сигналы пошаговой работы и режима внешнего доступа, используются на этапе отладки МК при тестировании прикладной программы.
Основные параметры:
Источник питания, 5В ± 10%
Рассеиваемая мощность, 1,5 Вт
Диапазон рабочих температур, от 0 до +70 °С
Частота синхронизации, от 1 до 6 МГц
Цикл однобайтной команды, 2,5 мкс
Цикл двухбайтной команды, 5 мкс
Емкость СППЗУ, 1 Кб
Емкость ОЗУ, 64 байт
На рисунке 1 показана структура МК 1816. Основу структуры МК образует внутренняя двунаправленная разделяемая 8-битная шина, которая связывает между собой все устройства БИС: арифметическо-логическое устройство, устройство управления, память и порты ввода--вывода информации.
АЛГОРИТМ
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
ОПИСАНИЕ АЛГОРИТМА
Сперва записываем исходные данные в регистры
Выбираем банк данных RB1 и в регистр записываем количество итераций, необходимое для поиска заданной комбинации в 48-ми разрядном коде.
Организация поиска заданной комбинации в 48-ми разрядном коде.
В теле цикла организуется проверка на соответствие первых трёх битов регистра заданной комбинации.
Данные из регистра пересылаются в АЛУ, где до начала проверки необходимо избавится от ненужной информации в битах , которая будет мешать дальнейшей проверке.
Накладываем маску 00000111 на АЛУ, для того чтобы в битах не было записано никакой информации.
Проверка организуется применением операции “исключающего ИЛИ”. Если число в АЛУ соответствует заданной комбинации, то в результате этой операции АЛУ обнулится. Далее в зависимости от результата, выполняются следующие действия:
Если условие выполняется, то выбирается банк данных RB1 и регистр увеличиваем на единицу и выполняем подпрограмму SHIFT, которая сдвигает содержимое регистров вправо на 1 разряд.
Иначе, просто выполняется подпрограмма SHIFT описанная выше.
После выполнения всех итераций, на экран выводится количество найденных комбинаций и программа заканчивает свою работу.
ДЕМОНСТРАЦИЯ РАБОТЫ ПРОГРАММЫ
48-ми разрядный код записан в 6-ти регистрах R0-R5 Банка RB0. В Регистре R0 банка RB1 записывается колличество найденных комбинаций, а в регистре R1 банка RB1 записывается количество итераций необходимых для полного прохода по 48-ми разрядному коду, в данном случае это число 46. Регистры начало программы, когда ни одна итерация еще не прошла, выглядят следующим образом:
Таблица 1
R5 |
R4 |
R3 |
R2 |
R1 |
R0 |
|
00111101 |
11111101 |
10111010 |
00010000 |
10000011 |
10101111 |
Как видно из таблицы 1, в данном 48-ми разрядном коде комбинация “101”, указанная в задании, встречается 5 раз.
Как видно из хода выполнения программы, в регистре R0 банкаRB1 записано число 5. Из этого можно сделать вывод что программа верно нашла все комбинации, учтя и те, которые располагались между регистрами.
ЗАКЛЮЧЕНИЕ
В результате выполнения курсовой работы был разработан алгоритм и написана программа, которая корректно выполняет поставленное задание. Программа корректно распознаёт комбинации и в тех случаях, когда они расположены в 2 - х соседних регистрах. Разработанная программа универсальна и подходит не только для поиска 8 - ми битной комбинации, указанной в задании, но и для любой другой 8 - ми битной комбинации.
СПИСОК ЛИТЕРАТУРЫ
Б. С. Мельников Построение микроконтроллеров на однокристальных ЭВМ. - М.: МАИ, 1984г.
ПРИЛОЖЕНИЕ 1
Sel Rb0
Mov R0, 175 ; исходные данные в регистрах R0-R5
Mov R1, 131
Mov R2, 16
Mov R3, 186
Mov R4, 253
Mov R5, 125
Sel Rb1
Mov R1, 46 ; счетчикцикла
Cicl:
Sel Rb0 ; выбираем банк Rb0
Mov A, R0
Anl A, 7 ; накладываем маску на АЛУ
Xrl A, 5 ; проверям на наличие нуля
Jnz Label1 ; если не равно нулю то переходим на метку
Sel Rb1
Inc R0 ; иначе увеличиваем счетчик на 1
Label1:
Sel Rb0
; РЕГИСТР R0
Mov A, R0
Rr A ; осуществляем циклический сдвиг регистра R0 вправо
Anl A, 127 ; и затем избавляемся от старшего бита в АЛУ
Mov R0, A
Mov A, R1 ; осущевстляем перенос младшего бита из регистра R1 в R0
Anl A, 1 ; определям наличие младшего бита операцией логическое "И"
Rr A ; преобразуем младший бит в старший циклическим сдвигом вправо
Add A, R0 ; прибавляем старший бит в регистр R0
Mov R0, A
; РЕГИСТР R1
Mov A, R1 ; Осуществляем циклический сдвиг регистра R1 вправо
Rr A
Anl A, 127 ; и затем избавляемся от старшего бита в АЛУ
Mov R1, A
Mov A, R2 ; перенос младшего бита из регистра R2 в R1
Anl A, 1 ; определям наличие младшего бита операцией логическое "И" с АЛУ
Rr A ; преобразуем младший бит в старший циклическим сдвигом вправо
Add A, R1 ; прибавляем старший бит в регистр R1
Mov R1, A
; РЕГИСТР R2
Mov A, R2 ; Осуществляем циклический сдвиг регистра вправо
Rr A
Anl A, 127 ; и затем избавляемся от старшего бита в АЛУ
Mov R2, A
Mov A, R3 ; Осущевстляем перенос младшего бита из регистра R3 в R2
Anl A, 1 ; при помощи 0000001 определям наличие младшего бита операцией логическое "И" с АЛУ
Rr A
Add A, R2
Mov R2, A
; РЕГИСТР R3
Mov A, R3 ; Осуществляем циклический сдвиг регистра R3 вправо
Rr A
Anl A, 127 ; и затем избавляемся от старшего бита в АЛУ
Mov R3, A
Mov A, R4 ; Осущевстляем перенос младшего бита из регистра R4 в R3
Anl A, 1 ; при помощи 0000001 определям наличие младшего бита операцией логическое "И" с АЛУ
Rr A
Add A, R3
Mov R3, A
; РЕГИСТР R4
Mov A, R4 ; Осуществляем циклический сдвиг регистра R4 вправо
Rr A
Anl A, 127 ; и затем избавляемся от старшего бита в АЛУ
Mov R4, A
Mov A, R5 ; Осущевстляем перенос младшего бита из регистра R4 в R3
Anl A, 1 ; при помощи 0000001 определям наличие младшего бита операцией логическое "И" с АЛУ
Rr A
Add A, R4
Mov R4, A
; РЕГИСТР R5
Mov A, R5 ; Осуществляем циклический сдвиг регистра R5 вправо
Rr A
Anl A, 127 ; и затем избавляемся от старшего бита в АЛУ
Mov R5, A
Sel Rb1
Djnz R1, Cicl
Размещено на Allbest.ru
Подобные документы
Создание приемника команд RC5 для персонального компьютера на основе микроконтроллера ATmega8. Особенности написания файла прошивки и симулирование устройства. Порядок выполнения сборки собственной схемы и характеристика полученного микроконтроллера.
курсовая работа [2,0 M], добавлен 24.11.2013Разработка алгоритма работы устройства, описание выбора элементной базы и работы принципиальной схемы. Текст программы, инициализация указателя стека, структура системы и ресурсов микроконтроллера. Запись кодов при программировании данного устройства.
контрольная работа [18,4 K], добавлен 24.12.2010Структурная схема системы управления. Характеристики первичных датчиков, электронасоса, индикатора, микроконтроллера, системы прерываний. Работа регистров и аналого-цифрового преобразователя. Алгоритм работы микропроцессора - управляющего устройства.
курсовая работа [2,2 M], добавлен 06.02.2013Проектирование устройства, выполняющего функцию определения минимального давления на основе информации о показаниях полученных от 7 датчиков. Разработка набора команд управления микроконтроллером в среде программного обеспечения Code Vision AVR.
курсовая работа [24,5 K], добавлен 28.06.2011Описание структуры системы синтезатора. Описание ресурсов однокристального 8-разрядного Flash CMOS микроконтроллера РIC16F876. Основное предназначение сторожевого таймера WDT. Описание функциональных узлов МПС. Разработка алгоритма работы устройства.
курсовая работа [1,1 M], добавлен 14.12.2009Разработка компьютерного устройства RAM-диск, позволяющего считывать, записывать и хранить информацию в модулях динамической памяти типа SDRAM под управлением микроконтроллера. Составление структурной и принципиальной схемы устройства, листинг программы.
курсовая работа [3,9 M], добавлен 24.12.2012Разработка калькулятора на выполнение арифметических функций в 16-ой системе. Использование прерывания от последовательного порта и таймера. Применение системы "прототип" на основе микроконтроллера 51 семейства. Ввод чисел с последовательного порта.
курсовая работа [18,4 K], добавлен 23.08.2009Разработка структурной схемы устройства управления учебным роботом. Выбор двигателя, микроконтроллера, микросхемы, интерфейса связи и стабилизатора. Расчет схемы электрической принципиальной. Разработка сборочного чертежа устройства и алгоритма программы.
курсовая работа [577,8 K], добавлен 24.06.2013Описание области применения устройства релаксационного воздействия на человека "Лампа хорошего настроения". Выбор микроконтроллера устройства. Алгоритм функционирования программы, её тестирование. Правила и нормы охраны труда при работе с компьютером.
дипломная работа [5,8 M], добавлен 28.09.2015Разработка структурной и принципиальной схемы. Блок-схема основной программы и подпрограмм обработки прерываний. Имена переменных, используемых в них. Результаты моделирования работы устройства в программе ISIS пакета Рroteus. Разработка печатной платы.
курсовая работа [1,5 M], добавлен 13.11.2016