Главная » Просмотр файлов » Соколов Ю.П. Микроконтроллеры семейства MCS-51 (2002)

Соколов Ю.П. Микроконтроллеры семейства MCS-51 (2002) (1095895), страница 13

Файл №1095895 Соколов Ю.П. Микроконтроллеры семейства MCS-51 (2002) (Соколов Ю.П. Микроконтроллеры семейства MCS-51 (2002)) 13 страницаСоколов Ю.П. Микроконтроллеры семейства MCS-51 (2002) (1095895) страница 132018-12-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 13)

Считанный бит инвертируется− − Признак не устанавливается+ − Признак устанавливается∗ − Признак устанавливается при адресации PSW(X) − Содержимое элемента Х[X] − Адрес, указанный элементом Х([X]) − Содержимое по адресу, указанному элементом Х[(X)+(Y)] − Адрес равен сумме содержимого элементов X и Y[(X):(Y)] − Адрес равен конкатенации содержимого элементов X и Y(X)3...0 − Содержимое младшей тетрады элемента ХКОМАНДЫ ОПЕРАЦИЙ ПЕРЕДАЧИ ДАННЫХНАИМЕНОВАНИЕ КОМАНДЫЗАГРУЗКА указателя данныхПЕРЕСЫЛКА в аккумулятор байтаиз CSEG по базовому адресу в DPTRиз CSEG по базовому адресу в PCиз страницы XSEGиз области XSEGПЕРЕСЫЛКА байта из аккумуляторав страницу XSEGв область XSEGЗАПИСЬ прямо адресуемого байта в стекЧТЕНИЕ из стека в прямо адресуемую ячейкуОБМЕНаккумулятора с регистром (n = 0...7)аккумулятора с прямо адресуемым байтомаккумулятора с байтом из DSEG (i = 0,1)младших тетрад аккумулятора и байта из DSEGКОДПРИЗНАКИ ЧИСЛОБ ЦСОДЕРЖАНИЕ КОМАНДЫMOVMOVMOVMOVA, RnA, directA, @RiA, #data11101 r r r111001011110011 i01110100−−−−++++12121111A ← (Rn)A ← (direct)А ← ([Ri])A ← #dataMOVMOVMOVRn, ARn, directRn, #data11111 r r r10101 r r r01111 r r r− − − −− − − −− − − −122121Rn ← (A)Rn ← (direct)Rn ← #dataMOVMOVMOVMOVMOVdirect, Adirect, Rndirect, directdirect, @Ridirect, #data1111010110001 r r r100001011000011 i01110101*****−−−−−2232312222direct ← (A)direct ← (Rn)direct ← (direct)direct ← ([Ri])direct ← #dataMOVMOVMOV@Ri, A@Ri, direct@Ri, #data1111011 i1010011 i0111011 i− − − −− − − −− − − −122121[Ri] ← (A)[Ri] ← (direct)[Ri] ← #dataMOVDPTR, #data16 10010000− − − −32DPTR ← #data16MOVCMOVCMOVXMOVXA, @A + DPTRA, @A + PCA, @RiA, @DPTR10010011100000111110001 i11100000−−−−−−−−−−−−++++11112222A ← CSEG[(A) + (DPTR)]PC ← (PC) + 1; A ← CSEG[(A)+(PC)]A ← XSEG[(P2):(Ri)]A ← XSEG[DPTR]MOVXMOVXPUSHPOP@Ri, A@DPTR, Adirectdirect1111001 i111100001100000011010000−−−*−−−*−−−*−−−−11222222XSEG[(P2):(Ri)] ← (A)XSEG[DPTR] ← (A)SP ← (SP) + 1; [SP] ← (direct)direct ← (SP);SP ← (SP) - 1XCHXCHXCHXCHDA, RnA, directA, @RiA, @Ri11001 r r r110001011100011 i1101011 i−*−−−*−−−*−−++++12111111(A) ↔ (Rn)(A) ↔ (direct)(A) ↔ ([Ri])(A)3...0 ↔ ([Ri])3...0−−−−*****−−−−*****57ПЕРЕСЫЛКА в аккумулятор содержимогорегистра (n = 0...7)прямо адресуемого байтакосвенно адресуемого байта (i = 0,1)константыПЕРЕСЫЛКА в регистр (n = 0...7) содержимогоаккумуляторапрямо адресуемого байтаконстантыПЕРЕСЫЛКА по прямому адресу содержимогоаккумуляторарегистра (n = 0...7)прямо адресуемого байтакосвенно адресуемого байта (i = 0,1)константыПЕРЕСЫЛКА по косвенному адресу содержимогоаккумуляторапрямо адресуемого байтаконстантыМНЕМОНИКАCOVACPТаблица П2.1.КОМАНДЫ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙНАИМЕНОВАНИЕ КОМАНДЫМНЕМОНИКАКОДПРИЗНАКИ ЧИСЛОБ ЦCOVACPТаблица П2.2.СОДЕРЖАНИЕ КОМАНДЫADDADDADDADDA, RnA, directA, @RiA, #data00101 r r r001001010010011 i00100100++++++++++++++++12121111A ← (A) + (Rn)A ← (A) + (direct)A ← (A) + ([Ri])A ← (A) + #dataСЛОЖЕНИЕ С ПЕРЕНОСОМ аккумуляторас регистром (n = 0...7)с прямо адресуемым байтомс косвенно адресуемым байтом (i = 0,1)с константойADDCADDCADDCADDCA, RnA, directA, @RiA, #data00111 r r r001101010011011 i00110100++++++++++++++++12121111A ← (A) + (Rn) + (C)A ← (A) + (direct) + (C)A ← (A) + ([Ri]) + (C)A ← (A) + #data + (C)ВЫЧИТАНИЕ С ЗАЁМОМ из аккумуляторарегистра (n = 0...7)прямо адресуемого байтакосвенно адресуемого байта (i = 0,1)константыSUBBSUBBSUBBSUBBA, RnA, directA, @RiA, #data10011 r r r100101011001011 i10010100++++++++++++++++12121111A ← (A) - (C) - (Rn)A ← (A) - (C) - (direct)A ← (A) - (C) - ([Ri])A ← (A) - (C) - #data0000010000001 r r r000001010000011 i10100011−−−−−−−−−−−−−−−+−−−−1121111112A ← (A) + 1Rn ← (Rn) + 1direct ← (direct) + 1[Ri] ← ([Ri]) + 1DPTR ← (DPTR) + 1DEC ADEC RnDEC directDEC @Ri0001010000011 r r r000101010001011 i−−−−−−−−−−−−+−−−11211111A ← (A) - 1Rn ← (Rn) - 1direct ← (direct) - 1[Ri] ← ([Ri]) - 1УМНОЖЕНИЕ аккумулятора на регистр BMULAB101001000 + − +14(B)(A) ← (A) х (B)ДЕЛЕНИЕ аккумулятора на регистр BDIVAB100001000 + − +14(A),(B) ← (A)/(B)ДЕСЯТИЧНАЯ КОРРЕКЦИЯ аккумулятораDAA11010100+ − − +11Если (A3...A0) > 9 или (AC) = 1, то(А3...А0) ← (А3...А0) + 6;если (A7...A4) > 9 или (C) = 1, то(A7...A4) ← (A7...A4) + 6ИНКРЕМЕНТаккумуляторарегистра (n = 0...7)прямо адресуемого байтакосвенно адресуемого байта (i = 0,1)указателя данныхДЕКРЕМЕНТаккумуляторарегистра (n = 0...7)прямо адресуемого байтакосвенно адресуемого байта (i = 0,1)INCINCINCINCINCARndirect@RiDPTR58СЛОЖЕНИЕ аккумуляторас регистром (n = 0...7)с прямо адресуемым байтомс косвенно адресуемым байтом (i = 0,1)с константойKОМАНДЫ ЛОГИЧЕСКИХ ОПЕРАЦИЙНАИМЕНОВАНИЕ КОМАНДЫКОДПРИЗНАКИ ЧИСЛОБ ЦСОДЕРЖАНИЕ КОМАНДЫ01011 r r r010101010101011 i01010100−−−−++++12121111A ← (A) ∧ (Rn)A ← (A) ∧ (direct)A ← (A) ∧ ([Ri])A ← (A) ∧ #dataANL direct, AANL direct, #data0101001001010011− − − −− − − −2312direct ← (direct) ∧ (A)direct ← (direct) ∧ #dataORLORLORLORL01001 r r r010001010100011 i01000100−−−−++++12121111A ← (A) ∨ (Rn)A ← (A) ∨ (direct)A ← (A) ∨ ([Ri])A ← (A) ∨ #dataORL direct, AORL direct, #data0100001001000011− − − −− − − −2312direct ← (direct) ∨ (A)direct ← (direct) ∨ #dataXRLXRLXRLXRL01101 r r r011001010110011 i01100100−−−−++++12121111A ← (A) ⊕ (Rn)A ← (A) ⊕ (direct)A ← (A) ⊕ ([Ri])A ← (A) ⊕ #dataXRL direct, AXRL direct, #data0110001001100011− − − −− − − −2312direct ← (direct) ⊕ (A)direct ← (direct) ⊕ #dataRLRLCRRRRCAAAA00100011001100110000001100010011−+−+−+−+11111111(A7 ← A6 ← A5 ←...← A1 ← A0 ← A7)(C ← A7 ← A6 ←...← A1 ← A0 ← (C))(A0 → A7 → A6 →...→ A2 → A1 → A0)((C) → A7 → A6 →...→ A1 → A0 → C)СБРОС аккумулятораCLR A11100100− − − +11ИНВЕРСИЯ аккумулятораCPL A11110100− − − +11(A) ← 0__A ← (A)ПЕРЕСТАНОВКА тетрад в аккумулятореSWAP A11000100− − − −11(A7...A4) ↔ (A3...A0)ANLANLANLANLA, RnA, directA, @RiA, #dataA, RnA, directA, @RiA, #dataA, RnA, directA, @RiA, #data−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−59ЛОГИЧЕСКОЕ "И" аккумуляторас регистром (n = 0...7)с прямо адресуемым байтомс косвенно адресуемым байтом (i = 0,1)с константойЛОГИЧЕСКОЕ "И" прямо адресуемого байтас аккумуляторомс константойЛОГИЧЕСКОЕ "ИЛИ" аккумуляторас регистром (n = 0...7)с прямо адресуемым байтомс косвенно адресуемым байтом (i = 0,1)с константойЛОГИЧЕСКОЕ "ИЛИ" прямо адресуемого байтас аккумуляторомс константой"ИСКЛЮЧАЮЩЕЕ ИЛИ" аккумуляторас регистром (n = 0...7)с прямо адресуемым байтомс косвенно адресуемым байтом (i = 0,1)с константой"ИСКЛЮЧАЮЩЕЕ ИЛИ" прямо адресуемого байтас аккумуляторомс константойСДВИГ циклический аккумуляторавлевовлево через переносвправовправо через переносМНЕМОНИКАCOVACPТаблица П2.3.КОМАНДЫ ОПЕРАЦИЙ ПЕРЕДАЧИ УПРАВЛЕНИЯНАИМЕНОВАНИЕ КОМАНДЫМНЕМОНИКАКОДПРИЗНАКИ ЧИСЛОБ ЦCOVACPТаблица П2.4.СОДЕРЖАНИЕ КОМАНДЫПЕРЕХОД безусловный,длинный внутри CSEG [0...64 Кбайт]абсолютный внутри страницы в 2 Кбайткороткий относительный [−128...+127]косвенный относительныйLJMPAJMPSJMPJMPaddr16addr11rel@A + DPTR00000010ааа000011000000001110011−−−−ПЕРЕХОД условный,если аккумулятор равен нулюJZrel01100000− − − −2 2если аккумулятор не равен нулюJNZrel01110000− − − −2 2если перенос равен единицеJCrel01000000− − − −2 2если перенос равен нулюJNCrel01010000− − − −2 2если бит равен единицеJBbit, rel00100000− − − −3 2если бит равен нулюJNBbit, rel00110000− − − −3 2если бит установлен, с последующимсбросом битаJBCbit, rel00010000− − − −3 2ДЕКРЕМЕНТ регистра иПЕРЕХОД, если не нульDJNZ Rn, rel11011 r r r− − − −2 2PC ← (PC) + 2, Rn ← (Rn) - 1;если (Rn) ≠ 0, то PC ← (PC) + relДЕКРЕМЕНТ прямо адресуемого байта иПЕРЕХОД, если не нульDJNZ direct, rel11010101− − − −3 2PC ← (PC) + 3, direct ← (direct) - 1;если (direct) ≠ 0, то PC ← (PC) + rel−−−−−−−−−−−−32212222PC ← addr16(PC10...PC0) ← addr11PC ← (PC) + 2; PC ← (PC) + relPC ← (A) + (DPTR)60PC ← (PC) + 2;если (A) = 0, то PC ← (PC) + relPC ← (PC) + 2;если (A) ≠ 0, то PC ← (PC) + relPC ← (PC) + 2;если (C) = 1, то PC ← (PC) + relPC ← (PC) + 2;если (C) = 0, то PC ← (PC) + relPC ← (PC) + 3;если (bit) = 1, то PC ← (PC) + relPC ← (PC) + 3;если (bit) = 0, то PC ← (PC) + relPC ← (PC) + 3;если (bit) = 1, то PC ← (PC) + relи (bit) ← 0КОМАНДЫ ОПЕРАЦИЙ ПЕРЕДАЧИ УПРАВЛЕНИЯНАИМЕНОВАНИЕ КОМАНДЫМНЕМОНИКАКОДПРИЗНАКИ ЧИСЛОБ ЦCOVACPТаблица П2.5.СОДЕРЖАНИЕ КОМАНДЫCJNE A, direct, rel10110101+ − − −32PC ← (PC) + 3;если (A) ≠ (direct), то PC ← (PC) + rel;причем если (A) < (direct), то C ← 1;если (A) > (direct), то C ← 0СРАВНЕНИЕ аккумулятора с константойи ПЕРЕХОД, если не равноCJNE A, #data, rel10110100+ − − −32PC ← (PC) + 3;если (A) ≠ #data , то PC ← (PC) + rel;причем если (A) < #data , то C ← 1;если (A) > #data , то C ← 0СРАВНЕНИЕ регистра с константойи ПЕРЕХОД, если не равноCJNE Rn, #data, rel10111 r r r+ − − −32СРАВНЕНИЕ байта из DSEG с константойи ПЕРЕХОД, если не равноCJNE @Ri, #data, rel 1011011 i+ − − −32PC ← (PC) + 3;если (Rn) ≠ #data, то PC ← (PC) + rel;причем если (Rn) < #data , то C ← 1;если (Rn) > #data , то C ← 0PC ← (PC) + 3;если ([Ri]) ≠ #data, то PC ← (PC) + rel;причем если ([Ri]) < #data, то C ← 1;если ([Ri]) > #data, то C ← 0ВЫЗОВ подпрограммы длинныйвнутри CSEG [0...64 Kбайт]LCALL addr1600010010− − − −32PC ← (PC) + 3;SP ← (SP) + 1, [SP] ← (PC7...PC0);SP ← (SP) + 1, [SP] ← (PC15...PC8)PC ← addr16ВЫЗОВ подпрограммы абсолютныйвнутри страницы CSEG [0...2 Кбайт]ACALL addr11aaa00001 − − − −22PC ← (PC) + 2;SP ← (SP) + 1, [SP] ← (PC7...PC0);SP ← (SP) + 1, [SP] ← (PC15...PC8)(PC10...PC0) ← addr11ВОЗВРАТ из подпрограммыRET00100010− − − −12(PC15...PC8) ← ([SP]), SP ← (SP) - 1(PC7...PC0) ← ([SP]), SP ← (SP) - 1ВОЗВРАТ из подпрограммыобработки прерыванияRETI00110010− − − −12(PC15...PC8) ← ([SP]), SP ← (SP) - 1(PC7...PC0) ← ([SP]), SP ← (SP) - 1ХОЛОСТАЯ КОМАНДАNOP00000000− − − −11PC ← (PC) + 161СРАВНЕНИЕ аккумулятора с прямо адресуемымбайтом и ПЕРЕХОД, если не равноНАИМЕНОВАНИЕ КОМАНДЫКОМАНДЫ ОПЕРАЦИЙ С БИТАМИМНЕМОНИКАКОДПРИЗНАКИ ЧИСЛОБ ЦCOVACPТаблица П2.6.СОДЕРЖАНИЕ КОМАНДЫСБРОСCbit11000011110000100 − − −* * * −1211C←0bit ← 0SETB CSETB bit11010011110100101 − − −* * * −1211C←1bit ← 1CPLCPLCbit_10110011 C − − −10110010 * * * −1211__C ← (C)___bit ← (bit)ANLANLC, bitC, /bit1000001010110000+ − − −+ − − −2222C ← (C) ∧ (bit)___C ← (C) ∧ (bit)CLRCLRORLORLC, bitC, /bit0111001010100000+ − − −+ − − −2222C ← (C) ∨ (bit)___C ← (C) ∨ (bit)MOVMOVC, bitbit, C1010001010010010+ − − −− * * −2212C ← (bit)bit ← (C)62переносабитаУСТАНОВКАпереносабитаИНВЕРСИЯпереносабитаЛОГИЧЕСКОЕ "И"бита и переносаинверсии бита и переносаЛОГИЧЕСКОЕ "ИЛИ"бита и переносаинверсии бита и переносаПЕРЕСЫЛКАбита в переноспереноса в бит63Приложение 3.Отладка программ эмулятором EMU-51Эмулятор (отладчик) представляет собой системную программу,предназначенную для локализации и исправления логических ошибок впользовательской программе.Рассматриваемый эмулятор EMU-51 работает в среде MS-DOS.Запустить его можно из Windows, открыв файл emu51.exe.

Переключение между полноэкранным и оконным режимами работы в MS-DOSпроизводится клавишами ALT+ENTER. Желательно использовать полноэкранный режим. Перед выходом из MS-DOS необходимо завершитьработу эмулятора, нажав F10.Все числа в эмуляторе вводятся в шестнадцатеричной системесчисления (по умолчанию).Перед запуском эмулятора необходимо сформировать из текстового файла с расширением .asm, содержащего отлаживаемую программу на языке ассемблера, исполняемый файл, т.е. файл, которыйбудет загружен в ПЗУ микропроцессора. Отлаживаемый файл должениметь расширение .tsk или .obj и находиться в одной папке с программой эмулятора.После загрузки эмулятора на экран дисплея выводятся 4 окна:сегмент регистров и регистры специальных функций «RSEG & SFR»,файл программы «ФАЙЛ : », сегмент памяти данных «DSEG» и «КОММЕНТАРИИ», а также строка состояния в нижней части экрана (рис.П3.1).

Характеристики

Тип файла
PDF-файл
Размер
1,28 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6549
Авторов
на СтудИзбе
300
Средний доход
с одного платного файла
Обучение Подробнее