Курсовая: Обмен информацией между персональным компьютером и микроконтроллером семейства MCS-51 фирмы Intel - текст курсовой. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Курсовая

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

Банк рефератов / Компьютерные сети

Рубрики  Рубрики реферат банка

закрыть
Категория: Курсовая работа
Язык курсовой: Русский
Дата добавления:   
 
Скачать
Архив Zip, 38 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникальной курсовой работы

Узнайте стоимость написания уникальной работы

ANOTВCIJA Рajв darbв tiek aplыkota informвcijas apmaiтas organizвcija starp personв lo datoru un firmai Intel MCS-51 mikrokontrolieri. Darbв tiek uzrв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 страниц . ANNOTATION In given document is considered organization of information exchange between the personal computer and family MCS-51 Company Intel microcontroller. There is presented the algorithms of microcontr oller software, as well as structured schemes of connecting a microcontroller to ports of the personal computer. Volumes of work 47 pages. СОДЕРЖАНИЕ стр . ПЕРЕЧЕНЬ СОКРА ЩЕНИЙ * ВВЕДЕНИЕ * 1. АНАЛИЗ СОСТОЯНИЯ ВОПРОСА * 1.1 Постановка глобальных задач * 1.2 Анализ предыдущей работы * 1.2.1 Положительные стороны * 1.2.2 Отрицательные стороны * 1.3 Постановка задачи * 2. РАЗРАБОТКА ВОПРОСОВ АППАРАТНОГО И ПРОГРАММНОГО СОПР ЯЖЕНИЯ * 2.1 Аппаратное сопряжение ПК и микроконтроллера * 2.1.1 Скорость приема/передачи * 2.1.2 Разработка формата принимаемых и передаваемых данн ых * 2.1.3 Разработка схемы подключения микроконтроллера * 2.1.4 Выбор источника питания * 2.2 Подключение внешней памяти программ * 2.3 Программное сопряжение микроконтроллера и ПК * 2.3.1 Начальная установка MCS-51 * 2.3.2 Программное обеспечение организации обмена информ ацией между МК и ПК * 2.3.2.1 Программа “Монитор” * 2.3.2.2 Подпрограмма запуска программы пользователя в реж име реального времени * 2.3.2.3 Подпрограмма запуска программы пользователя в пош аговом режиме * 2.3.2.4 Подпрограмма записи программы пользователя в памя ть программ микроконтроллера. * 2.3.2.5 Подпрограмма записи информации в программно – дос тупные узлы микроконтроллера * 2.3.2.6 Подпрограмма чтения из памяти программ микроконтр оллера * 2.3.2.7 Подпрограмма чтения информации программно – дост упных узлов микроконтроллера * 2.3.2.8 Подпрограмма выдачи ошибки в ПК * 2.3.2.9 Подпрограмма выдачи одного байта информации * 2.3.2.10 Подпрограмма приема одного байта информации. * СПИСОК ИСПОЛЬЗОВАНОЙ ЛИТЕРАТУРЫ * ПРИЛОЖЕНИЯ * ПЕРЕЧЕНЬ СОКРАЩЕНИЙ БИС - большая интегральная схема МК - микроконтроллер ОЗУ - оперативное запоминающее устройство ПЗУ - постоянное запоминающее устройство ПК - персональный компьютер УАПП - универсальный асинхронный приемопередатчик ЭВМ - электронная вычислительная машина ВВЕДЕНИЕ Развитие микроэлектроники и широкое применение ее издел ий в промышленном производстве, в устройствах и системах управления сам ыми разнообразными объектами и процессами является в настоящее время о дним из основных направлений научно-технического прогресса. Использование микроконтроллеров в изделиях не только пр иводит к повышению технико-экономических показателей (стоимости, надеж ности, потребляемой мощности, габаритных размеров), но и позволяет сокра тить время разработки изделий и делает их модифицируемыми, адаптивными. Использование микроконтроллеров в системах управления обеспечивает д остижение высоких показателей эффективности при низкой стоимости. Микроконтроллеры представляют собой эффективное средс тво автоматизации разнообразных объектов и процессов. Все это определяет необходимость изучения микропроцесс орных систем. В настоящее время в РАУ имеются учебные методические компл ексы УМК ВЭФ, базирующиеся на микропроцессоре I8080, позволяющие получить з нания в программировании микропроцессоров. К сожалению, на кафедре нет л абораторной установки, позволяющей получить практические навыки в про граммировании микроконтроллеров. Необходимо создание новой лабораторной базы, использующ ей на наиболее распространенные микроконтроллеры. Такими микроконтрол лерами могут послужить микроконтроллеры семейства MCS-51 фирмы Intel. Такие лабораторные установки могут использоваться не то лько как учебно-методическое пособие при изучении курса микропроцессо ров, но и как устройства управления другими учебно-методическими компле ксами, используемыми в других курсах. Вышесказанное указывает на актуальность рассмотрения в опроса организации обмена информацией между персональным компьютером и микроконтроллером MCS-51 фирмы Intel. 1. АНАЛИЗ СОСТОЯНИЯ ВОПРОСА В устройствах управления объектами (контроллерах) на о снове МК аппаратурные средства и программное обеспечение существует в форме неделимого аппаратурно-программного комплекса. При проектирован ии контроллеров приходиться решать одну из самых сложных задач разрабо тки, а именно задачу оптимального распределения функций контроллера ме жду аппаратурными средствами и программным обеспечением. Решение этой задачи осложняется тем, что взаимосвязь и взаимовлияние аппаратурных с редств и программного обеспечения в микропроцессорной технике претерп евают динамические изменения. Если в начале развития микропроцессорно й техники определяющим было правило, в соответствии с которым аппаратур ные средства обеспечивают производительность, а программное обеспечен ие – дешевизну изделия, то в настоящее время это правило нуждается в сер ьезной корректировке. Так как МК представляет собой стандартный массов ый (относительно недорогой) логический блок, конкретное назначение кото рого определяет пользователь с помощью программного обеспечения, то с р остом степени интеграции и, следовательно, функционально-логических во зможностей МК резко понижается стоимость изделия в пересчете на выполн яемую функцию, что в конечном итоге и обеспечивает достижение высоких те хнико-экономических показателей изделий на МК. При этом затраты на разра ботку программного обеспечения изделия в 2 – 10 раз превышают затраты на п риобретение и изготовление аппаратурных средств. В настоящее время наибольшее распространение получил ме тодологический прием, при котором весь цикл разработки контроллеров ра ссматривается как последовательность трех фаз проектирования: 1. анализа задачи и выбора (и/или разработки) аппаратурных средств контролл ера; 2. разработка прикладного программного обеспечения; 3. комплексирования аппар атурных средств и программного обеспечения в прототипе контроллера и е го отладки. Фаза разработки программного обеспечения, т.е. фаза получе ния прикладных программ, в свою очередь, разбивается на два существенно различных этапа: 1. “от постановки задачи к исходной программе”; 2. “от исходной программы к объектному модулю”. Этап разработки “от исходной программы к объектному моду лю” имеет целью получение машинных кодов прикладных программ, работающ их в МК. Этот этап разработки прикладного программного обеспечения легк о поддается формализации и поддержан всей мощью системного программно го обеспечения МК, направленного на автоматизацию процесса получения п рикладных программ. В состав средств системного программного обеспече ния входят трансляторы с различных алгоритмических языков высокого ур овня, ассемблеры, редакторы текстов, программы-отладчики, программы-доку ментаторы и т.д. Наличие всех этих системных средств придает инженерной работе на этом этапе проектирования контроллеров характер ремесла, а не инженерного творчества. Так как в конечном изделии имеются только МК и е го средства сопряжения с объектом, то выполнять отладку разрабатываемо го прикладного программного обеспечения на нем невозможно (из-за отсутс твия средств ввода, вывода, ОЗУ большой емкости и операционной системы), и , следовательно, разработчик вынужден обращаться к средствам вычислите льной техники для выполнения всех формализуемых стадий разработки: тра нсляции, редактирования, отладки, загрузки объектных кодов и программир уемую постоянную память МК. Этап разработки “от постановки задачи к исходной програм ме” не поддается формализации и, следовательно, не может быть автоматизи рован. Проектная работа здесь носит творческий характер, изобилует реше ниями, имеющими “волевую” или “вкусовую” окраску, и решениями, продиктов анными конъюнктурными соображениями. На этом этапе разработчик стакив ается с наибольшим количеством трудностей. На обоих этапах разработки необходимо тестировать прогр аммное обеспечение не только на эмуляторах, но и на “живом” МК, с целью выя вления специфических ошибок (неправильная логика работы устройства, ош ибки, связанные с эмуляцией). Это требует многократного перепрограммиро вания МК, что связанно с большой затратой времени (время стирания информ ации в ПЗУ с ультрафиолетовым, или электрическим стиранием может достиг ать нескольких десятков минут). Это время можно сократить используя в ка честве памяти программ не ПЗУ, а ОЗУ. Разрабатываемое устройство значительно упростит оба эт апа разработки, позволяя отлаживать программное обеспечение непосредс твенно на “живом” МК и позволит сэкономить время, связанное с записью и с тиранием тестируемых программ. При решении задач об оптимальном распределении функций м ежду аппаратурными средствами и программным обеспечением необходимо и сходить из того, что использование специализированных интерфейсных БИ С упрощает разработку и обеспечивает высокое быстродействие системы в целом, но сопряжено с увеличением стоимости, объема и потребляемой мощно сти. Больший удельный вес программного обеспечения позволяет сократит ь число компонентов системы и стоимость ее аппаратурных средств, но это приводит к снижению быстродействия и увеличению затрат и сроков разраб отки и отладки прикладных программ. При этом еще может несколько увеличи ваться число БИС внешней памяти МК - системы. Решение о выборе того или ино го варианта распределения функций между аппаратурными и программными средствами системы принимается в зависимости от тиражности изделия, ог раничений по стоимости, объему, потребляемой мощности и быстродействию изделия. Программная реализация основных элементов алгоритма работы к онтроллера допускает его модификацию путем перепрограммирования. В то время как возможность изменения уже существующей фиксации элементов а лгоритма в аппаратуре контроллера практически отсутствует. После получения объектного кода программы неизбежно нас тупает этап отладки, т.е. установления факта ее работоспособности, а такж е выявления и устранения ошибок. Без этого этапа разработки никакое прог раммное обеспечение вообще не имеет права на существование. Обычно отладка прикладного программного обеспечения ос уществляется в несколько этапов. Простые (синтаксические) ошибки выявля ются уже на этапе трансляции. Далее необходимо выполнить: автономную отладку каждой процедуры в статическом режим е, позволяющую проверить правильность проводимых вычислений, правильн ость последовательности переходов внутри процедуры (отсутствие “зацик ливания”) и т.п.; комплексную отладку программного обеспечения в статиче ском режиме, позволяющую проверить правильность алгоритма управления ( по последовательности формирования управляющих воздействий); комплексную отладку в динамическом режиме без подключен ия объекта для определения реального времени выполнения программы и ее отдельных фрагментов. Эти этапы отладки осуществляются обычно с использование м кросс систем. В состав кросс систем входят программы-отладчики, интерп ретирующие выполнение программ написанных для МК. Но как бы ни был хорош интерпретатор, он все равно не может полностью заменить реальный МК. С использованием разрабатываемого устройства можно буд ет выполнять рассмотренные этапы отладки уже непосредственно на “живо м” МК, подключая к нему реальные физические объекты. Эти этапы отладки мо жно будет объединить со следующими этапами разработки устройства – от ладка отдельных фрагментов программного обеспечения на отладочном мод уле в режиме реального времени. Можно будет исключить этап комплексной о тладки прикладного программного обеспечения на инструментальной микр оЭВМ с внутрисхемным эмулятором. Разрабатываемое устройство должно обеспечить все необх одимые возможности, доступные в кросс системах: доступ к любому ресурсу МК; пошаговое исполнение программ. Разрабатываемое устройство позволит промоделировать п рактически все возможные варианты работы программы и тем самым убедить ся в ее работоспособности. Здесь возможна проверка работоспособности п рограммы при нештатных ситуациях в условиях поступления некорректных входных воздействий. Можно будет моделировать среду обитания МК, т.е. различног о рода объекты и датчики, подключаемые к нему. Это устройство устраняет главный недостаток кросс систе м – невозможность прогона программы в реальном масштабе времени, т.е. со скоростью близкой к скорости выполнения программы в самом МК, а также не возможность комплексирования аппаратурных и программных средств разр абатываемой системы. Именно эти причины влияют на достоверность прикла дных программ, отлаженных в кросс системах. Эта достоверность, как прави ло, не достаточно высока. Задачей данной работы является разработка необходимого программного обеспечения и аппаратных средств сопряжения МК и ПК. 1.1 Постановка глобальных задач Организация обмена информацией предполагает: o рассмотрение вопросов аппаратных средств; o создание необходимого п рограммного обеспечения. Аппаратные средства должны обеспечить: o физическое сопряжение портов ПК и микроконтроллера; o сопряжение МК с внешней памятью программ. Программное обеспечение должно обеспечить решение следу ющего ряда задач: o запись программы, отлаженной на ПК, в память программ и данных МК; o выполнение программы в р ежиме реального времени; o выполнение программы в п ошаговом режиме; o запись информации из ПК в программно-доступные узлы МК; o чтение содержимого прог раммно-доступных узлов и индикация их на мониторе ПК. 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 и персональным компьютером необходимо решить следующий ряд вопросов: o Вопросы аппаратных средств. o Разработка схемы сопряжения портов ПК и микроконтроллера с использованием современной электронной базы. Данная схема должна обеспечить согласование уровней сигналов меж ду СОМ – портом ПК и микроконтроллером, не должна требовать дополнитель ных источников питания, должна иметь небольшие масса - габаритные характ еристики, должна быть дешевой и надежной. o Разработка схемы подключени я памяти к микроконтроллеру. Данная схема должна обеспечить возможност ь использования ОЗУ в качестве памяти программ. Во время записи программ ы пользователя память программ должна использоваться, как память данны х. Адресное пространство внешней памяти данных и памяти программ не долж но перекрываться. o Вопросы программного обеспе чения. o Разработать формат передачи данных между ПК и микроконтроллером. Этот формат должен использовать во семь информационных битов. o Разработать алгоритм записи программы, отлаженной на ПК, в память программ МК. o Разработать алгоритм запуск а программы в режиме реального времени. o Разработать алгоритм выполн ения программы в пошаговом режиме. В этом режиме микроконтроллер на кажд ом шагу программы должен передавать в персональный компьютер содержим ое всех программных узлов, а также следующую команду из памяти программ. При необходимости, по запросу из персонального компьютера микроконтро ллер должен передать содержимое любой ячейки памяти данных, или любого б лока ячеек памяти данных. Кроме того микроконтроллер должен передавать в персональный компьютер содержимое ячеек памяти программ, если это нео бходимо. При необходимости должна обеспечиваться запись в программно д оступные узлы микроконтроллера, в память программ и память данных. Алгор итм должен позволять запускать программу с любого адреса указанного по льзователем, продолжать выполнение прерванной программы в пошаговом р ежиме, или в режиме реального времени. o Разработать алгоритм записи информации в программно – доступные узлы микроконтроллера. o Разработать алгоритм записи информации в память данных. o Разработать алгоритм чтения информации из программно – доступных узлов микроконтроллера. o Разработать алгоритм чтения информации из памяти данных. o Разработать алгоритм чтения информации из памяти программ. o Разработать алгоритм програ ммы “Монитор”. Программа “Монитор” должна обеспечивать запуск всех рас смотренных выше подпрограмм в зависимости от кода, переданного из персо нального компьютера. Поэтому необходимо разработать управляющие слова , которые и будут задавать режим работы системы. Управляющие коды не долж ны превышать 8 бит. Для реализации гибкости системы, необходимо при получ ении неиспользуемых кодовых комбинаций обеспечить переход выполнения программы в область памяти программ на заранее зарезервированный адре с. Этот адрес можно хранить в памяти программ по строго определенному ад ресу. Чтобы избежать выполнение случайного кода, во время начальной уста новки необходимо установить по этому адресу, адрес в памяти программ, в к отором находится команда возврата из подпрограммы. o При переходе на разрабатывае мые подпрограммы необходимо сохранить в стеке содержимое аккумулятора . Перед выходом из этих подпрограммы содержимое аккумулятора необходим о восстановить. 2. РАЗРАБОТКА ВОПРОСОВ АППАРА ТНОГО И ПРОГРАММНОГО СОПРЯЖЕНИЯ 2.1 Аппаратное сопряжение ПК и микроконтролле ра Для решения задачи сопряжения ПК и микроконтроллера было решено использовать интерфейс RS-232C. Последовательный порт используется в качестве универса льного асинхронного приемопередатчика (УАПП) с фиксированной или перем енной скоростью последовательного обмена информацией и возможностью д уплексного включения. Последовательный интерфейс микроконтроллера МК-51 может работать в следующих четырех режимах: o Режим 0. Информация передается и принимается через вход RxD приемника (вывод P3.0). Через выход передатчика TxD (вывод P3.1) выдаются импу льсы синхронизации, стробирующие каждый передаваемый или принимаемый бит информации. Формат посылки – 8 бит. Частота приема и передачи – такто вая частота микроконтроллера. o Режим 1. Информация передается через выход передатчика TxD, а принимается через вх од приемника RxD. Формат посылки – 10 бит: старт-бит (ноль), восемь бит данных, п рограммируемый девятый бит и стоп-бит (единица). Частота приема и передач и задается таймером/счетчиком 1. o Режим 2. Информация передается через выход передатчика TxD, а принимается через вх од приемника RxD. Формат посылки – 11 бит: старт-бит (ноль), восемь бит данных, п рограммируемый девятый бит и 2 стоп-бита (единицы). Передаваемый девятый б ит данных принимает значение бита ТВ8 из регистра специальных функций SCON. Бит ТВ8 в регистре SCON может быть программно установлен в “0” или в “1”, или в н его, к примеру, можно поместить значение бита Р из регистра PSW для повышени я достоверности принимаемой информации (контроль по паритету). При прием е девятый бит данных принятой посылки поступает в бит RB8 регистра SCON. Часто та приема и передачи в режиме 2 задается программно и может быть равна так товой частоте микроконтроллера деленной на 32 или на 64. o Режим 3. Режим 3 полностью идентичен режиму 2 за исключением частоты приема и пере дачи, которая в режиме 3 задается таймером/счетчиком 1. Для реализации обмена информацией между ПК и микроконтро ллером наиболее удобным является режим 2, т.к. для работы в этом режиме не т ребуется таймер/счетчик. Этот режим полностью удовлетворяет предъявле нным требованиям. 2.1.1 Скорость приема/передачи Скорость приема/передачи, т.е. частота работы универсальн ого асинхронного приемопередатчика (УАПП) в режиме 2 зависит от значения управляющего бита SMOD в регистре специальных функций. Частота передачи определяется выражением: f =(2 SMOD /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 бит: o стартовый бит – ноль; o восемь бит данных; o девятый бит – контроль по паритету, д ля повышения достоверности принимаемой информации; o два стоповых бита – единицы. 2.1.3 Разработка схемы подключения микроконтроллера При сопряжении интерфейса RS-232 со входами последовательно го интерфейса микроконтроллера MCS-51, необходимо обеспечить согласование уровней сигналов. Стандартный уровень сигналов RS-232C – +12 и – 12 В. Стандартны й уровень сигналов асинхронного интерфейса микроконтроллера MCS-51 – +5 В. В зависимости от требований, предъявляемых к проектируем ой схеме, преобразователи уровней сигналов могут быть выполнены различ ными способами. Приемники и передатчики выполненные на дискретных элеме нтах имеют ряд недостатков: o большие массогабаритные характеристики; o высокая потребляемая мо щность; o недостаточная надежнос ть; o необходимость в дополни тельных источниках питания; o стоимость. Рис. 1. Схема подключения микроконтроллера MCS-51 фирмы Intel к пор там персонального компьютера. Исходя из этих со ображений, для организации сопряжения уровней портов ПК и микроконтрол лера можно воспользоваться микросхемой ADM202 фирмы Analog Devices. Данная микросхема позволяет согласовать уровни сигналов, не требуя дополнительных источ ников питания [4]. Микроконтроллер принимает данные через вход приемника (в ывод P3.0), а передает данные через выход передатчика (вывод P3.1). Микроконтролл ер может запретить прием данных из ПК с помощью сигналов на выводе Р2.6. Это необходимо для сигнализации ПК о приеме ошибочных данных. В свою очередь ПК может запретить передачу данных из микроконтроллера с помощью сигна лов на выводе Р2.7. 2.1.4 Выбор источника питания В зависимости от места установки, источником питания мож ет служить либо блок питания ПК, либо отдельный блок питания, специально предназначенный для данной установки. В связи с тем, что данную установк у планируется использовать в компьютерном классе, наиболее оптимальны м вариантом является использование блока питания ПК. Напряжение источн ика питания +5V , необходимое для лабораторн ой установки, можно взять с внешнего разъема клавиатуры. Подключение кон тактов этого разъема представлено на рисунке 2. Рис. 2. Разъем кла виатуры персонального компьютера. Реализация подк лючения потребует изготовления специального переходного кабеля, входя щего в состав лабораторной установки. 2.2 Подключение внешней памяти программ Как уже отмечалось ранее, для организации обмена информа цией между ПК и микроконтроллером целесообразно использовать в качест ве внешней памяти программ ОЗУ. ОЗУ позволит быстро и многократно перепр ограммировать микроконтроллер, что позволит использовать его как отла дочный модуль, или как часто перепрограммируемое устройство управлени я (например, для управления различными лабораторными установками). В качестве микросхемы ОЗУ можно использовать микросхему КР537РУ8. Объем памяти данной микросхемы составляет 2К. В связи с тем, что дан ная установка планируется как УМК в курсе “Микропроцессоры”, то этого об ъема памяти вполне достаточно для размещения программы пользователя, т. к. программы, реализуемые в процессе лабораторных работ, как правило не п ревышают 100 команд. Объем таких программ не превышает 300 байт. При записи программы пользователя в память программ, обр ащение к ОЗУ осуществляется как к памяти данных. Во время работы програм мы, как к памяти программ. Рис. 3. Схема подк лючения внешней памяти программ к микроконтроллеру. Подобная органи зация памяти программ позволит пользователю сделать программу более г ибкой. Во время работы программы можно будет без особого труда изменять значение переменных, жестко – зашитых в программе. 2.3 Программное сопряжение микроконтроллера и ПК 2.3.1 Начальная установка MCS-51 Инициализация (сброс) микросхемы осуществляется подачей сигнала RST (высокий уровень напряжения) при подключенном кварце. Вход RST – внутренний триггер Шмидта. Состояние RST проверяется в фазе S5P2 каждого маши нного цикла. Пока уровень RST высокий, ALE и PME тоже имеют высокий уровень. Их уст ановка происходит после установки “0” на RST. Внутренний алгоритм при подач е сигнала “СБРОС” производит следующие действия: o устанавливает счетчик команд и все регистры специальных функций, кроме портов – защелок Р0 – Р3, указателя стека и регистра SBUF в ноль; o указатель стека принима ет значение равное 07Н; o запрещает все источники прерываний, работу таймеров – счетчиков и последовательного порта; o выбирает БАНК 0 памяти да нных, подготавливает порты Р0 – Р3 для приема данных и определяет выводы ALE и PME, как входы для внешней синхронизации; o в регистрах специальных функций PCON, IP и IE резервные биты принимают случайные значения; o устанавливает фиксатор ы – защелки портов Р0 – Р3 в “1”. Сигнал RST не влияет на внутреннюю память данных микроконтр оллера. После включения питания содержимое ячеек внутренней памяти дан ных принимает случайные значения. 2.3.2 Программное обеспечение организации обме на информацией между МК и ПК 2.3.2.1 Программа “Монитор” Как уже отмечалось, программное обеспечение организации обмена информацией между микроконтроллером и ПК должно обеспечивать: o запись программы пользователя в память программ МК; o запись информации в прог раммно – доступные узлы МК; o чтение информации из пам яти программ МК; o чтение информации из про граммно – доступных узлов МК; o запуск программы пользо вателя в режиме реального времени; o запуск программы пользо вателя в пошаговом режиме. Все эти функции выполняет программ “Монитор”. В начале работы программы “Монитор” происходит начальна я установка. Эту установка должна произвести следующие действия: o выбрать БАНК 2 памяти данных микроконтроллера, для хранения временных пе ременных, необходимых для работы программы “Монитор”; o установить значение упр авляющего бита SMOD в регистре специальных функций в 1; o выдать сообщение ПК о на чале работы программы “Монитор”. Рис. 4. Алгоритм программы “Монитор” Программа “Монитор” принимает от ПК код выполняемой опер ации, декодирует его и запускает соответствующую подпрограмму. Подпрограмма приема одного байта данных ожидает прихода информации, проверяет правильность данных и заносит принятый байт в рег истр R0. Если данные были приняты не верно, то подпрограмма приема одного б айта данных заносит в регистр R4 нулевое значение. В случае не верно принятого кода операции микроконтролле р предлагает ПК повторно передать команду. Рис. 5. Алгоритм д екодирования кода операции в программе “Монитор” После выполнения выбранной подпрограммы, программа “Мон итор” снова переходит к режиму ожидания очередного кода операции. Алгоритм выбора подпрограммы показан на рисунке 5. В программе “Монитор” зарезервированы следующие коды оп ераций: o 01h - подпрограмма 1 - подпрограмма запуска программы п ользователя в режиме реального времени; o 02h - подпрограмма 2 - подпрограмма запуска программы пользователя в пошаговом режи ме; o 03h - подпрограмма 3 - подпрограмма записи программы пользователя в память программ МК; o 04h - подпрограмма 4 - подпрограмма записи информации в программно – доступные узл ы МК; o 05h - подпрограмма 5 - подпрограмма чтения из памяти программ МК; o 06h - подпрограмма 6 - подпрограмма чтения программно – доступных узлов МК; o другие - подпрограмма 7 - зарезервированные коды операций для запуска подпрогра мм пользователя. 2.3.2.2 Подпрограмма запуска программы пользоват еля в режиме реального времени Перед запуском программы пользователя, микроконтроллер принимает из ПК адрес начала программы и сохраняет его в регистре DPTR. Для приема адреса используется подпрограмма приема двух байтов информации. Алгоритм запуска программы пользователя в режиме реальн ого времени представлен на рисунке 6. Рис. 6. Алгоритм з апуска программы пользователя в режиме реального времени. Рис. 7. Алгоритм программы приема двух байтов информации. Для приема байта информации, подпрограмма использует алгоритм приема одного байта данн ых. Ошибка приема проверяется по содержимому регистра R4. Значение первого принятого байта сохраняется в регистре DPL. Прием второго байта адреса программы пользователя из ПК аналогичен приему первого байта, с той лишь разницей, что его значение со храняется в регистре DPH. В случае возникновения ошибки подпрограмма завершает св ою работу, оставляя без изменения содержимое регистра R4. Подпрограмма запуска программы пользователя в режиме ре ального времени проверяет правильность принятия адреса по регистру R4. В случае возникновения ошибки передает в ПК код 0Fh. После чего возвращается в программу “Монитор” Непосредственно перед запуском программы пользователя необходимо изменить рабочий БАНК памяти данных МК на БАНК 0. Алгоритм программы приема двух байтов информации предст авлен на рисунке 7. 2.3.2.3 Подпрограмма запуска программы пользоват еля в пошаговом режиме На этапе отладки прикладной программы очень удобным для разработчика оказывается режим пошагового (покомандного) исполнения п рограмм. Этот режим можно организовать, используя систему прерываний ми кроконтроллера. Внешний запрос прерывания не будет обслужен до тех пор, по ка обслуживается прерывание с равным приоритетом. Этот запрос будет вос принят лишь после того, как будет выполнена одна команда после команды в озврата из подпрограммы. Иными словами, однажды вызвав подпрограмму обс луживания прерывания, вызвать ее вновь невозможно до тех пор, пока хотя б ы одна команда основной программы не будет исполнена. Для использования этого свойства системы прерываний мик роконтроллера можно запрограммировать одно из внешних прерываний (нап ример, INT0 ) на обслуживание пошагового режи ма работы. Рис. 8. Аппаратна я реализация пошагового режима выполнения программы пользователя. При реализации э того режима можно воспользоваться двумя способами: o На вывод INT0 подавать сигнал от кнопки “ШАГ ”, и микроконтроллер по сигналу INT0=0 вызовет подпрограмму обслуживания внешнего прерывания. o Предусмотреть возможно сть программного изменения состояния уровня сигнала на выводе INT0 , используя один из свободных выводов порта Р2. Второй способ является наиболее удобным, т.к. позволяет ор ганизовать пошаговый режим непосредственно на ПК. Кроме того первый спо соб требует больших материальных вложений для устранения дребезга кон тактов от кнопки “ШАГ”. После того, как адрес программы пользователя будет приня т и проверен, подпрограмма выдаст активный сигнал на вход P3.2. По этому сигн алу микроконтроллер перейдет в режим обработки прерывания INT0 . До того, как будет выполнена первая команда в прог рамме пользователя, основная программа должна выполнить две команды (вы ставить сигнал INT0=0 и запустить программу п ользователя). Поэтому в подпрограмме обработки прерывания необходим сч етчик пропущенных шагов. Этот счетчик можно будет использовать для выпо лнения блока команд в режиме пошагового исполнения программы пользова теля. Алгоритм запуска программы пользователя в пошаговом реж име представлен на рисунке 9. Рис. 9. Алгоритм в ыполнения программы пользователя в пошаговом режиме. Подпрограмма об работки прерывания INT0 аналогична програм ме “Монитор”. В начале программы выполняется первоначальная установка: o сохраняется содержимое аккумулятора, слова состояния программы и реги стра DPTR в стеке; o устанавливается БАНК 2, к ак активный банк памяти данных микроконтроллера; o в регистр R4 записывается количество допустимых ошибок. После выполнения первоначальной установки, микроконтрол лер проверяет содержимое регистра R3. Этот регистр выполняет роль счетчи ка пропущенных шагов программы. Если счетчик не равен нулю, то подпрогра мма восстанавливает содержимое аккумулятора, слова состояния программ ы, DPTR и выходит из режима обработки прерывания, для выполнения следующего шага программы пользователя. Алгоритм программы обработки прерывания INT0 показан на рисунке 10. Рис. 10. Алгоритм программы обработки прерывания INT0. Если счетчик был равен нулю, тогда микроконтроллер переходит в режим приема кода операци и от ПК. Алгоритм дешифрации кода операции в программе обработки прерывания INT0 аналогичен алгоритму дешиф рации кода операции в программе “Монитор”. Здесь предусмотрены следующ ие коды операций: o 01h - чтение памяти программ МК; o 02h - запис ь информации в программно – доступные узлы МК; o 03h - запис ь в память программ МК; o 04h - выдач а кода следующей команды; o 05h - выпол нение блока команд программы пользователя; o 06h - выпол нение программы в режиме реального времени; o 07h - остан ов программы; o 08h - выпол нение следующего шага программы; o другие – выполнение программ пользователя. Большая часть подпрограмм, выбираемых пользователем в по шаговом режиме, аналогична подпрограммам, выбираемым в программе “Мони тор”. Если значение регистра R5, при выходе из подпрограммы будет нулевым, то будет выполнен следующий шаг основной программы. Для выполнения останова программы, достаточно перевести состояние сигнала на выходе P2.5 в нулевое состояние и в стеке подменить ад рес следующей команды на адрес начала программы “Монитор”. Для того чтобы перевести программу пользователя из пошаг ового режима, в выполнение программы в режиме реального времени необход имо установить состояние сигнала P2.5 в нулевое состояние. Алгоритм декодирования кода операции представлен на рис унке 11. Рис. 11. Алгоритм д екодирования кода операции в пошаговом режиме работы программы пользо вателя. Для выдачи кода с ледующей команды необходимо считать 3 байта информации из памяти програ мм. Начальный адрес следующей команды можно взять из указателя стека. 2.3.2.4 Подпрограмма записи программы пользовате ля в память программ микроконтроллера. В начале работы подпрограмма принимает количество перед аваемых байтов из ПК. Для этого используется подпрограмма приема двух ба йтов информации. После ее выполнения данные необходимо перенести в счет чик количества принятых байтов. Функцию счетчика выполняют регистры R1 и R2. Алгоритм записи программы пользователя в память програм м микроконтроллера представлен на рисунке 12. Рис. 12. Алгоритм п одпрограммы записи программы пользователя в памяти программ микроконт роллера. После того, как ко личество принимаемых байтов будет принято, необходимо принять адрес ве ршины принимаемого массива информации. После этого становится возможным прием самой программы п ользователя и запись ее в память программ микроконтроллера. Алгоритм приема данных представлен на рисунке 13. Рис. 13. Алгоритм п риема данных в подпрограмме записи программы пользователя в память МК. Адрес следующег о байта программы содержится в регистре DPTR. После каждого принятого байта данных процедура проверяет правильность завершения подпрограммы прие ма одного байта данных, записывает его по адресу, указанному в регистре DPTR, увеличивает значение этого регистра и уменьшает счетчик принятых байт ов. После этого процедура проверяет счетчик принятых байтов программы пользователя и, в случае его обнуления, завершает процесс прин ятия данных. 2.3.2.5 Подпрограмма записи информации в програм мно – доступные узлы микроконтроллера Подпрограмма записи информации в программно – доступны е узлы микроконтроллера аналогична процедуре записи программы пользов ателя. Разница заключается в том, что для записи информации в программно – доступные узлы используется однобайтовая адресация, а при записи в па мять программ используется двухбайтовая адресация. Алгоритм записи информации в программно – доступные узл ы микроконтроллера представлен на рисунке 14. Рис. 14. Алгоритм з аписи информации в программно – доступные узлы микроконтроллера. Адрес принимаем ых данных находится в регистре R1. 2.3.2.6 Подпрограмма чтения из памяти программ микроконтроллера Память программ микроконтроллера имеет емкость в 2К байт. При чтении памяти программ микроконтроллера в ПК необходимо передать в се 2К данных. Для обращения к памяти программ микроконтроллера, необходи мо иметь два байта адреса. В качестве указателя адреса ячейки памяти, подлежащей пе редачи в ПК, и счетчика передаваемых байтов данных используется регистр DPTR. Для пересылки байта информации в МК используется подпрограмма выдачи одного байта данных. Для реализации этой процедуры необходимо, чтобы байт дан ных, подлежащий выдачи в ПК, находился в аккумуляторе. Алгоритм подпрограммы чтения из памяти программ микроко нтроллера представлен на рисунке 15. Рис. 15. Алгоритм п одпрограммы чтения памяти программ микроконтроллера. После выдачи каж дого байта информации, процедура проверяет правильность переданной ин формации. Максимальный адрес памяти программ микроконтроллера – 07FFh. 2.3.2.7 Подпрограмма чтения информации программно – доступных узлов микроконтроллера Данная подпрограмма аналогична процедуре чтения памяти программ микроконтроллера. Разница заключается в том, что для адресации к программно – доступным узлам МК необходим однобайтовый адрес, а для о бращения к памяти программ – двухбайтовый. Алгоритм подпрограммы чтения из программно – доступных узлов микроконтроллера представлен на рисунке 16. Рис. 16. Алгоритм п одпрограммы чтения из программно – доступных узлов микроконтроллера. В качестве счетч ика и указателя адреса передаваемых данных используется регистр R1. Макс имально допустимый адрес - FFh. 2.3.2.8 Подпрограмма выдачи ошибки в ПК В качестве кода ошибки выбран код 0Fh. Процедура выдачи ошибки использует подпрограмму выдачи одного байта. Поэтому, перед запуском этой процедуры, код ошибки необход имо поместить в аккумулятор. В связи с тем, что для сигнализации ошибки все процедуры ис пользуют регистр R4, перед запуском подпрограммы выдачи одного байта дан ных содержимое регистра R4 необходимо сохранить. Для этой цели используе тся регистр R7. Перед завершением подпрограммы значение регистра R4 необ ходимо восстановить. Алгоритм подпрограммы выдачи ошибки представлен на рису нке 17. Рис. 17. Алгоритм п одпрограммы выдачи ошибки в ПК. 2.3.2.9 По дпрограмма выдачи одного байта информации Алгоритм подпрограммы выдачи одного байта информации в П К представлен на рисунке 18. Рис. 18. Алгоритм п одпрограммы выдачи одного байта информации в ПК. Подпрограмма пе редает данные находящиеся в аккумуляторе в последовательный порт выво да. В начале работы процедура переносит бит четности в буфер последовате льного порта, задает значения счетчиков ошибок и ожиданий, и ожидает, пок а буфер порта будет свободен. Как только последовательный порт будет гот ов к пересылке информации, программа начнет проверять готовность ПК к пр иему данных. Если ПК будет не готов к приему информации долгое время, то процедура завершит свою работу с занесением в регистр R4 кода 00h, символизи рующего ошибку передачи данных. Как только ПК будет готов к приему данных подпрограмма пе редаст содержимое аккумулятора в последовательный порт. Подождет, пока порт не будет готов к передаче следующего байта данных и запустит подпро грамму задержки, для того, чтобы ПК успел проверить переданную информаци ю и, в случае ошибки, выдал бы запрос на повторную передачу данных. Если ПК выставит сигнал ошибки переданной информации, по дпрограмма будет пытаться передать эту информацию еще раз. Этот процесс будет повторяться, до тех пор, пока не обнулится счетчик ошибок. Если счетчик ошибок будет равен нулю, процедура завершит свою работу с ошибкой. В качестве сигнала готовности ПК, и сигнала ошибки переда нной информации используется сигнал на входе P2.7. 2.3.2.10 Подпрограмма приема одного байта информа ции. В начале работы, подпрограмма задает счетчик ошибок, счет чик тактов ожидания и разрешает передачу информации из ПК в микроконтро ллер. После этого подпрограмма ожидает приема информации, пров еряет ее и, если данные приняты верно, сохраняет результат в регистре R0. В случае возникновения ошибок, микроконтроллер передает в ПК сообщение об ошибке и предлагает повторить передачу. Алгоритм подпрограммы приема одного байта информации пр едставлен на рисунке 19. Рис. 19. Алгоритм п одпрограммы приема одного байта информации. В случае многокр атного повторения ошибок, подпрограмма завершает свою работу и выставл яет в регистре R4 код 00h, символизирующий ошибочность принятых данных. Если от ПК долгое время не будет передана информация, подп рограмма также завершит свою работу и выставит в регистре R4 код 00h, символи зирующий ошибочность принятых данных. В качестве счетчика времени ожидания используется регис тр R6. ЗАКЛЮЧЕНИЕ В работе была рассмотрена организация обмена информа цией между персональным компьютером и микроконтроллером семейства MCS-51 ф ирмы Intel. Была разработана, на уровне структурной схемы, аппаратная часть с опряжения микроконтроллера с портами персонального компьютера, а такж е схема подключения внешней памяти программ к микроконтроллеру. Разраб отано, на уровне алгоритмов, программное обеспечение микроконтроллера. На основе проделанной работы можно создать установку, позволяющую авто матизировать процесс программирования микроконтроллерной системы. Да нную установку можно применять в качестве лабораторной установки для и зучения курса “Микропроцессоры” и в качестве программируемого управля ющего элемента более сложной системы. СПИСОК ИСПОЛЬЗОВАНОЙ ЛИТЕРАТУРЫ 1. “Однокристальные микроЭВМ” справочник / Бобрыкин А.В., Липовецкий Г.П. и др . / Москва / 1994 г. 2. “Проектирование цифров ых устройств на однокристальных микроконтроллерах” / Сташин В.В., Урусов А.В., Мологонцева О.Ф. / Москва, “Энергоатомиздат” / 1990 г. 3. “Лабораторная установк а на базе микроконтроллера MCS-51 по курсу микропроцессоры и микропроцессор ные системы” работа на соискание академической степени бакалавра / Бари нов Р. / Рига, РАУ / 1998 г. 4. “1996 IC Master for Windows” / компакт диск / © Copyright Heart business puplishinc. 5. “STANDART IBM PC. Устройство, устано вка, техническое обслуживание и ремонт персонального компьютера” спра вочник / Кишинев / 1991 г. 6. “Модемы и факс-модемы. Пр ограммирование для MS-DOS и Windows” / А.В. Фролов, Г.В. Фролов / Москва / “Диалог-Мифи” / 1995 г. ПРИЛОЖЕНИЯ Приложение 1 Точные зна чения кварцев Кратность Скорос ть передачи (Кбод) Частота кварца (МГц) SMOD=0 (1/64) SMOD=1 (1/32) 1 115,2 7,3728 3,6864 2 57,6 3,6864 1,8432 3 38,4 2,4576 1,2288 4 28,8 1,8432 0,9216 5 23,04 1,4746 0,73728 6 19,2 1,2288 0,6144 7 16,457142 1,053257 0,526628 8 14,4 0,9216 0,4608 9 12,8 0,8192 0,4096 10 11,52 0,73728 0,36864 12 9,2 0,6144 0,3072 Приложение 2 Возможные зна чения кварцев SMOD=0 Кратность Скорос ть передачи (Кбод) Частота кварца (МГц) SMOD=0 (1/64) SMOD=1 (1/32) 1 115,2 7,366503 7,378725 2 57,6 3,673807 3,698251 3 38,4 2,438711 2,475377 4 28,8 1,818014 1,866903 5 23,04 1,443078 1,504189 6 19,2 1,191022 1,264355 7 16,457142 1,009183 1,094738 8 14,4 0,871229 0,969007 9 12,8 0,762533 0,872533 10 11,52 0,674317 0,796539 12 9,2 0,538844 0,685511 SMOD=1 Кратность Скорос ть передачи (Кбод) Частота кварца (МГц) SMOD=0 (1/64) SMOD=1 (1/32) 1 115,2 3,683252 3,689363 2 57,6 1,836904 1,849126 3 38,4 1,219356 1,237689 4 28,8 0,909007 0,933452 5 23,04 0,721539 0,752095 6 19,2 0,595511 0,632178 7 16,457142 0,504592 0,547369 8 14,4 0,435615 0,484504 9 12,8 0,381267 0,436267 10 11,52 0,337159 0,398270 12 9,2 0,269422 0,342756
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Меня очень раздражает вопрос "Что нового?" от людей, которые не особо в курсе, чего у меня было старого.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

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

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru