Реферат: Организация обмена информацией между микроконтроллером семейства MCS-51 фирмы Intel и персональным компьютером

ANOTĀCIJAŠajā darbā tiekaplūkota informācijas apmaiņas organizācija starppersonālo datoru un firmai Intel MCS-51 mikrokontrolieri. Darbā tiekuzrādīti mikrokontroliera programmas algoritmi un tā arīstrukturālās pieslēgumu shēmas pie personālo datoru portam. Darba apjoms 47 lappuses.
АННОТАЦИЯ

В данной работе рассматривается организация обменаинформацией между персональным компьютером и микроконтроллером семейства MCS-51 фирмы Intel. В работе представлены алгоритмыпрограммного обеспечения микроконтроллера, а также структурные схемыподключения микроконтроллера к портам персонального компьютера.

Объем работы 47 страниц.


ANNOTATIONIn given document isconsidered organization of information exchange between the personal computerand family MCS-51 Company Intel microcontroller. There is presented thealgorithms of microcontroller software, as well as structured schemes ofconnecting a microcontroller to ports of the personal computer.Volumes of work 47 pages.

СОДЕРЖАНИЕ

стр.

 TOC «Style2;1»… PAGEREF _Toc451352532 h

ВВЕДЕНИЕ… PAGEREF _Toc451352533 h

1. АНАЛИЗ СОСТОЯНИЯ ВОПРОСА… PAGEREF _Toc451352534 h

1.1 Постановка глобальных задач… PAGEREF _Toc451352535 h

1.2 Анализ предыдущей работы… PAGEREF _Toc451352536 h

1.2.1 Положительные стороны… PAGEREF _Toc451352537 h

1.2.2 Отрицательные стороны… PAGEREF _Toc451352538 h

1.3 Постановка задачи… PAGEREF _Toc451352539 h

2. РАЗРАБОТКА ВОПРОСОВ АППАРАТНОГО И ПРОГРАММНОГО СОПРЯЖЕНИЯ… PAGEREF _Toc451352540 h

2.1 Аппаратное сопряжение ПК и микроконтроллера… PAGEREF _Toc451352541 h

2.1.1 Скорость приема/передачи… PAGEREF _Toc451352542 h

2.1.2 Разработка формата принимаемых и передаваемых данных      PAGEREF _Toc451352543 h

2.1.3 Разработка схемы подключения микроконтроллера. PAGEREF _Toc451352544 h

2.1.4 Выбор источника питания… PAGEREF _Toc451352545 h

2.2 Подключение внешней памяти программ… PAGEREF _Toc451352546 h

2.3 Программное сопряжение микроконтроллера и ПК… PAGEREF _Toc451352547 h

2.3.1 Начальная установка MCS-51… PAGEREF _Toc451352548 h

2.3.2 Программное обеспечение организации обмена информациеймежду МК и ПК… PAGEREF _Toc451352549 h

2.3.2.1 Программа «Монитор»… PAGEREF _Toc451352550 h

2.3.2.2 Подпрограмма запуска программы пользователя в режимереального времени… PAGEREF _Toc451352551 h

2.3.2.3 Подпрограмма запуска программы пользователя впошаговом режиме   PAGEREF _Toc451352552 h

2.3.2.4 Подпрограмма записи программы пользователя в памятьпрограмм микроконтроллера… PAGEREF _Toc451352553 h

2.3.2.5 Подпрограмма записи информации в программно –доступные узлы микроконтроллера… PAGEREF _Toc451352554 h

2.3.2.6 Подпрограмма чтения из памяти программмикроконтроллера      PAGEREF _Toc451352555 h

2.3.2.7 Подпрограмма чтения информации программно –доступных узлов микроконтроллера… PAGEREF _Toc451352556 h

2.3.2.8 Подпрограмма выдачи ошибки в ПК… PAGEREF _Toc451352557 h

2.3.2.9 Подпрограмма выдачи одного байта информации PAGEREF _Toc451352558 h

2.3.2.10 Подпрограмма приема одного байта информации. PAGEREF _Toc451352559 h

СПИСОК ИСПОЛЬЗОВАНОЙ ЛИТЕРАТУРЫ… PAGEREF _Toc451352560 h

ПРИЛОЖЕНИЯ… PAGEREF _Toc451352561 h


ПЕРЕЧЕНЬ СОКРАЩЕНИЙ

БИС       -     большаяинтегральная схема

МК         -     микроконтроллер

ОЗУ        -     оперативноезапоминающее устройство

ПЗУ        -     постоянноезапоминающее устройство

ПК          -     персональныйкомпьютер

УАПП    -     универсальныйасинхронный приемопередатчик

ЭВМ      -     электроннаявычислительная машина


ВВЕДЕНИЕ

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

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

Микроконтроллеры представляют собой эффективноесредство автоматизации разнообразных объектов и процессов.

Все это определяет необходимость изучениямикропроцессорных систем. В  настоящеевремя в РАУ имеются учебные методические комплексы УМК ВЭФ, базирующиеся намикропроцессоре I8080,позволяющие получить знания в программировании микропроцессоров. К сожалению,на кафедре нет лабораторной установки, позволяющей получить практические навыкив программировании микроконтроллеров.

Необходимо создание новой лабораторной базы,использующей на наиболее распространенные микроконтроллеры. Такимимикроконтроллерами могут послужить микроконтроллеры семейства MCS-51 фирмы Intel.

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

Вышесказанное указывает на актуальность рассмотрениявопроса организации обмена информацией между персональным компьютером имикроконтроллером MCS-51фирмы Intel.


 

1. АНАЛИЗ СОСТОЯНИЯ ВОПРОСА

В устройствах управления объектами (контроллерах) на основе МК аппаратурные средства ипрограммное обеспечение существует в форме неделимого аппаратурно-программногокомплекса. При проектировании контроллеров приходиться решать одну из самыхсложных задач разработки, а именно задачу оптимального распределения функцийконтроллера между аппаратурными средствами и программным обеспечением. Решениеэтой задачи осложняется тем, что взаимосвязь и взаимовлияние аппаратурныхсредств и программного обеспечения в микропроцессорной технике претерпеваютдинамические изменения. Если в начале развития микропроцессорной техникиопределяющим было правило, в соответствии с которым аппаратурные средстваобеспечивают производительность, а программное обеспечение – дешевизну изделия,то в настоящее время это правило нуждается в серьезной корректировке. Так какМК представляет собой стандартный массовый (относительно недорогой) логический блок, конкретное назначение которого определяетпользователь с помощью программного обеспечения, то с ростом степени интеграциии, следовательно, функционально-логических возможностей МК резко понижаетсястоимость изделия в пересчете на выполняемую функцию, что в конечном итоге иобеспечивает достижение высоких технико-экономических показателей изделий наМК. При этом затраты на разработку программного обеспечения изделия в 2 – 10раз превышают затраты на приобретение и изготовление аппаратурных средств.

В настоящее время наибольшее распространение получилметодологический прием, при котором весь цикл разработки контроллероврассматривается как последовательность трех фаз проектирования:

1.    (и/или разработки)аппаратурных средств контроллера;

2.    

3.    

Фаза разработки программного обеспечения, т.е. фазаполучения прикладных программ, в свою очередь, разбивается на два существенно различныхэтапа:

1.    

2.    

Этап разработки «от исходной программы к объектному модулю»имеет целью получение машинных кодов прикладных программ, работающих в МК. Этотэтап разработки прикладного программного обеспечения легко поддаетсяформализации и поддержан всей мощью системного программного обеспечения МК,направленного на автоматизацию процесса получения прикладных программ. В составсредств системного программного обеспечения входят трансляторы с различныхалгоритмических языков высокого уровня, ассемблеры, редакторы текстов,программы-отладчики, программы-документаторы и т.д. Наличие всех этих системныхсредств придает инженерной работе на этом этапе проектирования контроллеровхарактер ремесла, а не инженерного творчества. Так как в конечном изделииимеются  только МК и его средствасопряжения с объектом, то выполнять отладку разрабатываемого прикладногопрограммного обеспечения на нем невозможно (из-за отсутствия средств ввода, вывода, ОЗУ большой емкости иоперационной системы),и, следовательно, разработчик вынужден обращаться к средствам вычислительнойтехники для выполнения всех формализуемых стадий разработки: трансляции,редактирования, отладки, загрузки объектных кодов и программируемую постояннуюпамять МК.

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

На обоих этапах разработки необходимо тестироватьпрограммное обеспечение не только на эмуляторах, но и на «живом» МК, с цельювыявления специфических ошибок (неправильнаялогика работы устройства, ошибки, связанные с эмуляцией). Это требует многократногоперепрограммирования МК, что связанно с большой затратой времени (время стирания информации вПЗУ с ультрафиолетовым, или электрическим стиранием может достигать несколькихдесятков минут). Этовремя можно сократить используя в качестве памяти программ не ПЗУ, а ОЗУ.

Разрабатываемое устройство значительно упростит оба этапаразработки, позволяя отлаживать программное обеспечение непосредственно на«живом» МК и позволит сэкономить время, связанное с записью и стираниемтестируемых программ.

При решении задач об оптимальном распределении функций междуаппаратурными средствами и программным обеспечением необходимо исходить изтого, что использование специализированных интерфейсных БИС упрощает разработкуи обеспечивает высокое быстродействие системы в целом, но сопряжено сувеличением стоимости, объема и потребляемой мощности. Больший удельный веспрограммного обеспечения позволяет сократить число компонентов системы истоимость ее аппаратурных средств, но это приводит к снижению быстродействия иувеличению затрат и сроков разработки и отладки прикладных программ. При этомеще может несколько увеличиваться число БИС внешней памяти МК — системы.Решение о выборе того или иного варианта распределения функций междуаппаратурными и программными средствами системы принимается в зависимости оттиражности изделия, ограничений по стоимости, объему, потребляемой мощности ибыстродействию изделия. Программная реализация основных элементов алгоритмаработы контроллера допускает его модификацию путем перепрограммирования. В товремя как возможность изменения уже существующей фиксации элементов алгоритма ваппаратуре контроллера практически отсутствует.

После получения объектного кода программы неизбежнонаступает этап отладки, т.е. установления факта ее работоспособности, а такжевыявления и устранения ошибок. Без этого этапа разработки никакое программноеобеспечение вообще не имеет права на существование.

Обычно отладка прикладного программного обеспеченияосуществляется в несколько этапов. Простые (синтаксические)ошибки выявляются уже на этапе трансляции. Далее необходимо выполнить:

автономную отладку каждой процедуры в статическом режиме,позволяющую проверить правильность проводимых вычислений, правильностьпоследовательности переходов внутри процедуры (отсутствие «зацикливания») и т.п.;

комплексную отладку программного обеспечения в статическомрежиме, позволяющую проверить правильность алгоритма управления (по последовательностиформирования управляющих воздействий);

комплексную отладку в динамическом режиме без подключенияобъекта для определения реального времени выполнения программы и ее отдельных фрагментов.

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

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

Разрабатываемое устройство должно обеспечить все необходимыевозможности, доступные в кросс системах:

доступ к любому ресурсу МК;

пошаговое исполнение программ.

Разрабатываемое устройство позволит промоделироватьпрактически все возможные варианты работы программы и тем самым убедиться в ееработоспособности. Здесь возможна проверка работоспособности программы принештатных ситуациях в условиях поступления некорректных входных воздействий.

Можно будет моделировать среду обитания МК, т.е. различногорода объекты и датчики, подключаемые к нему.

Это устройство устраняет главный недостаток кросс систем –невозможность прогона программы в реальном масштабе времени, т.е. со скоростьюблизкой к скорости выполнения программы в самом МК, а также невозможностькомплексирования аппаратурных и программных средств разрабатываемой системы.Именно эти причины влияют на достоверность прикладных программ, отлаженных вкросс системах. Эта достоверность, как правило, не достаточно высока.

Задачей данной работы является разработка необходимогопрограммного обеспечения и аппаратных средств сопряжения МК и ПК.

1.1 Постановка глобальных задач

Организация обмена информацией предполагает:

ü

ü

Аппаратные средства должны обеспечить:

ü

ü

Программное обеспечение должно обеспечить решение следующегоряда задач:

ü

ü

ü

ü

ü

1.2 Анализ предыдущей работы

Вопрос об организации обмена информацией между персональнымкомпьютером и микроконтроллером семейства Intel MCS-51 был уже рассмотрен в бакалаврской работе [3]. В этой работе былирассмотрены проблемы аппаратного и программного сопряжения МК с ПК в составепланируемой лабораторной установки.

1.2.1 Положительные стороны

В работе [3] было предложеноиспользовать в качестве интерфейса сопряжения с ПК интерфейс RS-232C. Выбор данного интерфейса основывался на простоте подключения,а также минимальных затратах связанных с аппаратным подключением. Положительнымфактом для выбора этого интерфейса служит также возможность удаленногоподключения и возможностьдуплексной передачи данных, что не могут обеспечить внутренняя шина ПК иинтерфейс Centronics.

Кроме того каждый компьютер оборудован хотя бы однимасинхронным последовательным адаптером. Асинхронный адаптер обычно содержитнесколько СОМ – портов, через которые к компьютеру можно подключить внешниеустройства.

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

В работе [3] был предложен форматсостоящий из одного стартового бита, семи информационных битов, бита четности идвух стоповых битов. Данный формат не является удобным, т.к. передаватьинформацию, разбивая ее на семь информационных битов не удобно. Гораздо удобнееиспользовать побайтовую пересылку.

Одним из основных плюсов данной работы является предложениеиспользовать в качестве памяти программ ОЗУ вместо ПЗУ, что позволяетсущественно увеличить скорость перезаписи программ пользователя.

ОЗУ используется для размещения программ пользователя. Призаписи программ в ОЗУ, обращение к памяти программ осуществляется как обращениек памяти данных, чтение как к памяти программ.

Использование памяти программ во время записи как памятьданных обуславливается тем, что во время работы микроконтроллера памятьпрограмм доступна пользователю только для чтения.

1.2.2 Отрицательные стороны

Одним из минусов работы [3]является предложение о согласовании уровней между интерфейсом RS-232C и последовательным портом МК. Были разработаны схемы приемникаи передатчика. Эти схемы имеют ряд недостатков. Одним из недостатков являетсянеобходимость в дополнительных источниках питания на +12 и –12 вольт. Данныесхемы не являются надежными. Они используют устаревшую электронную базу и неудовлетворяют реальным требованиям, поставленным перед ними. В настоящее времяимеется ряд микросхем, позволяющий осуществить согласование уровней сигналовмежду интерфейсом RS-232C и последовательным портомМК. Такие схемы более надежны и не требуют дополнительного питания на +12 и –12вольт.

В работе [3] предлагалось использоватьМК 8031. Данный МК неимеет внутренней памяти программ. В связи с этим возникла необходимость вустановке внешней памяти программ. Эта память программ разбивалась на ПЗУ, дляхранения программы «Монитор» и ОЗУ, как память программ пользователя. Этоограничивает общую внешнюю память программ, используемую как память программпользователя.

В работе 3 не были решены вопросы с доступом кпрограммно-доступным узлам микроконтроллера. При переходе к подпрограммемикроконтроллер сохраняет в стеке только содержимое счетчика команд. Поэтомуперед началом приема или передачи данных необходимо позаботиться о сохранениесодержимого аккумулятора и регистров, которые будут использоваться при приемеили передачи данных.

Программа «Монитор» учитывала только ряд задач, которыемогут возникнуть у пользователя на этапах разработки программного обеспечения,тестирования его или использования системы на практике.

1.3 Постановка задачи

Из проведенного выше анализа следует, что при реализациипроцесса обмена информацией между микроконтроллером MCS-51 и персональным компьютеромнеобходимо решить следующий ряд вопросов:

ü

Þ  

Þ  

ü

Þ  

Þ  

Þ  

Þ    передавать в персональныйкомпьютер содержимое всех программных узлов, а также следующую команду изпамяти программ. При необходимости, по запросу из персонального компьютерамикроконтроллер должен передать содержимое любой ячейки памяти данных, илилюбого блока ячеек памяти данных. Кроме того микроконтроллер должен передаватьв персональный компьютер содержимое ячеек памяти программ, если это необходимо.При необходимости должна обеспечиваться запись в программно доступные узлымикроконтроллера, в память программ и память данных. Алгоритм должен позволятьзапускать программу с любого адреса указанного пользователем, продолжатьвыполнение прерванной программы в пошаговом режиме, или в режиме реальноговремени.

Þ  

Þ  

Þ  

Þ  

Þ  

Þ  

Þ  


2. РАЗРАБОТКАВОПРОСОВ АППАРАТНОГО И ПРОГРАММНОГО СОПРЯЖЕНИЯ

2.1 Аппаратное сопряжение ПК имикроконтроллера

Для решения задачи сопряжения ПК и микроконтроллера былорешено использовать интерфейс RS-232C.

Последовательный порт используется в качестве универсальногоасинхронного приемопередатчика (УАПП) с фиксированной илипеременной скоростью последовательного обмена информацией и возможностьюдуплексного включения.

Последовательный интерфейс микроконтроллера МК-51 можетработать в следующих четырех режимах:

¨    Режим 0.  Информация передается и принимается через входRxD приемника (вывод P3.0). Через выход передатчика TxD (вывод P3.1) выдаются импульсысинхронизации, стробирующие каждый передаваемый или принимаемый бит информации.Формат посылки – 8 бит. Частота приема и передачи – тактовая частотамикроконтроллера.

¨    Режим 1.  Информация передается через выход передатчика TxD, а принимается черезвход приемника RxD.Формат посылки – 10 бит: старт-бит(ноль), восемь бит данных, программируемыйдевятый бит и стоп-бит (единица). Частота приема и передачизадается таймером/счетчиком 1.

¨    Режим 2.  Информация передается через выход передатчика TxD, а принимается черезвход приемника RxD.Формат посылки – 11 бит: старт-бит (ноль),восемь бит данных, программируемый девятый бит и 2 стоп-бита (единицы). Передаваемый девятый бит данныхпринимает значение бита ТВ8 из регистра специальных функций SCON. Бит ТВ8 в регистре  SCON может быть программно установлен в«0» или в «1», или в него, к примеру, можно поместить значение бита Р изрегистра PSW дляповышения достоверности принимаемой информации (контроль по паритету). При приеме девятый бит данныхпринятой посылки поступает в бит RB8 регистра SCON.Частота приема и передачи в режиме 2 задается программно и может быть равнатактовой частоте микроконтроллера деленной на 32 или на 64.

¨    Режим 3.  Режим 3 полностью идентичен режиму 2 заисключением частоты приема и передачи, которая в режиме 3 задаетсятаймером/счетчиком 1.

Для реализации обмена информацией между ПК имикроконтроллером наиболее удобным является режим 2, т.к. для работы в этомрежиме не требуется таймер/счетчик. Этот режим полностью удовлетворяетпредъявленным требованиям.

2.1.1 Скорость приема/передачи

Скорость приема/передачи, т.е. частота работы универсальногоасинхронного приемопередатчика (УАПП) в режиме 2 зависит отзначения управляющего бита SMOD врегистре специальных функций.

Частота передачи определяется выражением:

f=(2SMOD/64)fрез.

Иными словами, при SMOD=0 частота передачи равна (1/64)fрез,а при SMOD=1 равна (1/32)fрез.

Скорость приема/передачи должна быть кратна 115,2 Кбод [6].

Исходя из вышеизложенного, выберем частоту приема данных приSMOD=1. Если fрез=1,8432 МГц, тогда частота приема данных  будет 57,6 КБод.

Другие значения частот кварца могут быть выбраны из таблиц вприложении 1 и приложении 2.

2.1.2 Разработка формата принимаемых и передаваемыхданных

Формат принимаемых и передаваемых данных почти полностьюописан режимом 2 работы последовательного интерфейса.

Формат должен состоять из 11 бит:

§ 

§ 

§ 

§ 


2.1.3 Разработка схемы подключениямикроконтроллера

При сопряжении интерфейса RS-232 со входами последовательного интерфейса микроконтроллера MCS-51, необходимообеспечить согласование уровней сигналов. Стандартный уровень сигналов RS-232C – +12 и –12 В.Стандартный уровень сигналов асинхронного интерфейса микроконтроллера MCS-51 – +5 В.

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

Приемники и передатчики выполненные на дискретных элементахимеют ряд недостатков:

§ 

§ 

§ 

§ 

§ 

<img src="/cache/referats/11413/image002.gif" v:shapes="_x0000_s1028">

Рис. 1. Схема подключения микроконтроллера MCS-51 фирмы Intel кпортам персонального компьютера.

Исходя из этих соображений, для организации сопряженияуровней портов ПК и микроконтроллера можно воспользоваться микросхемой ADM202 фирмы  AnalogDevices. Данная микросхемапозволяет согласовать уровни сигналов, не требуя дополнительных источниковпитания [4].

Микроконтроллер принимает данные через вход приемника (вывод P3.0), а передает данные через выход передатчика (вывод P3.1). Микроконтроллер может запретитьприем данных из ПК с помощью сигналов на выводе Р2.6. Это необходимо длясигнализации ПК о приеме ошибочных данных. В свою очередь ПК может запретитьпередачу данных из микроконтроллера с помощью сигналов на выводе Р2.7.

2.1.4 Выбор источника питания

В зависимости от места установки, источником питания можетслужить либо блок питания ПК, либо отдельный блок питания, специальнопредназначенный для данной установки. В связи с тем, что данную установкупланируется использовать в компьютерном классе, наиболее оптимальным вариантомявляется использование блока питания ПК. Напряжение источника питания +5V, необходимое для лабораторной установки, можно взять с внешнегоразъема клавиатуры. Подключение контактов этого разъема представлено на рисунке2.

<img src="/cache/referats/11413/image004.gif" v:shapes="_x0000_s1045">

Рис. 2. Разъем клавиатуры персональногокомпьютера.

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

2.2 Подключение внешней памяти программ

Как уже отмечалось ранее, для организации обмена информациеймежду ПК и микроконтроллером целесообразно использовать в качестве внешнейпамяти программ ОЗУ. ОЗУ позволит быстро и многократно перепрограммироватьмикроконтроллер, что позволит использовать его как отладочный модуль, или какчасто перепрограммируемое устройство управления (например, для управления различными лабораторными установками).

В качестве микросхемы ОЗУ можно использовать микросхемуКР537РУ8. Объем памяти данной микросхемы составляет 2К. В связи с тем, чтоданная установка планируется как УМК в курсе «Микропроцессоры», то этого объемапамяти вполне достаточно для размещения программы пользователя, т.к. программы,реализуемые в процессе лабораторных работ, как правило не превышают 100 команд.Объем таких программ не превышает 300 байт.

При записи программы пользователя в память программ,обращение к ОЗУ осуществляется как к памяти данных. Во время работы программы,как к памяти программ.

<img src="/cache/referats/11413/image006.gif" v:shapes="_x0000_s1029">

Рис. 3. Схема подключения внешней памяти программ кмикроконтроллеру.

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

2.3 Программное сопряжениемикроконтроллера и ПК

2.3.1 Начальная установка MCS-51

Инициализация (сброс)микросхемы осуществляется подачей сигнала RST (высокий уровень напряжения) при подключенном кварце. Вход RST – внутренний триггер Шмидта.Состояние RSTпроверяется в фазе S5P2каждого машинного цикла. Пока уровень RST высокий,ALE и PME тожеимеют высокий уровень. Их установка происходит после установки «0» на RST. Внутренний алгоритм при подачесигнала «СБРОС» производит следующие действия:

üSBUF в ноль;

ü

ü

ü ALE и PME, как входы для внешнейсинхронизации;

ü PCON, IP и IE резервные биты принимают случайные значения;

ü

Сигнал RSTне влияет на внутреннюю память данных микроконтроллера. После включения питаниясодержимое ячеек внутренней памяти данных принимает случайные значения.

2.3.2 Программное обеспечениеорганизации обмена информацией между МК и ПК

2.3.2.1 Программа «Монитор»

Как уже отмечалось, программное обеспечение организацииобмена информацией между микроконтроллером и ПК должно обеспечивать:

§ 

§ 

§ 

§ 

§ 

§ 

Все эти функции выполняет программ «Монитор».

В начале работы программы «Монитор» происходит начальнаяустановка. Эту установка должна произвести следующие действия:

ü

üSMOD в регистре специальныхфункций в 1;

ü

<img src="/cache/referats/11413/image008.gif" v:shapes="_x0000_s1062">

Рис. 4. Алгоритм программы «Монитор»

Программа «Монитор» принимает от ПК код выполняемойоперации, декодирует его и запускает соответствующую подпрограмму.

Подпрограмма приема одного байта данных ожидает приходаинформации, проверяет правильность данных и заносит принятый байт в регистр R0. Если данные были приняты неверно, то подпрограмма приема одного байта данных заносит  в регистр R4 нулевое значение.

В случае не верно принятого кода операциимикроконтроллер  предлагает ПК повторнопередать команду.

<img src="/cache/referats/11413/image010.gif" v:shapes="_x0000_s1072">

Рис. 5. Алгоритм декодирования кода операциив программе «Монитор»

После выполнения выбранной подпрограммы, программа «Монитор»снова переходит к режиму ожидания очередного кода операции.

Алгоритм  выбораподпрограммы показан на рисунке 5.

В программе «Монитор» зарезервированы следующие кодыопераций:

¨      01h       —     подпрограмма 1 -   подпрограмма запускапрограммы пользователя в режиме реального времени;

¨      02h       -     подпрограмма 2 -   подпрограмма запускапрограммы пользователя в пошаговом режиме;

¨      03h       -     подпрограмма 3 -   подпрограмма записипрограммы пользователя в память программ МК;

¨      04h       -     подпрограмма 4 -   подпрограмма записиинформации в программно – доступные узлы МК;

¨      05h       -     подпрограмма 5 -   подпрограммачтения из памяти программ МК;

¨      06h       -     подпрограмма 6 -   подпрограммачтения программно – доступных узлов МК;

¨      другие -     подпрограмма7 -   зарезервированные коды операций для запуска подпрограммпользователя.

2.3.2.2 Подпрограмма запуска программыпользователя в режиме реального времени

Перед запуском программы пользователя, микроконтроллерпринимает из ПК адрес начала программы и сохраняет его в регистре DPTR.

Для приема адреса используется подпрограмма приема двухбайтов информации.

Алгоритм запуска программы пользователя в режиме реальноговремени представлен на рисунке 6.

<img src="/cache/referats/11413/image012.gif" v:shapes="_x0000_s1074">

Рис. 6. Алгоритм запуска программы пользователя врежиме реального времени.

<img src="/cache/referats/11413/image014.gif" v:shapes="_x0000_s1075">

Рис. 7. Алгоритм программы приемадвух байтов информации.

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

Значение первого принятого байта сохраняется в регистре DPL.

Прием второго байта адреса программы пользователя из ПКаналогичен приему первого байта, с той лишь разницей, что его значениесохраняется в регистре DPH.

В случае возникновения ошибки подпрограмма завершает своюработу, оставляя без изменения содержимое регистра R4.

Подпрограмма запуска программы пользователя в режимереального времени проверяет правильность принятия адреса по регистру R4. В случае возникновенияошибки передает в ПК код 0Fh.После чего возвращается в программу «Монитор»

Непосредственно перед запуском программы пользователянеобходимо изменить рабочий БАНК памяти данных МК на БАНК 0.

Алгоритм программы приема двух байтов информации представленна рисунке 7.

2.3.2.3 Подпрограмма запуска программыпользователя в пошаговом режиме

На этапе отладки прикладной программы очень удобным дляразработчика оказывается режим пошагового (покомандного)исполнения программ. Этот режим можно организовать, используя системупрерываний микроконтроллера.

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

Для использования этого свойства системы прерываниймикроконтроллера можно запрограммировать одно из внешних прерываний (например, INT0) наобслуживание пошагового режима работы.

<img src="/cache/referats/11413/image016.gif" v:shapes="_x0000_s1039">

Рис. 8. Аппаратная реализация пошагового режимавыполнения программы пользователя.

При реализации этого режима можно воспользоваться двумяспособами:

ü  INT0подавать сигнал от кнопки «ШАГ», и микроконтроллер по  сигналу INT0=0 вызоветподпрограмму обслуживания внешнего прерывания.

ü INT0, используя один изсвободных выводов порта Р2.

Второй способ является наиболее удобным, т.к. позволяеторганизовать пошаговый режим непосредственно на ПК. Кроме того первый способтребует больших материальных вложений для устранения дребезга контактов откнопки «ШАГ».

После того, как адрес программы пользователя будет принят ипроверен, подпрограмма выдаст активный сигнал на вход P3.2.По этому сигналу микроконтроллер перейдет в режим обработки прерывания INT0. До того, как будет выполнена первая команда в программепользователя, основная программа должна выполнить две команды (выставить сигнал INT0=0 изапустить программу пользователя).Поэтому в подпрограмме обработки прерывания необходим счетчик пропущенныхшагов. Этот счетчик можно будет использовать для выполнения блока команд врежиме пошагового исполнения программы пользователя.

Алгоритм запуска программы пользователя в пошаговом режимепредставлен на рисунке 9.

<img src="/cache/referats/11413/image018.gif" v:shapes="_x0000_s1103">

Рис. 9. Алгоритм выполненияпрограммы пользователя в пошаговом режиме.

Подпрограмма обработки прерывания INT0аналогична программе «Монитор». В начале программы выполняется первоначальнаяустановка:

¨    DPTRв стеке;

¨    

¨    R4 записывается количество допустимых ошибок.

После выполнения первоначальной установки, микроконтроллерпроверяет содержимое регистра R3.Этот регистр выполняет роль счетчика пропущенных шагов программы. Если счетчикне равен нулю, то подпрограмма восстанавливает содержимое аккумулятора, словасостояния программы, DPTR и выходитиз режима обработки прерывания, для выполнения следующего шага программыпользова

еще рефераты
Еще работы по компьютерам и переферийным устройствам