Разработка сетевого контроллера

Структура микропроцессора ATmega169 и архитектура его вычислительного ядра. Описание работы портов. Программирование необходимой логики контроллера семейства AVR. Исходный код программы с пояснениями. Пошаговая процедура работы микроконтроллера.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 27.11.2016
Размер файла 3,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

"Казанский национальный исследовательский технический университет

им. А.Н. Туполева - КАИ" (КНИТУ - КАИ)

Кафедра компьютерных систем

Пояснительная записка к курсовому проекту

по дисциплине: "Микропроцессорные системы"

на тему: "Разработка сетевого контроллера"

Казань, 2013 г.

Содержание

  • 1. Формулировка задания
  • 2. Описание работы схемы

2.1 Необходимые средства разработки

2.2 Схема микроконтроллера

2.2.1 Описание работы порта А

2.2.2 Описание работы порта В

3. Исходный код программы

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

Приложение

1. Формулировка задания

К общей шине (ОШ) подключены несколько абонентов, каждый из которых функционирует автономно в соответствии с управляющей информацией, полученной от специального устройства - арбитра общей шины. Эта шина включает 3 линии связи: одну информационную и 2 синхронизирующие. Передача информации ведется в последовательном коде. При этом синхроимпульсы С 1 отмечают начало каждого байта, а С 2 синхронизируют подачу отдельных битов. Основная тактовая частота 1 МГц. Длительность синхроимпульсов 0,25 мкс.

При необходимости связи арбитр вырабатывает общий для всех абонентов сигнал ВНИМАНИЕ и затем - АДРЕС нужного абонента. Этот абонент, после идентификации своего адреса, выдает в шину сигнал ГОТОВ либо ЗАНЯТ в зависимости от своего состояния. Получив сигнал готовности, арбитр сразу же формирует непрерывную многобайтную посылку - информационное сообщение, которое замыкается сигналом КОНЕЦ-ПЕРЕДАЧИ. Приняв эту посылку, абонент отвечает сигналом КОНЕЦ-ПРИЁМА, при отсутствии ошибок передачи, либо сигналом ПОВТОРИТЬ-ПЕРЕДАЧУ, если обнаружена ошибка. В последнем случае арбитр повторяет весь цикл связи заново.

Информационное сообщение имеет символьный характер. Каждый символ занимает 1 байт (8 разрядов). Алфавит сообщений содержит всего 200 символов. Оставшиеся 56 символов могут быть использованы в качестве сигналов связи: ГОТОВ, ВНИМАНИЕ и др.

Для реализации связи каждому абоненту передаётся интерфейсный модуль-контроллер связи. Сигналы ГОТОВ и ПОВТОРИТЬ-ПЕРЕДАЧУ вырабатываются контроллером по получении от своего абонента сигналов конца работы (КР) и ошибки передачи (ОП) соответственно.

Таблица кодов сигналов

Сигнал

Десятичный код

Двоичный код

Адрес

73

01001001

Внимание

119

01110111

Готов

102

01100110

Занят

219

11011011

Конец - передачи

255

11111111

Конец - приема

206

11001110

Повторить - передачу

116

01110100

2. Описание работы схемы

2.1 Необходимые средства разработки

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

Рисунок 1. Микросхема ATmega 169

Микропроцессоры семейства AVR содержат высокоскоростное вычислительное ядро RISC архитектуры, развитую периферию и функцию внутрисистемного программирования. Кроме того, микропроцессоры этого семейства имеют производительность 1 MIPS при тактовой частоте 1 МГц, т.е. выполняют большинство команд за 1 цикл.

Модель

Flash(Кб)

СППЗУ, кБ

ОЗУ (байт)

I/O

Fmax,Мгц

Vcc, В

Таймер 1б_бит

Таймер 8_бит

ШИМ, каналов

RTC

SPI

UART

TWI

ISP

10_бит АЦП, кан.

Компараторы (ан.)

Детектор Vc

WD

Osc.

Hardware Multiplier

Корпус

ATmega169

16

0,5

1024

54

16

4,5-5,5

1

2

4

+

1+USI

1

+

+

8

+

+

+

+

+

TQFP64

Микропроцессор ATmega169 является первым низкопотребляющим членом семейства AVR, который содержит встроенный контроллер ЖКИ. AVR ядро объединяет богатый набор команд и 32 рабочих регистра, которые могут быть напрямую подключены к АЛУ, что позволяет выполнять действия с двумя регистрами одновременно одной командой. Вычислительное ядро построено по Гарвардской архитектуре с разделенными памятью и шинами программы и данных. Процессор имеет одноуровневый конвейер, позволяющий при выполнении команды выбирать следующую. Такая архитектура вычислительного ядра позволяет выполнять команды в каждом цикле. Архитектура вычислительного ядра микропроцессора приведена на рисунке 2.

Микропроцессор содержит 16 кбайт программной Flash памяти, 512 байт EEPROM памяти, 1 кбайт SRAM, 53 линии портов ввода-вывода общего назначения, 32 рабочих регистра общего назначения, JTAG интерфейс, встроенные автоматы отладки и программирования, законченный контроллер ЖКИ с преобразователем напряжения, три гибких независимых таймера/счетчика, внешние и внутренние источники прерывания, последовательный программируемый USART, универсальный последовательный интерфейс с детектором стартового состояния, 8- канальный 10- битный АЦП, программируемый сторожевой таймер со встроенным генератором и последовательный SPI порт.

Рисунок 2. Архитектура вычислительного ядра микропроцессора ATmega169

Предназначенный для использования в аппаратуре с автономным питанием, микропроцессор имеет превосходные мощностные характеристики. Во-первых, он выпускается в трех модификациях с различными диапазонами напряжения питания: ATmega169 имеет диапазон напряжения питания от 4,5 до 5,5 В, ATmega169L - от 2,7 до 5,5 В, а ATmega169V - от 1,8 до 5,5 В. При этом модификации имеют различные диапазоны рабочих частот тактового генератора: ATmega169 - от 0 до 16 МГц, ATmega169L - от 0 до 8 МГц, а ATmega169V - от 0 до 1 МГц. При работе на частоте 1 МГц, т.е. с производительностью 1 MIPS, микропроцессор потребляет всего 400 мкА при 1,8 В питании! Во-вторых, имеется возможность программного изменения частоты работы вычислительного ядра. Для выполнения сложных вычислительных функций или других действий, требующих высокого быстродействия вычислительного ядра, разработчик может установить высокую тактовую частоты, а при выполнении простых управляющих функций тактовая частота вычислительного ядра может быть существенно снижена. При работе с частотой 32 кГц микропроцессор потребляет всего 20 мкА (40 мкА при активизированном драйвере ЖКИ). В-третьих, микропроцессор имеет пять программно инициализируемых режимов пониженного потребления: Idle, Power-down, Power-save, ADC Noise Reduction и Standby.

Объединяя в себе 8-битное RISC ядро и внутри системно само программируемую Flash память в одном корпусе, микропроцессор ATmega169 является мощным прибором, который даст Вашим устройствам более высокие гибкость и стоимостную эффективность.

Микропроцессор ATmega169 AVR поддерживается различными программными и системными средствами разработки, такими как С- компиляторы, макроассемблеры, отладчиком/симулятором (AVR Studio версий 3.5 и 4.0), внутрисхемными эмуляторами (ATICE50 и AVR JTAG ICE) и внутрисистемным программатором AVR ISP. Для ускорения разработки новых устройств на базе микропроцессора ATmega169 и снижения затрат на разработку выпущены отладочная плата STK502 и демонстрационный набор AVR Batterfly.

Работу программы будем проверять в эмуляторе AVR Studio 4.13.528.

Компилировать программу будем в WinAVR 20071221.

AVR Studio - интегрированная среда проектирования программ для микроконтроллеров.

WinAVR - программный пакет, содержащий в себе интересующий нас компилятор GNU GCC для C.

2.2 Схема микроконтроллера

Для программирования необходимой логики работы мы будем использовать 3 из 8 выводов порта А и все 8 выводов порта B

2.2.1 Описание работы порта А

- На вывод 0 поступает сигнал синхронизации С 1.

- На вывод 1 поступает сигнал синхронизации С 2.

- Вывод 2 используется для посылки и приёма Арбитру управляющих сигналов ("Внимание", "Готов" и т.д.), а также для приёма информационного сообщения.

Выводы 3-7 не используются и поэтому не показаны на схеме.

2.2.2 Описание работы порта В

8 выводов порта B используются для параллельной передачи и приёма Абоненту управляющих сигналов ("Ошибка передачи", "Конец работы" и т.д.), а также для пересылки информационного сообщения, которое идёт от Арбитра.

Рисунок 3. Схема микроконтроллера

3. Исходный код программы

/*

Подключение заголовочного файла io.h, который в свою очередь подключит iom169.hiom169.h - заголовочный файл, который ставит в соответствие константам PORTA и PORTB реальные адреса выводов конкретного контроллера (в нашем случае ATmega169). Таким образом io.h позволяет работать с портами ввода-вывода*/#include <avr/io.h>// Подключение заголовочного файла, который позволяет объявлять булевские переменные

#include <stdbool.h>

// Определение пользовательского типа данных byte

typedef unsigned char byte;

// Константы, определённые для обращения к выводам порта А

#define C1 (PINA & 0x01) /* 0-вой вывод порта А, на который приходит сигнал С 1 */

#define C2 (PINA & 0x02) /* 1-вой вывод порта А, на который приходит сигнал С 2 */

#define DATAIN ((PINA & 0x04) " 2) /* 2-вой вывод порта А, на который приходит информация.

Чтение информации из порта */

#define DATAOUT(x) PORTA = (PORTA & ~(0x04)) | (x " 2) /* 2-вой вывод порта А, на который приходит информация. Ввод информации в порт */

#define ATTENTION 236 // Внимание

#define ADDRESS 43 // Адрес

#define READY 252 // Готов

#define BUSY 203 // Занят

#define END_OF_TRANSFER_SEQUENCE 113 // Конец передачи

#define END_OF_RECEIVE 153 // Конец приёма

#define REPEAT_TRANSFER 83 // Повторить передачу

// Символы сигналов связи от Абонента

#define END_OF_WORK 1 // Конец работы

#define TRANSFER_ERROR 2 // Ошибка передачи

// Глобальные переменные

byte frameFromArbiter = 0;

bool abonentStateReceived = false;

bool frameCameFromArbiter = false;

bool AddressCameFromArbiter = false;

bool frameToAbonentWasSent = false;

bool requestToAbonentWasSent = false;

bool stateOfAbonentWasSentToArbiter = false;

bool DataMessageRefered = false;

int abonentState = 0;

// Получаем побитово байт от Арбитра

void ReceiveFrameFromArbiter()

{ static int C2Count = 0;

static bool C1Came = false;

static bool C2Out = true;

if(C1) // Если пришёл сигнал С 1,

{

C1Came = true; // запоминаем что сигнал С 1 приходил

}

if(C1Came) // Если сигнал С 1 приходил

{ if(C2 && C2Out) // Если сигнал С 2 пришёл,

{frameFromArbiter = (frameFromArbiter & ~(1 " C2Count)) | (DATAIN " C2Count); // считываем

очередной бит с информационной линии

/*(1 " C2Count) даст нам байт с единицой, установленной на том бите, который мы должны установить

~(1 " C2Count) инвертирование даст нам байт с нулём, установленным на том бите, который мы должны установить

(frameFromArbiter & ~(1 " C2Count)) даст нам исходный frameFromArbiter с нулём, установленным на том бите, который мы должны установить (DATAIN " C2Count) даст нам бит со значением пришедшим по информационной линии, который установлен в байте на том бите, который мы должны установить Итоговое поразрядное ИЛИ даст нам исходный frameFromArbiter со значением пришедшим по информационной линии, которое установится в frameFromArbiter на номере бита, равном номеру сигнала С 2*/

C2Count++; // Считаем номер пришёдшего сигнала С 2

C2Out = false; // Запоминаем, что С 2 пришёл, но ещё не уходил

}

if(C2Count == 8) // Если пришло 8 сигналов С 2, значит мы приняли целиком байт

{C2Count = 0; // Обнуляем количество сигналов С 2

C1Came = false; // Запоминаем что пришёдший после С 1 байт уже обработан, ждём следующий С 1

C2Out = true;

frameCameFromArbiter = true; // Запоминаем что байт пришёл

}

if(!C2){ // Если сигнал С 2 ушёл

C2Out = true; // Запоминаем, что сигнал С 2 ушёл

}

}

}

// Ждём поступления от Арбитра адреса микроконтроллера

void WaitAddressFromArbiter()

{ DDRA = 0x00; // Указываем микроконтроллеру настроить все выводы на приём информации

bool attentionCame = false;

ReceiveFrameFromArbiter(); // Получить байт от Арбитра

if(frameCameFromArbiter) // Если байт от Арбитра пришёл

{ if(attentionCame) // Если сигнал Внимание уже приходил

{ if(frameFromArbiter == ADDRESS) // И пришедший байт равен адресу микроконтроллера

{AddressCameFromArbiter = true; // Запоминаем, что адрес пришёл

}

attentionCame = false;

}

if(frameFromArbiter == ATTENTION) // Если пришёл байт равный сигналу Внимание

{attentionCame = true; // Запоминаем, что приходил сигнал Внимание

}

frameCameFromArbiter = false; // Записываем, что мы уже обработали пришедший байт

}

}

// Посылаем параллельно байт Абоненту

void SendFrameToAbonent(byte sendFrame)

{ static bool C1Came = false;

if(C1) // Если пришёл сигнал С 1,

{C1Came = true; // запоминаем что сигнал С 1 приходил

}

if(C1Came) // Если сигнал С 1 приходил

{PORTB = sendFrame; // Выдаём на выводы порта B байт

}

if(!C1 && C1Came) // Если сигнал С 1 ушёл и приходил

{ frameToAbonentWasSent = true; // Запоминаем что байт был отослан

C1Came = false;

}

}

// Посылаем Абоненту запрос о его состоянии

void SendToAbonentRequestAboutAbonentState()

{ DDRB = 0xFF; // Указываем микроконтроллеру настроить все выводы порта B на вывод информации

SendFrameToAbonent(READY); // Посылаем байт ГОТОВ Абоненту

if(frameToAbonentWasSent) // Если байт был послан

{requestToAbonentWasSent = true; // Запоминаем, что запрос Абоненту был послан

}

}

// Получаем от Абонента его состояние

void ReceiveFromAbonentAbonentState()

{ DDRB = 0x00; // Указываем микроконтроллеру настроить все выводы порта B на приём информации

static bool C1Came = false;

if(C1) // Если пришёл сигнал С 1,

{C1Came = true; // запоминаем что сигнал С 1 приходил

}

if(C1Came) // Если сигнал С 1 приходил

{abonentState = PINA; // Выдаём на выводы порта B байт

}

if(!C1 && C1Came) // Если сигнал С 1 ушёл и приходил

{ abonentStateReceived = true; // Запоминаем что получили состояние Абонента

C1Came = false;

}

}

// Посылаем Арбитру состояние Абонента

void SendToArbiterAbonentState(byte frame)

{ DDRA = 0x04;

static int C2Count = 0;

static bool C1Came = false;

static bool C2Out = true;

if(C1) // Если пришёл сигнал С 1,

{C1Came = true; // запоминаем что сигнал С 1 приходил

}

if(C1Came) // Если сигнал С 1 приходил

{ if(C2 && C2Out) // Если сигнал С 2 пришёл,

{DATAOUT((frame & (1 " C2Count)) " C2Count); // Записываем очередной бит на информационную линию

C2Count++; // Считаем номер пришёдшего сигнала С 2

C2Out = false; // Запоминаем, что С 2 пришёл, но ещё не уходил

}

if(C2Count == 8)

{C2Count = 0; // Обнуляем количество сигналов С 2

C1Came = false; // Запоминаем что пришёдший после С 1 байт уже обработан, ждём следующий С 1

C2Out = true;

stateOfAbonentWasSentToArbiter = true; // Запоминаем, что состояние Абонента было отослано Арбитру

}

if(!C2){ // Если сигнал С 2 ушёл

C2Out = true; // Запоминаем, что сигнал С 2 ушёл

}

}

}

// Получаем информационное сообщение от Арбитра и пересылаем Абоненту

void ReceiveDataMessageFromArbiterAndReferToAbonent()

{ DDRA = 0x00; // Указываем микроконтроллеру настроить все выводы на приём информации

ReceiveFrameFromArbiter(); // Получить байт от Арбитра

if(frameCameFromArbiter) // Если байт от АРбитра пришёл

{ SendFrameToAbonent(frameFromArbiter); // Посылаем байт Абоненту

frameCameFromArbiter = false; // Запоминаем, что мы обработали байт, пришедший от Арбитра

if(frameFromArbiter == END_OF_TRANSFER_SEQUENCE) // Если пришёдший байт совпадает с символом КОНЕЦ ПЕРЕДАЧИ

{ DataMessageRefered = true; // Запоминаем что информационное сообщение переслали

}

}

}

int main (void)

{ while(1) // Запускаем бесконечный цикл

{ if(!AddressCameFromArbiter) // Если адрес МК ещё не пришёл от Арбитра,

{ WaitAddressFromArbiter(); // ждём

}

if(AddressCameFromArbiter) // Если от Арбитра пришёл адрес МК

{ SendToAbonentRequestAboutAbonentState(); // посылаем Абоненту запрос о его состоянии

if(requestToAbonentWasSent) // Если запрос о состоянии Абонента был послан

{ReceiveFromAbonentAbonentState(); // получаем ответ

}

if(abonentStateReceived) // Если получили состояние Абонента,

{ if(abonentState == END_OF_WORK) // и состояние равно КОНЕЦ РАБОТЫ,

{SendToArbiterAbonentState(READY); // посылаем Арбитру сигнал ГОТОВ

if(stateOfAbonentWasSentToArbiter) // Если состояние Абонента отослалось Арбитру

{ReceiveDataMessageFromArbiterAndReferToAbonent(); // Начинаем

принимать информационное сообщение от Арбитра и пересылать его Абоненту

if(DataMessageRefered) // Если информационное сообщение было отослано

{SendToAbonentRequestAboutAbonentState(); // Посылаем Абоненту

запрос о его состоянии

if(requestToAbonentWasSent) // Если запрос о состоянии Абонента был послан,

{ReceiveFromAbonentAbonentState(); // ждём ответ

}

if(abonentStateReceived) // Если получили состояние Абонента,

{if(abonentState == TRANSFER_ERROR) // Если состояние

Абонента равно ОШИБКА ПЕРЕДАЧИ

{SendToArbiterAbonentState(REPEAT_TRANSFER);

// Посылаем Арбитру сигнал ПОВТОРИТЬ ПЕРЕДАЧУ

}

else // Если ошибки не произошло

{SendToArbiterAbonentState(END_OF_RECEIVE); //

Посылаем Арбитру сигнал КОНЕЦ ПРИЁМА

}

}

}

}

}

else // Если состояние не равно КОНЕЦ РАБОТЫ

{SendToArbiterAbonentState(BUSY); // Посылаем Арбитру, что Абонент ЗАНЯТ

}

}

}

}

}

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

1. Конспект лекций по курсу "Микропроцессоры".

2. Голубцов М.С., Кириченкова А.В. Микроконтроллеры AVR: от простого к сложному. - М.: "Солон-Пресс", 2004.

3. Шпак Ю.А. Программирование на языке C для AVR и PIC микроконтроллеров. - М.: "МК-Пресс", 2006.

4. Фрунзе А.В. Микроконтроллеры? Это же просто! - K.: "Додэка XXI", 2007.

5. Белов А.В. Самоучитель разработчика устройств на микроконтроллерах AVR. - М.: "Наука и техника", 2008.

6. Хартов В.Я. Микроконтроллеры AVR. Практикум для начинающих. -М.: МГТУ им. Н.Э. Баумана, 2007.

7. Джон Мортон Микроконтроллеры AVR. Вводный курс AVR: An Introductory Course. - К.: "Додэка XXI", 2006.

8. Евстифеев А.В. Микроконтроллеры AVR семейства Tiny. Руководство пользователя. - К.: Додэка XXI, 2007.

Размещено на Allbest.ru

...

Подобные документы

  • Особенности микроконтроллера ATTINY семейства AVR. Описание ресурсов микроконтроллера ATTINY12: описание процессора, порты ввода/вывода, периферийные устройства, архитектура ядра. Разработка устройства со световыми эффектами на базе микроконтроллера.

    курсовая работа [2,1 M], добавлен 24.06.2013

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

    дипломная работа [802,4 K], добавлен 25.04.2015

  • Разработка принципиальной схемы и описание работы контроллера клавиатуры/дисплея КР580ВД79. Схема сопряжения микроконтроллера с фотоимпульсным датчиком. Расчет потребляемого тока от источника питания. Блок-схема программы вывода информации на индикацию.

    курсовая работа [736,9 K], добавлен 18.02.2011

  • Разработка микроконтроллера для контроля ритма дыхания больного в реанимационной палате. Структурная и принципиальная схемы микропроцессорного контроллера. Модули процессора, памяти, ввода и вывода, режимы индикации. Описание работы, принципиальная схема.

    курсовая работа [197,6 K], добавлен 06.12.2013

  • Функциональная спецификация, описание объекта, структура системы и ресурсов микроконтроллера. Ассемблирование, программирование микроконтроллера и разработка алгоритма работы устройства, описание выбора элементной базы и работы принципиальной схемы.

    курсовая работа [2,2 M], добавлен 02.01.2010

  • Схема линии связи и подключения абонентов. Ведение передачи информации в последовательном коде. Использование интерфейсного модуля-контроллера связи для ее реализации. Схема микроконтроллера, описание работы портов. Создание проекта в AVR Studio.

    контрольная работа [82,6 K], добавлен 24.02.2014

  • Техническая характеристика микроконтроллера ADuC812 – интегральной 12-разрядной системы сбора информации, включающей в себя прецизионный многоканальный АЦП с самокалибровкой, два 12-разрядных ЦАП. Описание алгоритма работы устройства и листинг программы.

    курсовая работа [442,3 K], добавлен 25.12.2012

  • Алгоритм функционирования контроллера имитатора навигационного сигнала, его упрощенная структурная схемы. Спецификация входных и выходных сигналов. Разработка аппаратной части заданного блока контроллера и программного обеспечения. Исходный код программы.

    курсовая работа [1,1 M], добавлен 13.10.2017

  • Разработка программно-аппаратного комплекса (микропроцессорного контроллера) для тестирования интегральных микросхем. Функциональный контроль по принципу "годен" - "не годен". Параметры микроконтроллера КМ1816ВЕ51. Блок-схема алгоритма работы контроллера.

    курсовая работа [307,1 K], добавлен 16.07.2009

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

    курсовая работа [1,1 M], добавлен 26.12.2012

  • Характеристика микропроцессора Z80, его достоинства и система команд. Проектирование интерфейса, структурной схемы и алгоритма работы управляющей микро-ЭВМ. Разработка модулей памяти, генератора тактового импульса, контроллера, ввода/вывода и индикатора.

    курсовая работа [1,7 M], добавлен 17.02.2014

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

    курсовая работа [318,8 K], добавлен 14.06.2011

  • Структурная схема цифрового термометра. Выбор микропроцессорного комплекта. Описание и расчет схемы электрической принципиальной. Нагрузочная способность портов ввода/вывода. Сопротивления делителя напряжения. Программирование в готовом устройстве.

    курсовая работа [139,4 K], добавлен 30.08.2012

  • Структурная схема устройства управления. Алгоритм работы микроконтроллера в его составе. Строение центрального процессорного элемента – микроконтроллера AVR семейства Classic. Принципиальная схема устройства, расчет временных параметров ее работы.

    курсовая работа [636,5 K], добавлен 03.12.2013

  • Разработка специализированного контроллера, обеспечивающего контролируемый доступ к персональному компьютеру по определенным ключам доступа. Выбор типа электронного ключа Touch Memory и микропроцессора АТ89S8252 серии MSC-51. Описание работы устройства.

    курсовая работа [799,5 K], добавлен 23.12.2012

  • Преобразование релейно-контактной схемы управления механизмом подъема крана с использованием силового кулачкового контроллера ККТ 69А. Условие работы установки: датчики, режимы работы, требования к защите и сигнализации, виды управления установкой.

    курсовая работа [992,6 K], добавлен 09.04.2012

  • Обзор характеристик контроллера по сбору аналоговой информации и преобразовании ее в цифровую, типы корпусов и исполнений, функциональное назначение выводов. Описание регистров PIC, тактовых генераторов. Система команд, блок ввода аналоговых данных.

    курсовая работа [338,0 K], добавлен 05.09.2011

  • Структурная схема микропроцессорного устройства для определения частоты сигнала. Выбор микроконтроллера, описание алгоритма нахождения частоты. Алгоритм работы программы управления микропроцессорным устройством. Программа работы микропроцессора.

    курсовая работа [605,7 K], добавлен 24.11.2014

  • Разработка микропроцессорной системы на основе микроконтроллера, основные этапы и особенности данного процесса. Принципы работы шагового двигателя. Аппаратные средства микроконтроллеров серии AT90S2313. Расчет стоимости сборки и отладки устройства.

    дипломная работа [1,4 M], добавлен 11.07.2010

  • Алгоритм работы схемы микропроцессорного устройства и протокол обмена информацией между ним и объектом управления. Составление карты памяти для микропроцессора. Разработка программы на языке Ассемблера для выбранного микропроцессора и микроконтроллера.

    контрольная работа [207,8 K], добавлен 29.06.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.