90438

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

Курсовая

Коммуникация, связь, радиоэлектроника и цифровые приборы

Описание элементов системы Описание объекта управления Описание микроконтроллера Atmega 128 Описание системы индикации Светодиоды Семисегментный индикатор Кнопки Алгоритм управления и исследуемого режима работы Формализация задачи и кодирование входных и выходных сигналов...

Русский

2015-06-06

334 KB

10 чел.

Содержание

Введение                                                                                            5

Описание элементов системы                                                                      6

Описание объекта управления                                                           6

Описание микроконтроллера Atmega 128                                        6

Описание системы индикации                                                         13

Светодиоды                                                                             13

Семисегментный индикатор                                                  14

Кнопки                                                                                                14

Алгоритм управления и исследуемого режима работы                          14

Формализация задачи и кодирование входных и вых сигналов            15

Заключение                                                                                                  15

Используемая литература                                                                          15

Приложение 1 Программа управления объектом ___________________16

Введение

Исследование режима торможения противовключения до полной остановки.

Объект: «Двигатель постоянного тока с независимым возбуждением»

Цель: исследовать режим торможения до полной стадии остановки двигателя постоянного тока с независимым возбуждением; пульт оператора представляет из себя матричную клавиатуру 3х8 и содержит 1 кнопку на 2 положения, 9 светодиодов и семисегментный индикатоа.

В данной курсовой работе было спроектировано устройство управления двигателем постоянного тока с независимым возбуждением содержащее:

  •   Микроконтроллер Атmega128 (Atmel)
  •   1 кнопка на клавиатуре
  •   9 светодиодов
  •   Семисегментный индикатор

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

 


Описание элементов системы

 

 Описание объекта управления

Электродвигатель постоянного тока (ДПТ) — электрическая машина постоянного тока, преобразующая электрическую энергию постоянного тока в механическую энергию.

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

        В данном курсовом проекте рассматривается только двигатель постоянного тока с независимым возбуждением. Для запуска двигателя подают напряжение  на обмотку возбуждения и на якорь (замкнуть ключи К1 и К2).

 

 В устройстве преобразования сигналов аналоговые сигналы к1, к2, к3, V1 преобразовываются в цифровые к11, к22, к33, V11.

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

      К2        К2

     К3          К3

      К1         К1

Рисунок 1 – Схема  подключения двигателя

Описание исследуемого режима

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

Существуют два вида торможения противовключением для ДПТ НВ.

1. При активном статическом моменте, когда в цепь якоря вводят большое добавочное сопротивление R1 . Ток якоря в этом случае уменьшается, момент двигателя М становится меньше статического момента М и двигатель начинает снижать обороты, а затем под влиянием М реверсируется и разгоняется в направлении, противоположном действию момента двигателя (рис.2, прямая вг). 

Рис.2. Механические характеристики ДПТ НВ при торможении

противовключением

Ток в режиме торможения противовключением по мере снижения оборотов увеличивается, поскольку с изменением направления вращения ω< 0  э. д. с. изменит свой знак (участок вг) и будет действовать согласно с напряжением сети, вследствие чего ток станет равным Iя = (Uн+Е)/Rяц  и растет до значения, при котором тормозной момент достигает величины М. Наступит установившийся режим торможения при -ωе. )

2. При реактивном статическом моменте торможение противовключением получают путем изменения полярности напряжения на зажимах якоря. В этом случае ток Iя = (-Uн-Е)/Rяц меняет свое направление и момент двигателя становится тормозным. Для ограничения тока при торможении противовключением по условиям коммутации или допустимым ускорениям включают добавочное сопротивление в цепь якоря. Тогда уравнение ЭМХ двигателя в режиме торможения противовключением получим из уравнения () и после подстановки в него -Uн получим

ω =- ωо- Iя*Rяц/(К*Фн)

Характеристика проходит через wо и wс (рис.2).

Если при ω = 0; Мc1 < Мк, то двигатель изменит направление вращения (реверс) и станет вращаться с частотой ωс1 .

Если при  ω = 0, Мc1 > Мк , то якорь двигателя будет обтекаться током, оставаясь в неподвижном состоянии, поскольку ток якоря Iя меньше Iс.

Сравнение энергетических показателей динамического торможения и торможения противовключением показывает, что потери электроэнергии в якорной цепи в режиме противовключением относятся к потерям при динамическом торможении, как 3:1, а при реверсе – 4:1.


Описание микроконтроллера ATmega 128

 

К числу особенностей микроконтроллера относятся

  •  FLASH-память программ объемом 128 Кбайт (число циклов стирания/записи не менее 1000);
  •  оперативная память (статическое ОЗУ) объемом 4 Кбайт
  •  память данных на основе ЭСППЗУ (EEPROM) объемом 4 Кбайт (число циклов стирания/записи не менее 100000);
  •  возможность защиты от чтения и модификации памяти программ и данных;
  •  возможность программирования непосредственно в системе через последовательные интерфейсы SPI и JTAG;
  •  возможность самопрограммирования;
  •  возможность внутрисхемной отладки в соответствии со стандартом IEEE 1149.1 (JTAG);
  •  различные способы синхронизации: встроенный RC-генератор с внутренней или внешней времязадающей RC-цепочкой или с внешним резонатором; внешний сигнал синхронизации;
  •  наличие нескольких режимов пониженного энергопотребления;
  •  наличие детектора снижения напряжения питания
  •  возможность программного снижения частоты тактового генератора.

Характеристики процессора

  •  полностью статическая архитектура; минимальная тактовая частота равна нулю;
  •  АЛУ подключено непосредственно к регистрам общего назначения;
  •  большинство команд выполняется за один машинный цикл;
  •  многоуровневая система прерываний; поддержка очереди прерываний;
  •  наличие програмного стека;
  •  наличие аппаратного умножителя.

Характеристики подсистемы ввода/вывода

  •  программное конфигурирование и выбор портов ввода/вывода;
  •  

выводы могут быть запрограммированы как входные или как выходные независимо друг от друга;

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

Периферийные устройства

  •  8-разрядные таймеры/счетчики (таймеры Т0 и Т2)
  •  16-разрядные таймеры/счетчики (таймеры Т1 и Т3)
  •  сторожевой таймер WDT
  •  генераторы сигнала с ШИМ разрядностью 8 бит (один из режимов работы 8-разрядных таймеров/счетчиков Т0 и Т2)
  •  одно- двух- и трехканальные генераторы сигнала с ШИМ регулируемой разрядности (один из режимов работы 16-разрядных таймеров/счетчиков Т1 и Т3)
  •  аналоговый компаратор
  •  многоканальный 10-разрядный АЦП, как с несимметричными, так и с дифференциальными входами
  •  полнодуплексный универсальный синхронный/асинхронный приемопередатчик (USART)
  •  последовательный синхронный интерфейс SPI
  •  последовательный двухпроводный интерфейс TWI

 

Архитектура ядра

Ядро микроконтроллера выполнено по усовершенствованной RISC-архитектуре. Арифметико-логическое устройство, выполняющее все вычисления, подключено непосредственно к 32 регистрам общего назначения. Благодаря этому АЛУ выполняет одну операцию за один машинный цикл. Практически каждая из команд (за исключением команд, у которых одним из операндов является 16-разрядный адрес) занимает одну ячейку памяти программ.

Для повышения быстродействия в ядре используется технология конвейеризации. Конвейеризация заключается в том, что во время исполнения текущей команды производится выборка из памяти и дешифрация кода следующей команды. На рис3.2 изображен корпус микроконт-ра ATmega128.

Рисунок 3.2 – Расположение выводов микроконтроллера Atmega128

 Port A (PA7..PA0), Port B (PB7..PB0), Port C (PC7..PC0), PortD(PD7..PD0). 8-разрядные двунаправленные порты со встроенными нагрузочными резисторами. Выходные буферы обеспечивают ток 20 мА.

RESET. Вход сброса. Для выполнения сброса необходимо удерживать низкий уровень на входе более 50 нс.

XTAL1, XTAL2. Вход и выход инвертирующего усилителя генератора тактовой частоты.

WR, RD. Стробы записи и чтения внешней памяти данных.

ALE. Строб разрешения фиксации адреса внешней памяти. Строб ALE используется для фиксации младшего байта адреса с выводов AD0-AD7 в защелке адреса в течение первого цикла обращения. В течение второго цикла обращения выводы AD0-AD7 используются для передачи данных.

AVCC. Напряжение питания аналого-цифрового преобразователя. Вывод подсоединяется к VCC через низкочастотный фильтр.

AREF. Вход опорного напряжения для аналого-цифрового преобразователя. На этот вывод подается напряжение в диапазоне между AGND и AVCC.

AGND. Это вывод должен быть подсоединен к отдельной аналоговой земле, если она есть на плате. В ином случае вывод подсоединяется к общей земле.

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

VСС, GND. Напряжение питания и земля

 

Организация памяти

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

Обобщенная карта памяти микроконтроллера приведена на рис. 3.3

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

Рисунок 3.3 – Обобщенная карта памяти микроконтроллера

Память программ представляет собой электрически стираемое ППЗУ (FLASH-ПЗУ). В связи с тем, что длина всех команд кратна одному слову (16 бит), память программ имеет 16-разрядную организацию. Логически память программ разделена на две части – область прикладной программы и область загрузчика. В последней может располагаться специальная программа, позволяющая микроконтроллеру самостоятельно управлять загрузкой и выгрузкой прикладных программ.

Для адресации памяти программ используется счетчик команд (PCProgram Counter). Размер счетчика команд составляет 16 разрядов.

По адресу $0000 памяти программ находится вектор сброса. После Инициализации микроконтроллера выполнение программы начинается с этого адреса. Начиная с адреса $0002 памяти программ, располагается таблица векторов прерываний.

 Если прерывания в программе не используются либо таблица векторов прерываний располагается в области загрузчика, то программа может начинаться непосредственно с адреса $0001.

Регистр RAMPZ расположен по адресу $3B($5B) в памяти данных.

 FLASH-ПЗУ, используемое в микроконтроллере ATmega, расчитанно как минимум на 1000 циклов стирания/записи.

 Память данных.

Память данных микроконтроллера разделена на три части: регистровая память оперативная память (статическое ОЗУ) и энергонезависимое ЭСППЗУ (EEPROM).

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

В области регистров ввода/вывода располагаются служебные регистры, а также регистры управления периферийными устройствами, входящими в состав микроконтроллера.

 

 Регистры общего назначения

В микропроцессоре ATmega 128 все 32 регистра общего назначения непосредственно доступны АЛУ. Благодаря этому любой регистр общего назначения может использоваться во всех командах и как операнд источник и как операнд приемник. Такое решение (в сочетании с конвейерной обработкой) позволяет АЛУ выполнять одну операцию за один машинный цикл.

Последние шесть регистров общего назначения могут также объединяться в три 16-разрядных регистра X, Y, и Z, используемых в качестве указателей при косвенной адресации памяти данных.

Каждый регистр имеет свой собственный адрес в памяти данных.

Регистры ввода/вывода

Все регистры ввода/вывода можно разделить на две группы – служебные регистры и регистры, относящиеся к конкретным периферийным  устройствам.

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

Таблица 3.1 -  Размещение в памяти регистров ввода/вывода

Название

Адрес

Функция

SREG

$3F($5F)

Регистр состояния

SPH

$3E($5E)

Указатель стека, старший байт

SPL

$3D($5D)

Указатель стека, младший байт

TCCR0

$33($53)

Регистр управления таймером/ счетчиком Т0

TCNT0

$32($52)

Счётный регистр таймера/ счетчика Т0

PORTA

$1B($3B)

Регистр данных порта А

DDRA

$1A($3A)

Регистр направления данных порта А

         PINA,B,C,D

$19($39)

Выводы порта А,B,C,D

         PORTB,C,D

$18($38)

Регистр данных порта В,C,D

DDRB,C,D

$17($37)

Регистр направления данных порта В,C,D

ADMUX

$07($27)

Регистр управления мультиплексором АЦП

ADCSRA

$06($26)

Регистр управления и состояния АЦП

ADCH

$05($25)

Регистр данных АЦП, старший байт

Прерывания

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

Таблица векторов прерываний

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

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

Распределение адресов таблицы векторов прерываний, используемых в курсовой работе, приведено в таблице 3.2.

Таблица 3.2 -  Распределение адресов таблицы векторов прерываний

№ п.п.

Адрес

Источник

Наименование

1

$0000

RESET

Сброс по сигналу Reset, включению питания и сторожевому таймеру

2

$002A

ADC

Завершение преобразования от АЦП

  1.  Описание системы индикации

 3.3.1 Светодиоды

Для отображения двух состояний обычно используют светодиоды. В системе имеется два светодиода 32Ж40-К4-П2, имеющих следующие характеристики:  

Цвет свечения – красный; длина волны – 625 нм; максимальная сила света – 100 мКд; видимый телесный угол – 40 град; максимальное прямое напряжение – 12 В; рабочая температура – -60...85 С

 3.3.2 Семисегментный индикатор

Для отображения информации так же используется индикатор CC04-41SRWA.

Характеристики индикатора

  •    Длина волны – 640 нм; минимальная сила света – 8 мКд; максимальная сила света – 18 мКд; количество сегментов – 7; количество знакомест –3; высота знака – 10.16 мм; максимальное прямое напряжение – 2.5 В

; максимальное обратное напряжение – 5 В; максимальный прямой ток – 30 мА

 3.4 Кнопки

В системе используется 6 кнопок типа B170G, имеющих следующие характеристики:

  •    Фиксации нет; сопротивление изолятора – не менее 100 Мом; сопротивление контактов – не более 0.05 Ом; рабочее напряжение – 30 В; предельное напряжение – 250В переменного тока в течение 1 мин; рабочий ток 0.1 А

 

4. Алгоритм управления и исследуемого режима работы

Для запуска двигателя подают напряжение на обмотку возбуждения и на якорь. На обмотке возбуждения установлен ключ K2, позволяющий производить выключение и выключение всего объекта.

При нажатии кнопки PE3 открывается ключ K1, таким образом производя включение двигателя постоянного тока. Открытие ключа K2выключает двигатель постоянного тока. Когда двигатель постоянного тока вращается с максимальной скоростью, загорается светодиод D8.

5 Формализация задачи и кодирование входных и выходных сигналов

Если требуется управление двигателем с очень малой инерционностью, то усилительное звено, используемое при передачи управления объектом по напряжению, может быть заменено апериодическим (инерционным) звеном для сглаживания дискретного сигнала.

Краткое описание принципиальной электрической схемы

. Выходные каналы на объект управления подключаются к порту E (PE4 – сигнал выключения объекта, PE3 – сигнал включения объекта). Входной канал с тахогенератора подключается к каналу PF0 порта F (для последующей аналогово-цифровой обработки). 24 кнопоки и восемь светодиодов подключены к портам А-B (PA0-PA5, PB0-PB3 для кнопок),  кпортам С (PC0-PC7 для светодиодов). Эти кнопки не несут функционального назначения, но происходит их опрос и при нажатии кнопки на индикаторе отображается восьмёрка с точкой в знакоместе, соответсвующемномеру нажатой кнопки. Линии данных семисегментного индикатора подключены к порту C (PD0-PC7), линии управления подключены к порту E (PE0-PE2).


6 Заключение

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

 


7 Используемая литература

1 . Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL 

А. В. Евстифеев. Москва Издательский дом «Додэка-XXI» 2010г.

2 . Микроконтроллеры Ю.В. Рамин Москва 2012г.

3 . www.dipchip.ru

4. www.atmel.ru


Приложение 1

Текст программы, реализующей управление
объектом по каналам через УСО

.device ATmega128

.include "m128def.inc"

.def s = R1

.def cnt = R20

.def temp = R18

.equ S1 = 32

.equ S2 = 96

.equ S3 = 176

.equ   S4 = 255

.equ razr1 =PD6

.equ razr2 =PD7

.equ  row1 =PB0

.equ  row2 =PB1

.equ  row3 =PB2

.equ  row4 =PB3

.equ col1 =PA0

.equ col2 =PA1

.equ col3 =PA2

.equ col4 =PA3

.equ     col5 =PA4

.equ col6 =PA5

.equ seg =r0

.org 0x0000    ; Сброс

rjmp Start

.org 0x002A   ; Завершение обработки с АЦП

 rjmp GetSpeed

; Основная программа (инициализация)

Start: ldi R16,High(RAMEND) ; Инициализация стека

out SPH,R16

ldi R16,Low(RAMEND)

out SPL,R16

cli

ldi R16,(1<<ADPS1)|(1<<ADPS2)|(1<<ADEN)|(1<<ADIE)|(1<<ADFR)

 out ADCSRA,R16  ; Включение АЦП, деление 64,

    ; автоматическая работа,

    ; разрешение прерывания

 ldi R16,(1<<ADLAR)

out ADMUX,R16  ; Левосторонний формат

                       sei

sbi ADCSRA,ADSC ; Запуск первого преобразования с АЦП

in R16,PORTA  ; Настройка порта светодиодов на выход

 sbr R16,(1<<PORTA.5)|(1<< PORTA.6) ; для них

out PORTA,R16

in R16, PORTA  ; Настройка порта кнопок на вход для них

cbr R16,(1<<PORTA.0)|(1<< PORTA.1)|(1<< PORTA.2)|(1<< PORTA.3)|(1<< PORTA.4)

out PORTA,R16

 ldi R16,0xFF  ; Настройка порта данных индикатора

 out PORTC,R16  ; на выход

 in R16,PORTD  ; Каналы управления индикатором на выход

 sbr R16,(1<< PORTD.0)|(1<< PORTD.1)|(1<< PORTD.2)

out PORTD,R16

in R16, PORTE  ; Канал ключа K2 на выход

sbr R16,(1<< PORTE.5)

out PORTE,R16

Loop: rcall ButProc  ; Обработка нажатия кнопок

rcall ShowIndi  ; Обработка индикатора

rjmp Loop

; Прерывание для обработки значений с АЦП

; и разгона двигателя в 3 ступени

GetSpeed:

in s, sreg

push   temp  ; Сохранить регистр в стеке

sbi PORTE,5  ; Установить бит в регистр

in temp, ADCH ; считывание результата преобразования

SRAV1:  ; ссылка на 2 скорость

cpi temp,S1

Breq GetSpeed2

 

SRAV2:

cpi temp,S2  

breq GetSpeed3   

SRAV3:

cpi temp,S3

breq GetSpeed4

SRAV4:

Cpi temp,S4

Breq GetSpeedEND

GetSpeed2:

sbi PORTE,6  

Ldi temp, ADCH ; Переход ко второй ступени

 Rjmp SRAV2

GetSpeed3:

sbi PORTE,7  

Ldi temp, ADCH ; Переход к третьей ступени

 Rjmp SRAV3

 GetSpeed4:

 pop temp ; Выгрузить регистр из стека

 out sreg, s

reti

GetSpeedEND

;===================================================================

Подпрограмма индикации

;инициализация

;===================================================================

Ldi temp,oxff    ;настройка порта С на вывод

Out ddrc, temp

Ldi temp,oxof   ;настройка порта С на вывод

Out ddrd, temp

Ldi count,4    ; начинаем с крайнего левого

M1:  cpi count,4

Brne M2

Ldi PORTD,7

Rcall vkl

Dec count

Rjmp M5

M2:  cpi count,3

Brne M3

Ldi PORTD,4

Rcall vkl

Dec count

Rjmp M5

M3:  cpi count,2

Brne M4

Ldi PORTD,2

Rcall vkl

Dec count

Rjmp M5

M4:  cpi count,1

Brne M5

Ldi PORTD,1

Rcall vkl

Dec count

Rjmp M5

M5:  cpi count,0

Breq M6   ; если равно

ret

M6:  ldi count,4

ret

Vkl:  ldi temp,0xff

Out PORTE, temp

ret

;===================================================================

;Вывод показаний на индикатор из регистров dig1 и dig2

;===================================================================

Display:

mov temp,dig1

rcall _rd_tbl

cbi PORTD,razr1

rcall _deley

sbi PORTD,razr1

mov temp,dig2

rcall _rd_tbl

cbi PORTD,razr2

rcall _deley

sbi PORTD,razr2

 

 ret

;===================================================================

;Подпрограмма перекодировки значения в семисегментный код

;===================================================================

_rd_tbl:

ldi ZH,High(seg_table*2) ;загpужаем указатель на таблицу

 ldi ZL,Low(seg_table*2)

add ZL,temp   ;вычисляем адpес

lpm   ;читаем байт в r0

 out seg,r0 ;включаем нужные сегменты

ret

;===================================================================

;Подпрограмма сканирования клавиатуры

;===================================================================

Keyboard:

 cbi PORTB,row1

rcall del_key

in temp,kbd

sbi PORTB,row1

com temp

cbr temp,$8F

breq _row2

RCALL DEL1

RCALL WAIT

sbr temp,(1<<row1)

rjmp _ret_kbd

_row2:

cbi PORTB,row2

rcall del_key

in temp,kbd

sbi PORTB,row2

com temp

cbr temp,$8F

breq _row3

RCALL DEL1

RCALL WAIT

sbr temp,(1<<row2)

rjmp _ret_kbd

_row3:

cbi PORTB,row3

rcall del_key

in temp,kbd

sbi PORTB,row3

com  temp

cbr temp,$8F

breq _row4

RCALL DEL1

RCALL WAIT

sbr temp,(1<<row3)

rjmp _ret_kbd

_row4:

cbi PORTB,row4

rcall del_key

in temp,kbd

sbi PORTB,row4

com temp

cbr temp,$8F

breq _no_key

RCALL DEL1

RCALL WAIT

sbr temp,(1<<row4)

_ret_kbd:

; cp temp,scan_kbd

breq _no_key

; mov scan_kbd,temp

rcall key_det

RCALL DEL1

mov dig1,dig2

mov dig2,dig3

mov dig3,temp

ret

_no_key:

 ret

;===================================================================

;Подпрограмма задержки для клавиатуры

;===================================================================

del_key:

ldi deley,5

_del_key1:

dec deley

brne _del_key1

ret

;===================================================================

; инифиализация диодов 

;===================================================================

Diod:

in temp,PINE

cp r27,temp

breq kn

cbr temp,$E7

mov r27,temp

com temp

breq kn

cpi temp,$08

brne off

cbi PORTE,PE5

cbi PORTC,PC7

cbi PORTC,PC6

cbi PORTC,PC5

ldi dig3,1

rcall display

rcall zader

cbi PORTE,PE6

cbi PORTC,PC4

cbi PORTC,PC3

cbi PORTC,PC2

ldi dig3,2

rcall display

rcall zader

cbi PORTE,PE7

cbi PORTC,PC1

cbi PORTC,PC0

ldi dig3,3

rcall display

rcall zader

ret

;===================================================================

;Таблица констант в памяти программ

;===================================================================

seg_table:

.db $C0,$F9,$A4,$B0,$99,$92,$82,$F8,$80,$90,$88,$83,$C6,$A1,$86,$8E,$FF

.EXIT

;===================================================================


 

А также другие работы, которые могут Вас заинтересовать

74540. HTTP. HyperText Transfer Protocol - протокол передачи гипертекста 17.41 KB
  HyperText Trnsfer Protocol протокол передачи гипертекста протокол прикладного уровня передачи данных. HTTP используется также в качестве транспорта для других протоколов прикладного уровня таких как SOP XMLRPCWebDV. Особенностью протокола HTTP является возможность указать в запросе и ответе способ представления одного и того же ресурса по различным параметрам: формату кодировке языку и т. Именно благодаря возможности указания способа кодирования сообщения клиент и сервер могут обмениваться двоичными данными хотя данный...
74541. WWW. World Wide Web 14.77 KB
  Годом рождения Всемирной паутины считается 1989 год. Именно в этом году Тим БернерсЛи предложил общий гипертекстовый проект который получил впоследствии название Всемирной паутины. Создатель паутины Тим БернесЛи работая в лаборатории физики элементарных частиц европейского центра ядерных исследований CERN В Женеве Швейцария совместно с партнером Робертом Кайо занимались проблемами применения идей гипертекста для построения информационной среды которая упростила бы обмен информацией между физиками. Итогом данной работы явился...
74546. Программирование. Языки программирования низкого и высокого уровней 25.55 KB
  Языки программирования низкого уровня Первым компьютерам приходилось программировать двоичными машинными кодами. Для упрощения этой задачи стали появляться языки программирования низкого уровня которые позволяли задавать машинные команды в более понятном для человека виде. Примером языка низкого уровня является ассемблер. Языки низкого уровня ориентированы на конкретный тип процессора и учитывают его особенности поэтому для переноса программы на ассемблере на другую аппаратную платформу ее нужно почти полностью переписать.
74547. Unix 16.31 KB
  Именно в 1969 году была создана первая Unix система компанией TT и торговая марка Unix по праву теперь принадлежит этой компании. Unix – это многопользовательская многотерминальная операционная система которая в силе выполнять множество задач как под Вашим чутким руководством так и без. Существует целое семейство так называемых Unix подобных систем которые в большинстве случаев могут быть совместимы друг с другом на уровне исходных текстов программ. Все пользователи операционной системы Linux а именно потому что имеем возможность...