Реферат по предмету "Коммуникации и связь"


Программирование микроконтроллеров

Программирование микроконтроллеров

План
Введение
Раздел 1. Назначение и область применения, их архитектура
Раздел 2. Среды программирования. Схемы подключениямикроконтроллера
Раздел 3. Практическая реализацияпрограммы на микроконтроллере
Вывод
Список использованных источников
Введение
Актуальность темы. Микроконтроллеры используются во всехсферах жизнедеятельности человека, устройствах, которые окружают его. Простота подключенияи большие функциональные возможности. С помощью программирования микроконтроллераможно решить многие практические задачи аппаратной техники.
Цель работы. На основе практического примера показатьпреимущественные характеристики использования микроконтроллеров, необходимости ихвнедрения в различные устройства.
Можно считать что микроконтроллер (МК) — это компьютер, разместившийсяв одной микросхеме. Отсюда и его основные привлекательные качества: малые габариты;высокие производительность, надежность и способность быть адаптированным для выполнениясамых различных задач.
Микроконтроллер помимо центрального процессора (ЦП) содержитпамять и многочисленные устройства ввода/вывода: аналого-цифровые преобразователи,последовательные и параллельные каналы передачи информации, таймеры реального времени,широтно-импульсные модуляторы (ШИМ), генераторы программируемых импульсов и т.д.Его основное назначение — использование в системах автоматического управления, встроенныхв самые различные устройства: кредитные карточки, фотоаппараты, сотовые телефоны,музыкальные центры, телевизоры, видеомагнитофоны и видеокамеры, стиральные машины,микроволновые печи, системы охранной сигнализации, системы зажигания бензиновыхдвигателей, электроприводы локомотивов, ядерные реакторы и многое, многое другое.Встраиваемые системы управления стали настолько массовым явлением, что фактическисформировалась новая отрасль экономики, получившая название Embedded Systems (встраиваемые системы).
Достаточно широкое распространение имеют МК фирмы ATMEL, которые располагают большими функциональными возможностями.
Применение МК можно разделить на два этапа: первый — программирование,когда пользователь разрабатывает программу и прошивает ее непосредственно в кристалл,и второй — согласование спроектированных исполнительных устройств с запрограммируемымМК. Значительно облегчают отладку программы на первом этапе — симулятор, которыйнаглядно моделирует работу микропроцессора. На втором этапе для отладки используетсявнутрисхемный эмулятор, который является сложным и дорогим устройством, зачастуюнедоступным рядовому пользователю.
В тоже время в литературе мало уделено внимания вопросам обученияпрограммированию некоторых недорогих МК, в сочетании с реальными исполнительнымиустройствами.
Разработка макета программатора отличающегося простотой, наглядностьюи низкой себестоимостью, становиться необходимой как для самого программированиякристаллов, так и для наглядного обучения широкого круга пользователей основам программированияМК.
Раздел 1. Назначение и область применения, их архитектура
Микроконтроллер — компьютер на одной микросхеме. Предназначендля управления различными электронными устройствами и осуществления взаимодействиямежду ними в соответствии с заложенной в микроконтроллер программой. В отличие отмикропроцессоров, используемых в персональных компьютерах, микроконтроллеры содержатвстроенные дополнительные устройства. Эти устройства выполняют свои задачи под управлениеммикропроцессорного ядра микроконтроллера.
К наиболее распространенным встроенным устройствам относятсяустройства памяти и порты ввода/вывода (I/O), интерфейсы связи, таймеры, системныечасы. Устройства памяти включают оперативную память (RAM), постоянные запоминающиеустройства (ROM), перепрограммируемую ROM (EPROM), электрически перепрограммируемуюROM (EEPROM). Таймеры включают и часы реального времени, и таймеры прерываний. СредстваI/O включают последовательные порты связи, параллельные порты (I/O линии), аналого-цифровыепреобразователи (A/D), цифроаналоговые преобразователи (D/A), драйверы жидкокристаллическогодисплея (LCD) или драйверы вакуумного флуоресцентного дисплея (VFD). Встроенныеустройства обладают повышенной надежностью, поскольку они не требуют никаких внешнихэлектрических цепей.
В отличие от микроконтроллера контроллером обычно называют плату,построенную на основе микроконтроллера, но достаточно часто при использовании понятия«микроконтроллер» применяют сокращенное название этого устройства, отбрасываяприставку «микро» для простоты. Также при упоминании микроконтроллеровможно встретить слова «чип» или «микрочип», «кристалл»(большинство микроконтроллеров изготавливают на едином кристалле кремния), сокращенияМК или от английского microcontroller — MC.
микроконтроллер программа микросхема электронный
Микроконтроллеры можно встретить в огромном количестве современныхпромышленных и бытовых приборов: станках, автомобилях, телефонах, телевизорах, холодильниках,стиральных машинах. и даже кофеварках. Среди производителей микроконтроллеров можноназвать Intel, Motorola, Hitachi, Microchip, Atmel, Philips, Texas Instruments,Infineon Technologies (бывшая Siemens Semiconductor Group) и многих других. Дляпроизводства современных микросхем требуются сверхчистые помещения.
Основным классификационным признаком микроконтроллеров являетсяразрядность данных, обрабатываемых арифметико-логическим устройством (АЛУ). По этомупризнаку они делятся на 4-, 8-, 16-, 32 — и 64-разрядные. Сегодня наибольшая долямирового рынка микроконтроллеров принадлежит восьмиразрядным устройствам (около50 % в стоимостном выражении). За ними следуют 16-разрядные и DSP-микроконтроллеры(DSP — Digital Signal Processor — цифровой сигнальный процессор), ориентированныена использование в системах обработки сигналов (каждая из групп занимает примернопо 20 % рынка). Внутри каждой группы микроконтроллеры делятся на CISC — и RISC-устройства.Наиболее многочисленной группой являются CISC-микроконтроллеры, но в последние годысреди новых чипов наметилась явная тенденция роста доли RISC-архитектуры.
Тактовая частота, или, более точно, скорость шины, определяет,сколько вычислений может быть выполнено за единицу времени. В основном производительностьмикроконтроллера и потребляемая им мощность увеличиваются с повышением тактовойчастоты. Производительность микроконтроллера измеряют в MIPS (Million Instruсtionsper Second — миллион инструкций в секунду).
Термин контроллер образовался от английского слова to control- управлять. Эти устройства могут основываться на различных принципах работы отмеханических или оптических устройств до электронных аналоговых или цифровых устройств.Механические устройства управления обладают низкой надежностью и высокой стоимостьюпо сравнению с электронными блоками управления, поэтому в дальнейшем мы такие устройстварассматривать не будем. Электронные аналоговые устройства требуют постоянной регулировкив процессе эксплуатации, что увеличивает стоимость их эксплуатации. Поэтому такиеустройства к настоящему времени почти не используются. Наиболее распространеннымина сегодняшний день схемами управления являются схемы, построенные на основе цифровыхмикросхем.
В зависимости от стоимости и габаритов устройства, которым требуетсяуправлять, определяются и требования к контроллеру. Если объект управления занимаетдесятки метров по площади, как, например, автоматические телефонные станции, базовыестанции сотовых систем связи или радиорелейные линии связи, то в качестве контроллеровможно использовать универсальные компьютеры. Управление при этом можно осуществлятьчерез встроенные порты компьютера (LPT, COM, USB или Ethernet).В такие компьютеры при включении питания заносится управляющая программа, котораяи превращает универсальный компьютер в контроллер.
Использование универсального компьютера в качестве контроллерапозволяет в кратчайшие сроки производить разработку новых систем связи, легко ихмодернизировать (путём простой смены программы) а также использовать готовые массовые(а значит дешёвые) блоки.
Если же к контроллеру предъявляются особенные требования, такие,как работа в условиях тряски, расширенном диапазоне температур, воздействия агрессивныхсред, то приходится использовать промышленные варианты универсальных компьютеров.Естественно, что эти компьютеры значительно дороже обычных универсальных компьютеров,но всё равно они позволяют экономить время разработки системы, за счёт того, чтоне нужно вести разработку аппаратуры контроллера.
Контроллеры требуются не только для больших систем, но и длямалогабаритных устройств, таких как радиоприёмники, радиостанции, магнитофоны илисотовые аппараты. В таких устройствах к контроллерам предъявляются жёсткие требованияпо стоимости, габаритам и температурному диапазону работы. Этим требованиям не могутудовлетворить даже промышленные варианты универсального компьютера. Приходится вестиразработку контроллеров на основе однокристальных ЭВМ, которые в свою очередь получилиназвание микроконтроллеры. Любые устройства, в том числе и устройства связи, радиоавтоматикиили аудиовизуальной аппаратуры требуют присутствия в своем составе устройства управления(контроллера). Контроллеры требуются практически во всех предметах и устройствах,которые окружают нас. Наиболее распространёнными в настоящее время являются микроконтроллерысемейства MCS-51. Это семейство поддерживается рядом фирм — производителей микросхем.Не менее распространёнными в мире являются микроконтроллеры фирмы Motorola. Этотакие семейства как HC05, HC07, HC11 и многие другие. Пожалуй, не менее популярнымимикроконтроллерами являются микроконтроллеры семейства AVR фирмы Atmel. Если представитьвсе типы современных микроконтроллеров (МК), то можно поразиться огромным количествомразнообразных приборов этого класса, доступных потребителю. Однако все эти приорыможно разделить на следующие основные типы: встраиваемые (embedded)8-разрядные МК; 16 — и 32-разрядные МК; цифровые сигнальные процессоры. Промышленностьювыпускаются очень широкая номенклатура встраиваемых МК. В них все необходимые ресурсы(память, устройства ввода-вывода и т.д.) располагаются на одном кристалле с процессорнымядром [3]. Если подать питание и тактовые импульсы на соответствующие входы МК,то можно сказать, что он как бы «оживет» и с ним можно будет работать.Обычно МК содержат значительное число вспомогательных устройств, благодаря чемуобеспечивается их включение в реальную систему с использованием минимального количествадополнительных компонентов. В состав этих МК входят:
· Схема начального запуска процессора (Reset);
· Генератор тактовых импульсов;
· Центральный процессор;
· Память программ (E (E)PROM) и программный интерфейс;
· Средства ввода/вывода данных;
· Таймеры, фиксирующие число командных циклов.
Общая структура МК показана на (Рис.1.1.) Эта структура даетпредставление о том, как МК связывается с внешним миром. Более сложные встраиваемыеМК могут дополнительно реализовывать следующие возможности:
· Встроенный монитор/отладчик программ;
· Внутренние средства программирования памяти программ (ROM);
· Обработка прерываний от различных источников;
· Аналоговый ввод/вывод;
· Последовательный ввод/вывод (синхронный и асинхронный);
· Параллельный ввод/вывод (включая интерфейс с компьютером);
· Подключение внешней памяти (микропроцессорный режим).
Все эти возможности значительно увеличивают гибкость примененияМК и делают более простым процесс разработки систем на и основе.
/>
Рис.1.1 Структура микроконтроллера.
 
Некоторые МК (особенно 16 — и 32-разрядные) используют тольковнешнюю память, которая включает в себя как память программ (ROM),так и некоторый объем памяти данных (RAM), требуемый дляданного применения. Они применяются в системах, где требуется большой объем памятии относительное не большое количество устройств (портов) ввода/вывода. Типичнымпримером применения такого МК с внешней памятью является котроллер жесткого диска(HDD) с буферной кэш-памятью, который обеспечивает промежуточноехранение и распределение больших объемов данных (порядка нескольких мегабайт). Внешняяпамять дает возможность такому микроконтроллеру работать с более высокой скоростью,чем встраиваемый МК.
Цифровые сигнальные процессоры (DSP)- относительно новая категория процессоров. Назначение DSP состоит в том, чтобы получать текущие данные от аналоговой системы,обрабатывать данные и формировать соответствующий отклик в реальном масштабе времени.Они обычно входят в состав систем, используясь в качестве устройств управления внешнимоборудованием, и не предназначены для автономного применения./>/>/>/>/>Система команд.
В зависимости от числа используемых кодов операций системы командМК можно разделить на две группы: CISCи RISC. Термин CISC означает сложную систему команди является аббревиатурой английского определения Complex Instruction Set Computer.Аналогично термин RISC означает сокращенную систему команд и происходит от английскогоReduce Instruction Set Computer. Систему команд МК 8051 можно отнести к типу CISC. Однако,не смотря на широкую распространенность этих понятий, необходимо признать, что саминазвания не отражают главного различия между системами команд CISC и RISC. Основнаяидея RISC архитектуры — это тщательный подбор таких комбинаций кодов операций, которыеможно было бы выполнить за один такт тактового генератора. Основной выигрыш от такогоподхода — резкое упрощение аппаратной реализации ЦП и возможность значительно повыситьего производительность.
Очевидно, что в общем случае одной команде CISC соответствуетнесколько команд RISC. Однако обычно выигрыш от повышения быстродействия в рамкахRISC перекрывает потери от менее эффективной системы команд, что приводит к болеевысокой эффективности RISC систем в целом по сравнению с CISC.
Однако в настоящее время грань между CISC и RISC архитектуройстремительно стирается. Например, МК семейства AVR фирмы Atmel имеютсистему команд из 120 инструкций, что соответствует типу CISC. Однако большинствоиз них выполняется за один такт, что является признаком RISC архитектуры. Сегодняпринято считать, что признаком RISC архитектуры является выполнение команд за одинтакт тактового генератора. Число команд само по себе значения уже не имеет./>/>/>/>/>Типы памяти МК.
Можно выделить три основных вида памяти, используемой в МК:
а) память программ;
б) память данных;
в) регистры МК.
Память программ представляет собой постоянную память,предназначенную для хранения программного кода и констант. Эта память не изменяетсодержимого в процессе выполнения программы. Память данных предназначенадля хранения переменных в ходе выполнения программы. Регистры МК — этот видпамяти включает внутренние регистры процессора и регистры, которые служат для управленияпериферийными устройствами.
Для хранения программ обычно служит один из видов постояннойпамяти: ROM (масочные ПЗУ), PROM(однократно программируемые ПЗУ), EPROM (электрически программируемыеПЗУ с ультрафиолетовым стиранием) или EEPROM (ПЗУ с электрическойзаписью и стиранием, к этому виду также относятся современные микросхемы Flash-памяти). Все эти виды памяти являются энергонезависимыми- это означает, что содержимое памяти сохраняется после выключения питания МК.
Многократно программируемые ПЗУ — EPROM и EEPROM (Electrically Erasable Programmable Memory)подразделяются на ПЗУ со стиранием ультрафиолетовым (УФ) облучением (выпускаютсяв корпусах с окном), и МК с электрически перепрограммируемой памятью, соответственно.
В настоящее время протоколы программирования современной EEPROM памяти позволяют выполнять программированиеМК непосредственно в составе системы, где он работает. Такой способ программированияполучил название — ISP (In System Programming). И теперь можно периодически обновлять программноеобеспечение МК без удаления из платы. Это дает огромный выигрыш на начальных этапахразработки систем на базе МК или в процессе их изучения, когда масса времени уходитна многократный поиск причин неработоспособности системы и выполнение последующихциклов стирания-программирования памяти программ.
Функционально Flash-память мало отличаетсяот EEPROM. Основное различие состоит в способности стираниязаписанной информации. В памяти EEPROMстирание производится отдельно для каждой ячейки, а во Flash-памятистирание осуществляется целыми блоками.
ОЗУ (RAM) — оперативное запоминающееустройство, используется для хранения данных. Эту память называют еще памятью данных.Число циклов чтения и записи в ОЗУ неограниченно, но при отключение питания всяинформация теряется.
 Раздел 2. Среды программирования. Схемы подключениямикроконтроллера
Программная среда "AVR Studio" — это мощныйсовременный программный продукт, позволяющий производить все этапы разработки программдля любых микроконтроллеров серии AVR. Пакет включает всебя специализированный текстовый редактор для написания программ, мощный программныйотладчик.
Кроме того, «AVR Studio» позволяет управлять целымрядом подключаемых к компьютеру внешних устройств, позволяющих выполнять аппаратнуюотладку, а также программирование («прошивку») микросхем AVR.
Программная среда «AVR Studio» работает не просто с программами,а с проектами. Для каждого проекта должен быть отведен свой отдельный каталог нажестком диске. В AVR Studio одновременно может быть загружентолько один проект.
При загрузке нового проекта предыдущий проект автоматически выгружается.Проект содержит всю информацию о разрабатываемой программе и применяемом микроконтроллере.Он состоит из целого набора файлов.
Главный из них — файл проекта. Он имеет расширение aps. Файл проекта содержит сведения о типе процессора, частотетактового генератора и т.д. Он также содержит описание всех остальных файлов, входящихв проект. Все эти сведения используются при отладке и трансляции программы.
Кроме файла aps, проект должен содержатьхотя бы один файл с текстом программы. Такой файл имеет расширение asm. Недостаточно просто поместить файл asm в директорию проекта. Его нужно еще включить в проект. Проектможет содержать несколько файлов asm. При этом один из нихявляется главным. Остальные могут вызываться из главного при помощи оператора. include. На этом заканчивается список файлов проекта, которыесоздаются при участии программиста.
Algorithm Builder предназначен для производстваполного цикла разработки начиная от ввода алгоритма, включая процесс отладки и заканчиваяпрограммированием кристалла.
Algorithm Builder довольно нетрадиционная программав плане языка программирования; ассемблер, завернутый в красивую обертку визуальногопрограммирования. Algorithm Builder — визуальный ассемблер или построитель ассемблера с помощьюкоторого на выходе можно получить максимально эффективный код.
Работа с переменными и константами организована гениально просто.Инициализация производиться в отдельном окне в виде таблицы — освобождая алгоритмот лишних записей. В буквальном смысле слова все разложено по полочкам.
Algorithm Builder имеет удобный настройщик периферии(таймеры, UART, ADC, SPI и т.д.) позволяющий, не читая даташитов,просто выбрать необходимые параметры работы устройства в окне настройки. В этомже окне Builder честно покажет наборинструкций, обеспечивающих эти параметры.
Переходы осуществляются в программе очень наглядно — вектором.Если требуется перейти по условию в какую либо точку программы — нужно просто провестивектор в эту точку. Это освобождает программу от бесчисленных имен меток, которыев классическом ассемблере являются неизбежным балластом. Переходы по именованнымметкам так же возможны.
Внутрисхемное программирование кристалла. При использовании внутрисхемногопрограмматора микроконтроллер подключается к COM порту компьютера через несложный адаптер (три диода и несколькорезисторов). Также есть вариант USB подключения.Программатор ведет подсчет числа перепрограммирований кристалла, сохраняя счетчикнепосредственно в кристалле. Процесс программирования кристалла очень прост — вдва «хода».
Мониторная отладка на кристалле. Algorithm Builder обеспечиваетмониторную отладку на кристалле (On Chip debug) котораяпозволяет наблюдать содержимое реального кристалла в заданной точке останова. Приэтом для связи микроконтроллера с компьютером используется только один вывод, причемпо выбору пользователя. Мониторная отладка может быть применена к любому типу кристалла,имеющего SRAM. Это софтверный вариант debugWIRE.
Для того, чтобы написанная программа превратилась в результирующийкод и заработала в конкретном микропроцессорном устройстве, ее нужно оттранслироватьи «зашить» в программную память микроконтроллера.
При написании программ обычно нельзя обойтись без процедуры отладки.Отладка выполняется на компьютере при помощи специальной инструментальной программы- отладчика. Он позволяет пошагово выполнять отлаживаемую программу, а также выполняетее поэтапно с использованием, так называемых точек останова.
В процессе выполнения программы под управлением отладчика можнона экране компьютера:
1) видеть содержимое любого регистра микроконтроллера;
2) видеть содержимое ОЗУ и EEPROM;
3) наблюдать за последовательностью выполнения команд, контролируя правильностьотработки условных и безусловных переходов;
4) наблюдать за работой таймеров, отработкой прерываний.
В процессе отладки также можно наблюдать логические уровни налюбом внешнем выходе микроконтроллера. А также имитировать изменение сигналов налюбом входе. Процесс отладки позволяет убедиться в том, что разрабатываемая программаработает именно так, как нужно.
Существует три основных вида отладчиков:
- программные;
- аппаратные;
- комбинированные программно-аппаратные.
Программный отладчик
Программный отладчик — это компьютерная программа, которая имитируетработу процессора на экране компьютера. Она не требует наличие реальной микросхемыили дополнительных внешних устройств и позволяет отладить программу чисто виртуально.
Однако программный отладчик позволяет проверить только логикуработы программы. При помощи такого отладчика невозможно проверить работу схемыв режиме реального времени или работу всего микропроцессорного устройства в комплексе,т. е невозможно гарантировать правильную работу и всех подключенных к микроконтроллерудополнительных микросхем и элементов.
Аппаратный отладчик
Основа аппаратного отладчика — специальная плата, подключаемаяк компьютеру, работающая под его управлением и имитирующая работу реальной микросхемымикроконтроллера. Плата имеет выводы, соответствующие выводам реальной микросхемы,на которых в процессе отладки появляются реальные сигналы.
При помощи этих выводов отладочная плата может быть включенав реальную схему. Возникающие в процессе отладки электрические сигналы можно наблюдатьпри помощи осциллографа. Можно нажимать реальные кнопки и наблюдать работу светодиодови других индикаторов.
Здесь как и в предыдущем случае, можем видеть всю информацииоб отлаживаемой программе: наблюдать содержимое регистров, ОЗУ, портов ввода-вывода;контролировать ход выполнения программы.
В аппаратном отладчике так же, как и в программном, можно выполнятьпрограмму в пошаговом режиме и применять точки останова. Недостатком аппаратногоотладчика является его высокая стоимость.
Имитаторы
Имитаторы — программы, которые позволяют на экране компьютера«собрать» любую электронную схему, включающую в себя самые разные электронныекомпоненты:
a) транзисторы;
b) резисторы;
c) конденсаторы;
d) операционные усилители;
e) логические и цифровые микросхемы,в том числе и микроконтроллеры.
Такие программы обычно содержат обширные базы электронных компонентови конструктор электронных схем. Собрав схему, можно виртуально записать в памятьмикроконтроллера вашу программу, а затем «запустить» всю схему в работу.
Для контроля результатов работы схемы имитатор имеет виртуальныевольтметры, амперметры и осциллографы, которые можно «подключать» к любойточке схемы, «измерять» различные напряжения, а также «снимать»временные диаграммы.
Такие программы в настоящее время получают все большее распространение.Они позволяют разработать любую схему с микроконтроллером или без него, без использованияпаяльника и реальных деталей. На экране компьютера можно полностью отладить своюсхему и лишь потом браться за паяльник.
Недостатком данного отладчика является то, что он требует значительныхвычислительных ресурсов. Особенно в том случае, когда отлаживается схема, включающаякак микроконтроллер, так и некоторую аналоговую часть. Кроме того, имитатор не всегдаверно имитирует работу некоторых устройств. Однако подобные программы имеют оченьбольшие перспективы.
WinAVR
WinAVR представляетсобой набор инструментальных средств для работы с микроконтроллерами семейства AVR фирмы ATMEL.В него вошли следующие компоненты:
a) компилятор языка C avr-gcc,
b) библиотека компилятора avr-libs,
c) ассемблер avr-as,
d) интерфейс программатора avrdude,
e) интерфейс JTAG ICE avarice,
f) Debuger avr-gdb,
g) редактор programmers notepad.
Весь этот набор собран в один инсталляционный пакет и предназначендля установки на платформу Windows.
Главным преимуществом моего выбора именно этой микросхемы являетсяее широкая доступность и не высокая цена.
/>
Рис.2.1 Типовая схема включения микроконтроллераАТ89С2051
Элементы R1, С1 составляют цепь начальногосброса микроконтроллера. Она служит для перевода в исходное состояние всех внутреннихсистем микроконтроллера сразу после включения питания. Кварцевый резонатор Z1 определяет частоту встроенного тактового генератора микроконтроллера.Этот генератор предназначен для синхронизации всех внутренних процессов микроконтроллера.Микросхема АТ89С2051 допускает выбирать частоту кварцевого резонатора до 24 МГц.Нижний предел частоты не ограничивается. Конденсаторы С2 и СЗ — это согласующиеэлементы для кварца. Микроконтроллер АТ89С2051 допускает применение в качестве времязадающейцепи резонансного контура, и даже подключение внешнего тактового генератора. Оставшиесявыводы микроконтроллера представляют собой два порта ввода/вывода,которые обозначены Р1 и РЗ. Именно к этим двум портам и подключаются периферийныеустройства.
Практически ни одно микропроцессорное устройство не обходитсябез кнопок и простейших датчиков на основе обычных контактов. При помощи этого видапериферийных элементов в микропроцессорное устройство поступает различная информация,которая используется для изменения алгоритма работы программы.
Примером может служить датчик поворота (Рис.2.2) — механическиеконтакты, связанные с поворачиваемым устройством.
/>
Рис.2.2 Простая схема подключения датчика наоснове геркона
На вход микроконтроллера через резистор R1подается напряжение от источника питания +5 В. Микросхема воспринимает это напряжениекак сигнал логической единицы. При срабатывании датчика контакты замыкаются и соединяютвывод микроконтроллера с общим проводом. В результате напряжение на входе Р1.0 падаетдо нуля. В следствии микросхема воспринимает входной уровень сигнала как логическийноль. Резистор R1 при этом служит токоограничивающим элементом,предотвращая короткое замыкание между шиной питания и общим проводом.
Рассмотрим программу для обслуживания вышеупомянутого датчика(Листинг 2.3.), которая, постоянно опрашивает датчик и в зависимости от состояниязапускает одну из двух специальных процедур.
1
2
3
4
5
6
7
;  Программа обработки сигнала с датчика
m1:     mov     p1.0,#1  ;     Записываем 1 в соответствующий разряд порта
           mov     c,p1.0     ;    Читаем состояние датчика в битовый аккумулятор
            jc        m2          ;    Если контакты датчика разомкнуты, перейти к m2
           call      proc1      ;      Вызов процедуры обработки нажатия контакта
            jmp     m1          ;   Возврат к началу (следующий цикл считывания)
m2:    call      proc1            ;    Вызов процедуры обработки размыкания контакта
          jmp     m1           ;    Возврат к началу (следующий цикл считывания)
 
Листинг 2.3.
Здесь явно видно, что программа записывает в линию Р1.0 сигналлогической единицы (строка 1). Это необходимо для того, чтобы данная линия моглаработать на ввод информации.
Следующая команда считывает бит информации, поступающей от датчика,и помещает ее в регистр признака переноса (строка 2). В микропроцессорной техникепринято ячейку признака переноса обозначать как CY.Ячейка CY используется какаккумулятор для битовых операций. Если в момент считывания сигнала контакты датчикабыли разомкнуты, то в ячейке CYокажется логическая единица. Если контакты замкнуты, то там будет логическийноль.
Оператор условного переходаjc осуществляет оценку содержимого CY(строка 3). Если в CY логическийноль, то управление передается на меткуm2,и выполняется команда call ргос2(строка 6). В противном случае передача управления не происходит и выполняется командаcallproc1 (строка 4). Оператор call — это вызов подпрограммы. Поэтому, в зависимости от состояния датчика вызываетсяодна из двух подпрограмм: proc1 илиргос2.Раздел 3. Практическая реализация программы на микроконтроллере
Задача. Построить схему на микроконтроллере, в моем случаеэто микроконтроллер АТ89С2051 фирмы Atmel, которыйв зависимости от положения 4 переключателей зажигал бы 6 светодиодов (лампочек).
Решение: для реализации построил простейшую схему светодиодногоиндикатора (Рис.3.1.), которое используется не только в моем примере, а ив любом устройстве в качестве светового индикатора.
/>
Рис.3.1 Простейшая схема светодиодного индикатора
Использовав схемы вышеупомянутых схем (Рис.2.1.,2.2.,3.1.),построил схему согласно поставленной задачи. Код программы написан на языке ассемблерадля микроконтроллера АТ89С2051 (Cross-Assembler 8051, Version 1.2h).
Как видно из схемы порт Р1 работает как порт ввода. Шестьмладших P3 работают на вывод. Возможен и обратныйвариант (Р1 на вывод, Р3 на ввод).
Я же выбрал тот вариант, который наиболее рационален с точкизрения удобства составления программы.
Рассмотрим принцип работы построенной схемы.
/>
Рис.4.5 Схема светодиодной индикации с переключателями
В исходном состоянии на выводы Р3.0…Р3.5 подается сигнал логическойединицы. На все выводы порта Р1 (Р1.0…Р1.3) также поданы единицы. Но во втором случаеединицы поданы для того, чтобы обеспечить возможность работы линий в режиме ввода.Контроллер периодически опрашивает состояние клавиш путем изменения сигнала на выходахР3.0…Р3.5 и считывания сигнала из порта Р1. В случае обнаружения замыкания контактаодной из клавиш, программа выполняет закрепленные за этой клавишей действия.
Каким же образом осуществляется опрос клавиш? Процедура опросаклавиш поочередно переводит одну из линий Р3.0…Р3.5 в нулевое состояние. Сначалав нулевое состояние переводится линия Р3.5 Сразу после этого контроллер производитчтение числа из порта Р1. Если ни одна из клавиш не нажата, то все разряды считанногочисла будут равны единице (считанное число будет равно 0FFH).Если хотя бы одна из клавиш К1…К4 окажется нажатой, то число, прочитанное из портаР1, будет отличаться от значения 0FFH. Предположим, чтонажали клавишу К1. Тогда сигнал логического нуля с выхода Р3.0 поступит на входР1.0 и младший разряд считанного числа окажется равным нулю. В этом случае процессориз порта прочитает 0FЕH. Нажатиелюбых других клавиш К2. К4 приведет к обнулению других разрядов считываемого числа.В результате для разных комбинаций получим разные коды.
   4выключателя                                    6 светодиодов
K1 K2 K3 K4                             HL1HL2 HL3 HL4 HL5 HL6
 0    0    0   0                     0      0      0      0      0      0
 1    0    0  0                                 1       0      0      0      0      0
 0    1    0  0                                 0       1      0      0      0      0
 0    0    1  0                                 0       0      1      0      0      0
 0    0    0  1                                 0       0      0      1      0      0
 1    1    1  1                                 1       1      1      1     1      1
 1     0   0  1                                 1       0      0      0      1      1
 1     0   1  0                                 1       0      1      0      1      1
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
$mod 2051
;----------------------Определение  констант
bank0       EQU      000000000B     ; Коды банков памяти
bank1        EQU     00001000B
bank2        EQU      00010000B
bank3   EQU        00011000B
;-----------------Резервирование ячеек памяти
                DSEG
                ORG      20H       ; Начинаем резервирование с адреса 20Н
p3buf:       DS         1           ; Буфер порта  р3
;-----------Начало программного кода
                 CSEG
                ORG     00H        ; Начинаем программный код с адреса 00Н
;----------------------------------------------------------------
;    В этом месте вы должны поместить основной текст вашей программы
;-----------------------------------------------------------------
;###########################################
;## Подпрограмма опроса клавиш
;###########################################
klav:   push     psw             ; Сохранение регистра флагов в стеке
mov      psw,#bank3 ; Переключение на Банк 3 регистров Р0Н
          mov      p1,#0FFH      ; Перевод Р1.0-Р1.3 в единичное состояние
           call      clrU               ; Перевод Р3.0-Р3.5 в единичное состояние
kl1:    call      setU             ; Вывод кода в порт Р3
          mov   a,p1                ; Считывание состояния клавиш
         cjne     a,#0FFH,kl3   ; Если клавиша нажата, переходим к kl3
;----------------------Окончание процедуры опроса клавиатуры
klfin     call      clrU           ; Переход в исходное состояние порта
             mov      a,r0          ; Запись в аккумулятор кода клавиши
            pop        psw          ; Восстановление регистра флагов
             ret                         ; Выход из подпрограммы
;--------------------Вывод столбцов
setU    mov     a,p3buf       ; Считывание содержимого буфера порта Р3
           orl         a,#0FH     ; Перевод разрядов Р3.0-Р3.5 в единицу
           anl           a,r2        ; Вывод  Р3.0-Р3.5 кода сканирования
            mov     p3buf,a     ; Запись результата назад в буфер
            mov      p3,p3buf  ; Вывод содержимого буфера в порт Р3
              ret 
;-----------------------------------------------------------------
; Сюда вы можете поместить другие подпрограммы
;-----------------------------------------------------------------
end
   
 
Вывод
Рассмотренная выше практическая задача дает четкое представлениео значимости представленного устройства. Трудно представить сферу современной деятельностичеловека, где не использовались бы данные устройства. Телефоны, телевизоры, жидкокристаллическиемониторы, кондиционеры, холодильники, новогодние гирлянды, компьютеры и многое другоене могут работать без микроконтроллеров. Микроконтроллеры намного лучше своих предшественников:ламп и полупроводников. Они намного меньших размеров и обладают большей производительностью.
В процессе выполнения курсовой работы были рассмотрены практическиепримеры подключения микроконтроллеров и их программирование.
Применение микроконтроллеров в технике очень актуально. Так какони существенно ускоряют работу поставленной им задачи. Отсюда и важность их изученияи применения в устройствах.
Список использованных источников
1. Белов А.Б. Конструирование устройств на микроконтроллерах / Наука и Техника,2005. — 255 с.
2. Предко М. Руководство по микроконтроллерам. Том 1. / Пер. с англ. под ред.И.И. Шагурина и С.Б. Лужанского — М.: Постмаркет, 2001. — 416 с.
3. Предко М. Руководство по микроконтроллерам. Том 2. / Пер. с англ. под ред.И.И. Шагурина и С.Б. Лужанского — М.: Постмаркет, 2001. — 488 с.
4. Вуд А. Микропроцессоры в вопросах и ответах. / Пер. с англ. под ред. Д.А.Поспелова. — М.: Энергоатомиздат. 1985. — 184 с.
5. Уильямс Г.Б. Отладка микропроцессорных систем: / Пер. с. англ. — М.: Энергоатомиздат,1988. — 253с.
6. Угрюмов Е.П. Цифровая схемотехника. — Спб.: БВХ — Санкт-Петербург, 2000.- 528 с.
7. Алексенко А.Г., Шагурин И.И. Микросхемотехника. — М.: Радио и связь, 1990.- 496 с.
8. Бродин Б.В., Шагурин И.И. Микроконтроллеры: Справочник. — М.: ЭКОМ, 1999.- 395 с.
9. Программируемые логические ИМС на КМОП-структурах и их применение. / П.П.Мальцев, Н.И. Гарбузов, А.П. Шарапов, А.А. Кнышев. — М.: Энергоатомиздат, 1998.- 158 с.
10. Соловьев В.В., Васильев А.Г. Программируемые логические интегральные схемыи их применение. — Мн.: Беларуская наука, 1998. — 270 с.
11. Лаптев В. Цифровой измеритель температуры на базе AVR микроконтроллера и RC-цепочки. — Электронныекомпоненты, 2001. №2, с.46 — 49.


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Поняття підстави та умови матеріальної відповідальності за трудовим правом
Реферат Туристско-страноведческая характеристика Бразилии
Реферат 8 – 9 класс Task 1
Реферат Социально-политические воззрения Аристотеля
Реферат Анализ системы управления персоналом на ЗАО "Вимм Билль Данн Йошкар-Ола"
Реферат The Book I've Just Read
Реферат О социальном статусе тренера в спортивных видах единоборств
Реферат The Boldness Of Courage Essay Research Paper
Реферат «О районном бюджете Ичалковского муниципального района на 2010 год и на плановый период 2011 и 2012 годов»
Реферат А. Куприн «Слон» Учитель начальных классов Токбалинова И. К
Реферат 2. Анализ деятельности мкоу дод дюсш за 2010-2011 учебный год
Реферат Проблемы интеллектуальной миграции в России и пути их решения
Реферат Альний науковий селекційно-генетичний центр з вівчарства вівчарство міжвідомчий тематичний науковий збірник Випуск 35 Нова Каховка «пиел» 2009
Реферат Поиск психодиагностических правил для диагностики эмоциональной устойчивости с помощью детерминационного анализа
Реферат Международный лизинг: о некоторых мерах стимулирования