Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Сбои в лабораторном комплексе и их устранение



Основным сбоем в работе лабораторного комплекса является отсутствие связи ПЭВМ с рабочими местами. Об этом на рабочем месте сигнализирует загорание красного светодиода " Запрет обмена" блока управления.
Если появился сигнал " Запрет обмена", а нужно осуществлять набор и редактирование программы, то для восстановления связи с ПЭВМ необходимо проверить следующее:

– убедиться, что переключатель режима работы блока связи с ПЭВМ стоит в положении " Программирование";
– убедиться, что на рабочих местах переключатели режима работы стоят в положении " Программирование";
– убедиться, что кабель " Порт COM2 – блок связи с ЭВМ" подключен правильно;

Если все указанные переключатели стоят в требуемых положениях и подключен порт COM2 к блоку связи с ЭВМ, но по-прежнему нет связи рабочих мест с ПЭВМ, то следует выключить питание всех элементов комплекса. Затем включить блок питания лабораторного комплекса. Нажимая последовательно на каждом рабочем месте кнопку " Сброс" блока управления, убедиться что нет рабочих мест с одинаковыми номерами. На всех блоках управления горят светодиоды " Запрет обмена". Включить питание ПЭВМ. В подкаталоге SERVER запустить файл server.bat и обеспечить восьмиоконный режим работы монитора, светодиоды " Запрет обмена" на блоках управления рабочих мест должны погаснуть.

Если описанные действия не дают положительного результата, то следует отключить все кабели рабочих мест от блока связи с ЭВМ. Подключить к блоку связи кабель одного рабочего места. Проверить есть ли связь с ПЭВМ этого единственного места. Если нет, то, возможно, что неисправен кабель этого рабочего места. Отключить его и аналогично, подключая кабели других рабочих мест к блоку связи с ЭВМ, проверить исправность их кабелей. Неисправность кабеля хотя бы одного рабочего места приводит к отсутствию связи рабочих мест с ПЭВМ. Если же все блоки управления ведут себя одинаково, то причина не в кабелях рабочих мест.
Возможна неисправность кабеля " Порт COM2 - блок связи с ЭВМ". Проверьте его исправность и надежность контактов в его разъемах. Следующей причиной отсутствия связи может быть выход из строя элемента MAX232 мультиплексорного блока в блоке связи с ЭВМ. Он установлен на контактной панельке. Замените этот элемент.

Если обмен с ПЭВМ есть, но какое-то рабочее место ведет себя неадекватно, например, при нажатии кнопки " Сброс" появляется номер рабочего места не в левом верхнем углу ЖКИ, а где-то в середине, то, не отключая питание комплекса, отключите и включите вновь кабель блока управления этого рабочего места. Нажмите кнопку " Сброс" этого рабочего места. Номер рабочего места должен высвечиваться на положенном ему месте. Иногда эту операцию нужно повторить несколько раз, или при отключении рабочего места подождать несколько секунд и подключить его.

Система команд микроконтроллеров семейства AVR

 

3. Система команд микроконтроллеров семейства AvR

Таблица 3.1. Арифметические и логические команды

Мнемо-ника Операнды Описание Операция Флаги Кол-во циклов
ADD Rd, Rr 0< =d< =31 0< =r< =31 Сложить без переноса Rd < -Rd + Rr Z, C, N, v, H
ADC Rd.Rr 0< =d< =31 0< =r< =31 Сложить с переносом Rd < - Rd + Rr+ С Z, C, N, v, H
ADIW Rd, K dE{24, 26, 28, 30} 0< =K< =63 Сложить непосредственное значение со словом Rdh: Rdl< -Rdh: Rdl+ К Z, C, N, v
SUB Rd, Rr 0< =d< =31 0< =r< =31 Вычесть без заема Rd < - Rd – Rr Z, C, N, v, H
SUBI Rd, К 16< =d< =31 0< =K< =255 Вычесть непосредственное значение Rd < - Rd – К Z, C, N, v, H
SBC Rd, Rr 0< =d< =31 0< =r< =31 Вычесть с заемом Rd< --Rd-Rr-C Z, C, N, v, H
SBCI Rd, К 16< =d< =32 0< =K< =255 Вычесть непосредственное значение с заемом Rd< --Rd-K-C Z, C, N, v, H
SBIW Rd, К dE{24, 26, 28, 30} О< =К< =бЗ Вычесть непосредственное значение из слова Rdh: Rdl< --Rdh: Rdl-K Z, C, N, v
AND Rd, Rr 0< =d< =31 0< =r< =31 Выполнить логическое AND Rd < -- Rd * Rr Z, N, v
ANDI Rd, К 16< d< 31 0< k< =255 Выполнить логическое AND Rd < -- Rd * К Z, N, v
OR Rd, Rr 0< =d> =31 0< =r< =31 Выполнить логическое OR Rd < --Rd v Rr Z, N, v
ORI Rd, К 16< =d< =31 0< =K< =255 Выполнить логическое OR с непосредственным значением Rd < --Rd v К Z, N, v
EOR Rd, Rr 0< =d< =31 0< =г< =31 Выполнить исключающее OR Rd < --Rd Rr Z, N, v
СОМ Rd 0< =d< =31 Выполнить дополнение до единицы Rd< --SFF-Rd Z, C, N, v
NEG Rd 0< =d< =31 Выполнить дополнение до двух Rd < -- S00 - Rd Z, C, N, v, H
SBR Rd, К 16< =d< =31 0< =K< =255 Установить биты в регистре Rd < -- Rd v К Z, N, v

 

 

Мнемо­ника Операнды Описание Операция Флаги Кол-во циклов
CBR Rd, К 16< =d< =31 O< =K< =255 Очистить биты в регистре Rd < --Rd * (SFF - К) Z, N, v
INC Rd 0< =d< =31 Инкрементировать Rd < --Rd + 1 Z, N, v
DEC Rd 0< =d< =31 Декрементировать Rd < -- Rd - 1 Z, N, v
TST Rd 0< =r< =31 Проверить на ноль или минус Rd< --Rd.Rd Z, N, v
CLR Rd 0< =d< =31 Очистить регистр Rd < -- Rd (+) Rd Z, N, v
SER Rd 16< =d< =31 Установить все биты регистра Rd < --SFF нет
CP Rd, Rr 0< =d< =31 0< =r< =31 Сравнить Rd-Rr Z, C, N, v, H
CPC Rd, Rr 0< =d< =31 0< =r< =31 Сравнить с учетом переноса Rd-Rr-C Z, C, N, v, H
CPI Rd, К 16< =d< =31 0< =K< =255 Сравнить с константой Rd-K Z, C, N, v, H

Таблица 3.2. Команды сдвигов и операций с битами

Мнемо­ника Операн­ды Описание Операция Флаги Кол-во циклов
LSL Rd 0< =d< =31 Логически сдвинуть влево Rd(n+1)< --Rd(n), Rd(0)< --0, C< --Rd(7) Z, C, N, v, H
LSR Rd 0< =d< =31 Логически сдвинуть вправо Rd(n)< --Rd(n+1), Rd(7) < --0, C< --Rd(0) Z, C, N, v
ROL Rd 0< =d< =31 Сдвинуть влево через перенос Rd(0) < --C, Rd(n+1)< --Rd(n), C< --Rd(7) Z, C, N, v, H
ROR Rd 0< =d< =31 Сдвинуть вправо через перенос Rd(7) < --C, Rd(n)< --Rd(n+1), C < -- Rd(0) Z, C, N, v
ASR Rd 0< =d< =31 Арифметически сдвинуть вправо Rd(n)< --Rd(n+1), n=0...6, Rd(0)< --C Z, C, N, v
SWAP Rd 0< =d< =31 Поменять нибблы местами Rd(3...0) < –> Rd(7...4) Нет
BSET s 0< =s< =7 Установить флаг SREG(s)< -- 1 SREG(s)
BCLR s 0< =s< =7 Очистить флаг SREG(s)< -- 0 SREG(s)

 

Мне­моника Операнды Описание Операция Флаги Кол-во циклов
SBI P, b O< =P< =31 0< =b< =7 Установить бит в регистр I/O l/0(P, b)< -- 1 Нет
CBI P, b 0< =P< =31 0< =b< =7 Очистить бит в регистре I/O l/0(P, b)< -- 0 Нет
BST Rd, b 0< =d< =31 0< =b< =7 Переписать бит из регистра во флаг Т Т< -- Rd(b) Т
BLD Rd, b 0< =d< =31 0< =b< =7 Загрузить Т флаг в бит регистра Rd(b) < -- Т Нет
SEC   Установить флаг переноса С< -- 1 С
CLC   Очистить флаг переноса С< --0 С
SEN   Установить флаг отрицательного значения М< --1 N
CLN   Очистить флаг отрицательного значения N< --0 N
SEZ   Установить флаг нулевого значения Z< --1 Z
CLZ   Очистить флаг нулевого значения Z< --0 Z
SEI   Установить флаг глобального прерывания I< -- 1 I
CLI   Очистить флаг гло­бального прерывания I< --0 I
SES   Установить флаг знака S< -- 1 S
CLS   Очистить флаг знака S< --0 S
SEv   Установить флаг переполнения v< -- 1 v
CLv   Очистить флаг переполнения v< --0 v
SET   Установить флаг Т T< --1 T
CLT   Очистить флаг Т Т< --0 T
Мне­моника Операнды Описание Операция Флаги Кол-во циклов
SEH   Установить флаг полу переноса Н< -- 1 Н
CLH   Очистить флаг полу переноса Н< --0 Н
NOP   Выполнить холостую команду   Нет
SLEEP   Установить режим SLEEP   Нет
WDR   Сбросить сторожевой таймер   Нет

 

 

Таблица 3.3. Команды пересылки данных

Мнемо­ника Операн­ды Описание Операция Флаги Кол-во циклов
ELPM   Расширенная загрузка из памяти программ в регистр RO R0< -- (Z+RAMPZ) Нет
MOv Rd, Rr 0< =d< =31 0< =r< =31 Копировать регистр Rd< --Rr Нет
LDI Rd, k 16< =d< =31 0< =k< =255 Загрузить непосредственное значение Rd< --K Нет
LDS Rd, k 0< =d< =31 0< =k< =65535 Загрузить из ОЗУ Rd< --(k) Нет
LD Rd, X 0< =d< =31 Загрузить косвенно Rd < -- (X) Нет
LD Rd, X+ 0< =d< =31 Загрузить косвенно с постинкрементом Rd < -- (X), X< --X+1 Нет
LD Rd, X- 0< =d< =31 Загрузить косвенно с преддекрементом X< --X-1, Rd < -- (X) Нет
LD Rd, Y 0< =d< =31 Загрузить косвенно Rd< --(Y), Нет
LD Rd, Y+ 0< =d< =31 Загрузить косвенно с постинкрементом Rd< --(Y), Y< --Y+1 Нет
LD Rd, Y 0< =d< =31 Загрузить косвенно с преддекрементом Y< --Y-1, Rd < -- (Y) Нет
LDD Rd, Y+q 0< =d< =31 0< =q< =63 Загрузить косвенно со смещением Rd< --(Y+q) Нет
LD Rd, Z 0< =d< =31 Загрузить косвенно Rd < -- (Z) Нет
Мнемо­ника Операн­ды Описание Операция Флаги Кол-во циклов
LD Rd, Z+ 0< =d< =31 Загрузить косвенно с постинкрементом Rd < -- (Z), Z< --Z+1 Нет
LD Rd, -Z 0< =d< =31 Загрузить косвенно с преддекрементом Z< --Z-1, Rd< --(Z) Нет
LDD Rd, Z+q 0< =d< =31 0< =q< =31 Загрузить косвенно со смещением Rd < -- (Z+q) Нет
STS k, Rr 0< =d< =31 0< =k< =65535 Загрузить непосредственно в ОЗУ (k) < --Rr Нет
ST X, Rr 0< =r< =31 Записать косвенно (X) < -- Rr Нет
ST X+, Rr 0< =r< =31 Записать косвенно с постинкрементом (X) < --Rr, X< --X+ 1 Нет
ST -X, Rr 0< =r< =31 Записать косвенно с преддекрементом X< --X-1, (X) < --Rr Нет
ST Y, Rr 0< =r< =31 Записать косвенно (Y) < --Rr Нет
ST Y+, Rr 0< =r< =31 Записать косвенно с постинкрементом (Y) < -- Rr, Y< --Y+ 1 Нет
ST -Y, Rr 0< =r< =31 Записать косвенно с преддекрементом Y< --Y-1, (Y) < -- Rr Нет
STD Y+q, Rr 0< =r< =31 0< =q< =63 Записать косвенно со смещением (Y+q)< --Rr Нет
ST Z, Rr 0< =r< =31 Записать косвенно (Z) < --Rr Нет
ST Z+, Rr 0< =r< =31 Записать косвенно с постинкрементом (Z) < -- Rr, Z< --Z+ 1 Нет
ST -Z, Rr 0< =r< =31 Записать косвенно с преддекрементом Z< --Z-1, (Z) < -- Rr Нет
STD Z+q, Rr 0< =r< =31 0< =q< =63 Записать косвенно со смещением (Z+q)< --Rr Нет
LPM   Загрузить байт из памяти программ R0 < -- (Z) Нет
IN Rd, P 0< =d< =31 0< =P< =63 Загрузить данные из порта I/O в регистр Rd< --P Нет
OUT P, Rr 0< =r< =31 0< =P< =63 Записать данные из регистра в порт I/O P< --Rr Нет
PUSH Rr 0< =r< =31 Сохранить регистр в стеке STACK < --Rr Нет

 

Таблица 3.4. Команды переходов

Мнемо­ника Операн­ды Описание Операция Флаги Кол-во циклов
RJMP k -2K< k< 2K Перейти относительно PC < --PC + k + 1 Нет
LJMP   Перейти косвенно PC< --Z Нет
JMP k 0< k< 4M Перейти PC< --k Нет
RCALL k -2K< =k< =2K Вызвать подпрограмму относительно PC < -- PC + k + 1 Нет
ICALL   Вызвать подпрограмму косвенно PC< --Z Нет
CALL k 0< =k< =64K Выполнить длинный вызов подпрограммы PC< --k Нет
RET   Вернуться из подпрограммы PC < -- STACK Нет
RETI   Вернуться из прерывания PC < -- STACK I
CPSE Rd, Rr 0< =d< =31, 0< =r< =31 Сравнить и пропустить, если равно If Rd=Rr then PC < -- PC + 2 (or 3) Нет (1/2)/3
SBRC Rr, b 0< =r< =31 0< =b< =7 Пропустить, если бит в регистре очищен if Rr(b)=0 then PC < -- PC + 2 (or 3) Нет (1/2)/3
SBRS Rr, b 0< =r< =31 0< =b< =7 Пропустить, если бит в регистре установлен If Rr(b)=1 then PC < --PC + 2 (or 3) Нет (1/2)/3
SBIC P, b 0< =P< =31 0< =b< =7 Пропустить, если бит в регистре I/O очищен if l/O P(b)=0 then PC < -- PC + 2 (or 3) Нет (1/2)/3
SBIS P, b 0< =r< =31 0< =b< =7 Пропустить, если бит в регистре I/O установлен If l/O P(b)=1 then PC < --PC + 2 (or 3) Нет (1/2)/3
BRBS s, k 0< =s< =7 -64< =k< =+63 Перейти, если бит в регистре статуса установлен if SREG(s)=1 then PC < -- PC + k + 1 Нет (1/2)
BRBC s, k 0< =s< =7 -64< =k< =+63 Перейти, если бит в регистре статуса очищен if SREG(s)=0 then PC < -- PC + k + 1 Нет (1/2)
BREQ k -64< =k< =+63 Перейти, если равно if Rd=Rr (Z=1) then PC < -- PC + k + 1 Нет (1/2)
BRNE k -64< =k< =+63 Перейти, если не равно if Rd! = Rr(Z=0) then PC< < --PC+ k+ 1 Нет (1/2)

 

Мнемо­ника Операн­ды Описание Операция Флаги Кол-во циклов
BRCS k -64< =k< =+63 Перейти, если флаг переноса установлен if C=1 then PC < -- PC + k + 1 Нет 1/2
BRCC k -64< =k< =+63 Перейти, если флаг переноса очищен if C=0 then PC < -- PC + k + 1 Нет 1/2
BRSH K -64< =k< =+63 Перейти, если равно или больше (без знака) if Rd< Rr(C=0) then PC< --PC+ k+ 1 Нет 1/2
BRLO k -64< =k< =+63 Перейти, если меньше (без знака) if Rd< Rr (C=1) then PC < --PC + k + 1 Нет 1/2
BRMI k -64< =k< =+63 Перейти, если минус if N=1 then PC < -- PC + k + 1 Нет 1/2
BRPL k -64< =k< =+63 Перейти, если плюс if N=0 then PC < -- PC + k + 1 Нет 1/2
BRGE k -64< =k< =+63 Перейти, если больше или равно (с учетом знака) if Rd> Rr (N(+)v=0) then PC < -- PC + k + 1 Нет 1/2
BRLT k -64< =k< =+63 Перейти, если меньше чем (со знаком) if Rd< Rr (N(+)v=1)then PC < --PC + k+ 1 Нет 1/2
BRHS K -64< =k< =+63 Перейти, если флаг полупереноса установлен if H=1 then PC < -- PC + k + 1 Нет 1/2  
BRHC k -64< =k< =+63 Перейти, если флаг полупереноса очищен if H=0 then PC < -- PC + k + 1 Нет 1/2  
BRTS k -64< =k< =+63 Перейти, если флаг Т установлен if T=1 then PC < -- PC + k + 1 Нет 1/2  
BRTC k -64< =k< =+63 Перейти, если флаг Т очищен if T=0 then PC < -- pc + k + 1 Нет 1/2  
BRvS k -64< =k< =+63 Перейти, если флаг переполнения установлен if v=1 then PC < -- PC + k + 1 Нет 1/2  
BRvC k -64< =k< =+63 Перейти, если флаг переполнения очищен if v=0 then PC < -- PC + k + 1 Нет 1/2  
BRIE k -64< =k< =+63 Перейти, если глобальное прерывание разрешено if I=1 then PC < -- PC + k + 1 Нет 1/2  
BRID k -64k< =k< =+63 Перейти, если глобальное прерывание запрещено if I=0 then PC < -- PC + k + 1 Нет 1/2  
                 

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-03-22; Просмотров: 928; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.016 с.)
Главная | Случайная страница | Обратная связь