Смекни!
smekni.com

Система охранной сигнализации промышленного объекта на базе разнотипных датчиков (стр. 17 из 18)

Список используемых источников

1 Граф Р., Шиитс В. Энциклопедия электронных схем. - М.: ДМК, 2001 - 385с.;

2 Угрюмов Е. Цифровая схемотехника. – СПБ.: БХВ-Петербург, 2002. – 528с.;

3 Степаненко И.П. Основы микроэлектроники: учеб. пособие для вузов.-2-е изд. перераб. и доп. - М.: Лаборатория базовых знаний, 2000 – 488 с.;

4 http://www.condor.com.ru

5 http://www.micom.net.ru

6 http://ru.wikipedia.org

7 Андреев Д.В. Программирование микроконтроллеров MCS-51.: Учеб. Пособие – Ульяновск: УлГТУ, 2000 – 88с.

8 Логинов А.В. Программирование микро-ЭВМ семейства МК51: Учеб. Пособие. – СПб.: Балт. гос. тех. ун-т, 1996 – 72с.;

9 Горфинкель В.Я., Купрякова Е.М. "Экономика предприятия". М.: «Юнит», 1996г

10 ГОСТ Р 50775-95 "Системы тревожной сигнализации. Общие требования. Общие положения".

11 ГОСТ Р 50776-95 "Системы тревожной сигнализации. Общие требования. Руководство по проектированию, монтажу и тех обслуживанию".

12 ГОСТ Р 51241-99 "Средства и системы контроля и управления доступом. Общие технические требования и методы испытаний".

13 Инструкция по применению и испытанию средств защиты, используемых в Эл. установках. СПб.: 2004

14 ПУЭ Правила устройства электроустановок. М.: «Энергоатомиздат», 1998.

15 А. Д. Шишкин. Методическое пособие для выполнения дипломного и курсового проектирования. СПб,-2008. изд. РГГМУ.

Приложение А

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

Название команды Мнемокод КОП Т Б Ц Операция
Пересылка в аккумулятор из регистра (n=0÷7) MOV A, Rn 11101rrr 1 1 1 (A) ¬ (Rn)
Пересылка в аккумулятор прямоадресуемого байта MOV A, ad 11100101 3 2 1 (A) ¬ (ad)
Пересылка в аккумулятор байта из РПД (i=0,1) MOV A, @Ri 1110011i 1 1 1 (A) ¬ ((Ri))
Загрузка в аккумулятор константы MOV A, #d 01110100 2 2 1 (A) ¬ #d
Пересылка в регистр из аккумулятора MOV Rn, A 11111rrr 1 1 1 (Rn) ¬ (A)
Пересылка в регистр прямоадресуемого байта MOV Rn, ad 10101rrr 3 2 2 (Rn) ¬ (ad)
Загрузка в регистр константы MOV Rn, #d 01111rrr 2 2 1 (Rn) ¬ #d
Пересылка по прямому адресу аккумулятора MOV ad, A 11110101 3 2 1 (ad) ¬ (A)
Пересылка по прямому адресу регистра MOV ad, Rn 10001rrr 3 2 2 (ad) ¬ (Rn)
Пересылка прямоадресуемого байта по прямому адресу MOV add, ads 10000101 9 3 2 (add) ¬ (ads)
Пересылка байта из РПД по прямому адресу MOV ad, @Ri 1000011i 3 2 2 (ad) ¬ ((Ri))
Пересылка по прямому адресу константы MOV ad, #d 01110101 7 3 2 (ad) ¬ #d
Пересылка в РПД из аккумулятора MOV @Ri, A 1111011i 1 1 1 ((Ri)) ¬ (A)
Пересылка в РПД прямоадресуемого байта MOV @Ri, ad 0110011i 3 2 2 ((Ri)) ¬ (ad)
Пересылка в РПД константы MOV @Ri, #d 0111011i 2 2 1 ((Ri)) ¬ #d
Загрузка указателя данных MOV DPTR, #d16 10010000 13 3 2 (DPTR) ¬ #d16
Пересылка в аккумулятор байта из ПП MOVC A, @A+DPTR 10010011 1 1 2 ¬ ((A) +(DPTR))
Пересылка в аккумулятор байта из ПП MOVC A, @A+PC 10000011 1 1 2

(PC) ¬ (PC)+1,

(A) ¬ ((A)+(PC))

Название команды Мнемокод КОП Т Б Ц Операция
Пересылка в аккумулятор байта из ВПД MOVX A, @Ri 1110001i 1 1 2 (A) ¬ ((Ri))
Пересылка в аккумулятор байта из расширенной ВПД MOVX A,@DPTR 11100000 1 1 2 (A) ¬ ((DPTR))
Пересылка в ВПД из аккумулятора MOVX @Ri, A 1111001i 1 1 2 ((Ri)) ¬ (A)
Пересылка в расширенную ВПД из аккумулятора MOVX @DPTR,A 11110000 1 1 2 ((DPTR)) ¬ (A)
Загрузка в стек PUSH ad 11000000 3 2 2 (SP) ¬ (SP) + 1, ((SP)) ¬ (ad)
Извлечение из стека POP ad 11010000 3 2 2

(ad) ¬ (SP),

(SP) ¬ (SP) - 1

Обмен аккумулятора с регистром XCH A, Rn 11001rrr 1 1 1 (A) ↔ (Rn)
Обмен аккумулятора с прямоадресуемым байтом XCH A, ad 11000101 3 2 1 (A) ↔ (ad)
Обмен аккумулятора с байтом из РПД XCH A, @Ri 1100011i 1 1 1 (A) ↔ ((Ri))
Обмен младших тетрад аккумулятора и байта РПД XCHD A, @Ri 1101011i 1 1 1 (A0…3) ↔((Ri)0…3)
Сложение аккумулятора с регистром (n=0÷7) ADD A, Rn 00l01rrr 1 1 1 (A) ¬ (A) + (Rn)
Сложение аккумулятора с прямоадресуемым байтом ADD A, ad 00100101 3 2 1 (A) ¬ (A) + (ad)
Сложение аккумулятора с байтом из РПД (i = 0,1) ADD A, @Ri 0010011i 1 1 1 (A) ¬ (A) + ((Ri))
Сложение аккумулятора с константой ADD A, #d 00100100 2 2 1 (A) ¬ (A) + #d
Сложение аккумулятора с регистром и переносом ADDC A, Rn 00111rrr 1 1 1 (A) ¬ (A) + (Rn) + (C)
Сложение аккумулятора с прямоадресуемым байтом и переносом ADDC A, ad 00110101 3 2 1 (A) ¬ (A) + (ad) + (C)
Сложение аккумулятора с байтом из РПД и переносом ADDC A, @Ri 0011011i 1 1 1 (A) ¬ (A) + ((Ri)) + (C)
Сложение аккумулятора с константой и переносом ADDC A, #d 00110100 2 2 1 (A) ¬ (A) + # d + (C)
Десятичная коррекция аккумулятора DAA 11010100 1 1 1 Если (А0…3)>9 или ((AC)=1),то(А0…3)¬ (А0…З) + 6, затем если (А4…7) >9 или ((С)=1), то (А4…7) ¬ (А4…7) + 6
Вычитание из аккумулятора регистра и заёма SUBB A, Rn 10011rrr 1 1 1 (A) ¬ (A) - (C) - (Rn)
Вычитание из аккумулятора прямоадресуемого байта и заема SUBB A, ad 10010101 3 2 1 (A) ¬ (A) - (C) - ((ad))
Вычитание из аккумулятора байта РПД и заема SUBB А, @Ri 1001011i 1 1 1 (A) ¬ (A) - (C) - ((Ri))
Вычитание из аккумулятора константы и заема SUBB А, d 10010100 2 2 1 (A) ¬ (A) - (C) - #d
Инкремент аккумулятора INC А 00000100 1 1 1 (A) ¬ (A) + 1
Инкремент регистра INCRn 00001rrr 1 1 1 (Rn) ¬ (Rn) + 1
Инкремент прямоадресуемого байта INC ad 00000101 3 2 1 (ad) ¬ (ad) + 1
Инкремент байта в РПД INC @Ri 0000011i 1 1 1 ((Ri)) ¬ ((Ri)) + 1
Инкремент указателя данных INC DPTR 10100011 1 1 2 (DPTR ) ¬ (DPTR) + 1
Декремент аккумулятора DECA 00010100 1 1 1 (A) ¬ (A) – 1
Декремент регистра DEC Rn 00011rrr 1 1 1 (Rn) ¬ (Rn) – 1
Декремент прямоадресуемого байта DEC ad 00010101 3 2 1 (ad) ¬ (ad) – 1
Декремент байта в РПД DEC @Ri 0001011i 1 1 1 ((Ri)) ¬ ((Ri)) - 1
Умножение аккумулятора на регистр В MUL AB 10100100 1 1 4 (B)(A) ¬ (A)*(В)
Деление аккумулятора на регистр В DIV AB 10000100 1 1 4 (B).(A) ¬ (A)/(В)
Логическое И аккумулятора и регистра ANL A, Rn 01011rrr 1 1 1 (A) ¬ (A) AND (Rn)
Логическое И аккумулятора и прямоадресуемого байта ANL A, ad 01010101 3 2 1 (A) ¬ (A) AND (ad)
Логическое И аккумулятора и байта из РПД ANL A, @Ri 0101011i 1 1 1 (A) ¬ (A) AND ((Ri))
Логическое И аккумулятора и константы ANL A, #d 01010100 2 2 1 (A) ¬ (A) AND #d
Логическое И прямоадресуемого байта и аккумулятора ANL ad, A 01010010 3 2 1 (ad) ¬ (ad) AND (A)
Логическое И прямоадресуемого байта и константы ANL ad, #d 01010011 7 3 2 (ad) ¬ (ad) AND #d
Логическое ИЛИ аккумулятора и регистра ORL A, Rn 01001rrr 1 1 1 (A) ¬ (A) OR (Rn)
Логическое ИЛИ аккумулятора и прямоадресуемого байта ORL A, ad 01000101 3 2 1 (A) ¬ (A) OR (ad)
Логическое ИЛИ аккумулятора и байта из РПД ORL A, @Ri 0100011i 1 1 1 (A) ¬ (A) OR ((Ri))
Логическое ИЛИ аккумулятора и константы ORL A, #d 01000100 2 2 1 (A) ¬ (A) OR #d
Логическое ИЛИ прямоадресуемого байта и аккумулятора ORL ad, A 01000010 3 2 1 (ad) ¬ (ad) OR (A)
Логическое ИЛИ прямоадресуемого байта и константы ORL ad, #d 01000011 7 3 2 (ad) ¬ (ad) OR #d
Исключающее ИЛИ аккумулятора и регистра XRL A, Rn 01101rrr 1 1 1 (A) ¬ (A) XOR (Rn)
Исключающее ИЛИ аккумулятора и прямоадресуемого байта XRL A, ad 01100101 3 2 1 (A) ¬ (A) XOR (ad)
Исключающее ИЛИ аккумулятора и байта из РПД XRL A, @Ri 0110011i 1 1 1 (A) ¬ (A) XOR ((Ri))
Исключающее ИЛИ аккумулятора и константы XRL A, #d 01100100 2 2 1 (A) ¬ (A) XOR #d
Исключающее ИЛИ прямоадресуемого байта и аккумулятора XRL ad, A 01100010 3 2 1 (ad) ¬ (ad) XOR (A)
Исключающее ИЛИ прямоадресуемого байта и константы XRL ad, #d 01100011 7 3 2 (ad) ¬ (ad) XOR #d
Сброс аккумулятора CLRA 11100100 1 1 1 (A) ¬ 0
Инверсия аккумулятора CPL A 11110100 1 1 1 (A) ¬ NOT(A)
Сдвиг аккумулятора влево циклический RL A 00100011 1 1 1 (An+1) ¬ (An), n=0÷6, (A0) ¬ (A7)
Сдвиг аккумулятора влево через перенос RLC A 00110011 1 1 1 (An+1) ¬ (An), n=0÷6(A0) ¬ (C), (C) ¬(A7)
Сдвиг аккумулятора вправо циклический RR A 00000011 1 1 1 (An) ¬ (An+1), n=0÷6, (A7) ¬ (A0)
Сдвиг аккумулятора вправо через перенос RRC A 00010011 1 1 1 (An) ¬ (An+1), n=0÷6(A7) ¬ (C), (C) ¬(A0)
Обмен местами тетрад в аккумуляторе SWAP A 11000100 1 1 1 (A0…3) ↔ (A4…7)
Сброс переноса CLR С 11000011 1 1 1 (C) ¬ 0
Сброс бита CLRbit 11000010 4 2 1 (b) ¬ 0
Установка переноса SETB С 11010011 1 1 1 (C) ¬ 1
Установка бита SETBbit 11010010 4 2 1 (b) ¬ 1
Инверсия переноса CPL С 10110011 1 1 1 (C) ¬ NOT(C)
Инверсия бита CPLbit 10110010 4 2 1 (b) ¬ NOT(b)
Логическое И бита и переноса ANL С, bit 10000010 4 2 2 (C) ¬ (C) AND (b)
Логическое И инверсии бита и переноса ANL С, /bit 10110000 4 2 2 (C) ¬ (C) AND (NOT(b))
Логическое ИЛИ бита и переноса ORL С, bit 01110010 4 2 2 (C) ¬ (C) OR (b)
Логическое ИЛИ инверсии бита и переноса ORL С, /bit 10100000 4 2 2 (C) ¬ (C) OR (NOT(b))
Пересылка бита в перенос MOV С, bit 10100010 4 2 1 (C) ¬ (b)
Пересылка переноса в бит MOV bit, С 10010010 4 2 2 (b) ¬ (C)
Длинный переход в полном объеме ПП LJMP ad16 00000010 12 3 2 (PC) ¬ ad16
Абсолютный переход внутри страницы в 2 Кб AJMP ad11 a10a9a800001 6 2 2 (PC) ¬ (PC) + 2, (PC0-10) ¬ ad11
Короткий относительный переход внутри
страницы в 256 байт
SJMP rel 10000000 5 2 2 (PC) ¬ (PC) + 2, (PC) ¬ (PC) +rel
Косвенный относительный переход JMP @A+DPTR 01110011 1 1 2 (PC) ¬ (A) + (DPTR)
Переход, если аккумулятор равен нулю JZ rel 01100000 5 2 2 (PC)¬(PC)+2, если (A)=0, то (PC)¬(PC)+rel
Переход, если аккумулятор не равен нулю JNZ rel 01110000 5 2 2 (PC)¬(PC)+2, если (A)≠0, то (PC)¬(PC)+rel
Переход, если перенос равен единице JCrel 01000000 5 2 2 (PC)¬(PC)+2, если (С)=1, то (PC)¬(PC)+rel
Переход, если перенос равен нулю JNCrel 01010000 5 2 2 (PC)¬(PC)+2, если (С)=0, то (PC)¬(PC)+rel
Переход, если бит равен единице JB bit, rel 00100000 11 3 2 (PC)¬(PC)+3, если (b)=l, то (PC)¬(PC)+rel
Переход, если бит равен нулю JNB bit, rel 00110000 11 3 2 (PC)¬(PC)+3, если (b)=0, то (PC)¬(PC)+rel
Переход, если бит установлен, с последующим сбросом бита JBC bit, rel 00010000 11 3 2 (PC) ¬ (PC) + 3, если (b)=1,
то (b) ¬ 0 и (PC)¬ (PC) + rel
Декремент регистра и переход, если не нуль DJNZ Rn, rel 11011rrr 5 2 2 (PC) ¬ (PC) + 2, (Rn) ¬ (Rn) - 1,если (Rn) ≠ 0, то (PC) ¬ (PC) + rel
Декремент прямоадресуемого байта и переход, если не нуль DJNZ ad, rel 11010101 8 3 2 (PC) ¬ (PC) + 2, (ad) ¬ (ad) - 1,
если (ad) ≠ 0, то (PC) ¬ (PC) + rel
Сравнение аккумулятора с прямоадресуемым байтом и переход, если не равно CJNE A, ad, rel 10110101 8 3 2 (PC) ¬ (PC) + 3,если (A) ≠ (ad), то (PC) ¬ (PC) + rel,если (A) < (ad), то (C) ¬ 1, иначе (C) ¬ 0
Сравнение аккумулятора с константой и
переход, если не равно
CJNE A, #d, rel 10110100 10 3 2 (PC) ¬ (PC) + 3,если (A) ≠ #d, то (PC) ¬ (PC) + rel,если (A) < #d, то (C) ¬ 1, иначе (С) ¬ 0
Сравнение регистра с константой и переход, если не равно CJNE Rn, #d, rel 10111rrr 10 3 2 (PC) ¬ (PC) + 3,если (Rn) ≠ #d, то (PC) ¬ (PC) + rel,если (Rn) < #d, то (C) ¬ 1, иначе (С) ¬ 0
Сравнение байта в РПД с константой и переход, если не равно CJNE @Ri,#d,rel 1011011i 10 3 2 (PC) ¬ (PC) + 3,если ((Ri)) ≠ #d, то (PC) ¬ (PC) + rel,если ((Ri)) < #d, то (C) ¬ 1, иначе (C) ¬ 0

Длинный вызов подпрограммы
LCALL adl6 00010010 12 3 2 (PC) ¬ (PC) + 3, (SP) ¬ (SP) +1,((SP)) ¬ (PC0…7), (SP) ¬ (SP) + 1,((SP)) ¬ (PC8…15), (PC) ¬ ad16
Абсолютный вызов подпрограммы в пределах страницы в 2 Кб ACALL ad11 a10a9a810001 6 2 2 (PC) ¬ (PC) + 2, (SP) ¬ (SP) + 1,((SP)) ¬ (PC0…7), (SP) ¬ (SP) + 1,((SP)) ¬ (PC8…15), (PC0-10) ¬ ad11
Возврат из подпрограммы RET 00100010 1 1 2 (PC8…15) ¬ ((SP)), (SP) ¬ (SP) - 1,(PC0…7) ¬ ((SP)), (SP) ¬ (SP) – 1
Возврат из подпрограммы обработки
прерывания
RETI 00110010 1 1 2 (PC8…15) ¬ ((SP)), (SP) ¬ (SP) - 1,(PC0…7) ¬ ((SP)), (SP) ¬ (SP) – 1
Пустая операция NOP 00000000 1 1 1 (PC) ¬ (PC) + 1

Приложение Б