Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Рябов В.Т. - Разработка и отладка программного обеспечения микропроцессорной системы управления на базе однокристальных микроЭВМ

Рябов В.Т. - Разработка и отладка программного обеспечения микропроцессорной системы управления на базе однокристальных микроЭВМ, страница 10

PDF-файл Рябов В.Т. - Разработка и отладка программного обеспечения микропроцессорной системы управления на базе однокристальных микроЭВМ, страница 10 Системы автоматического управления (САУ) (МТ-11) (15198): Книга - 8 семестрРябов В.Т. - Разработка и отладка программного обеспечения микропроцессорной системы управления на базе однокристальных микроЭВМ: Системы автоматичес2017-12-26СтудИзба

Описание файла

PDF-файл из архива "Рябов В.Т. - Разработка и отладка программного обеспечения микропроцессорной системы управления на базе однокристальных микроЭВМ", который расположен в категории "". Всё это находится в предмете "системы автоматического управления (сау) (мт-11)" из 8 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "системы автоматического управления (сау)" в общих файлах.

Просмотр PDF-файла онлайн

Текст 10 страницы из PDF

Задание на лабораторную работу №2"ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ УПРАВЛЕНИЯ ШАГОВЫМДВИГАТЕЛЕМ.1. Изучить методы разработки и отладки программного обеспечения (ПО) для локальных микроконтроллеров на однокристальных микроЭВМ.2. Изучить устройство, работу и программирование шагового двигателя. Сколькозубьев на статоре и роторе шагового двигателя ДШИ 200, делающего 200 шагов наоборот?3. Составить и оттранслировать программу управления ШД с помощью клавиатуры.4.

Откомментировать квант опроса клавиатуры.Первые четыре пункта следует выполнить в качестве домашнего задания.5. Ускорение и замедление двигателя слишком мало заметно на малых скоростяхвращения, как это исправить?6. Сохранить и распечатать текст программного обеспечения.7. Сохранитьираспечататьдиассемблированныйаппаратного эмулятора.- 34 -кодпамятипрограммно-ПРИЛОЖЕНИЕП1. Система команд микроконтроллеров семействаMCS-51.Таблица 1. ГРУППА КОМАНД ПЕРЕДАЧИ ДАННЫХНазвание командыМнемокодЦиклы1Байты1ОперацияMOV A, RnКод операции11101rrПересылка в аккумулятор из регистра(n=0-7)Пересылка в аккумулятор прямо адресуемого байтаПересылка в аккумулятор байта изРПД (i=0,1)Загрузка в аккумулятор константыПересылка в регистр из аккумулятораПересылка в регистр прямо адресуемого байтаЗагрузка в регистр константыПересылка по прямому адресу аккумулятораПересылка по прямому адресу регистраПересыпка прямо адресуемого байтапо прямому адресуПересылка байта из РПД по прямомуадресуПересылка по прямому адресу константыПересылка в РПД из аккумулятораПересылка в РПД прямо адресуемогобайтаПересылка в РПД константыЗагрузка указателя данныхПересылка в аккумулятор байта изПППересылка в аккумулятор байта изПППересылка в аккумулятор байта изВПДПересылка в аккумулятор байта израсширенной ВПДПересылка в ВПД из аккумулятораПересылка в расширенную ВПД изаккумулятораЗагрузка в стекMOV A, ad1110010112(A)(ad)MOV A, @R11110011i11(A)((R1))MOV A, #dMOV Rn, AMOV Rn, ad01101001111irrr1010rrr112212(A)#d(Rn)(A)(Rn)(ad)MOV Rn, #dMOV ad, A01111rrr111101012112(Rn)#d(ad)(A)MOV ad, Rn10001rrr22(ad)(Rn)MOV add, ads1000010123(add)(ads)MOV ad, @Pi1000011i22(ad)((Ri))MOV ad, #d0111010123(ad)#dMOV @Ri, AMOV @Ri, ad1111011i0110011i1212((Ri))(A)((Ri))(ad)MOV @Ri, #dMOV DPTR, #d16MOVCА,@А+DPTRMOVC A,@A+PC0111011i100100111001001i122211((Ri))#d(DPTR)#d16(А) ((А)+(DРТR))1000001i21(A)((A)+(PC))MOVX А,@Ri1110001i21(A)((Ri))MOVX A,@DPTR1110000021(A)((DPTR))MOVX @Ri, AMOVX @DPTR,A1111001i111100002211((Ri))(A)((DPTR))(A)PUSH ad1100000022Извлечение из стекаPOP ad1101000022Обмен аккумулятора с регистромОбмен аккумулятора с прямо адресуемым байтомОбмен аккумулятора с байтом из РПДОбмен младшей тетрады аккумулятора с младшей тетрадой байта из РПДXCH A, RnXCH A, ad11001rrr110001011112(SP)(SP)+1,((SP))(ad)(ad)((SP)),(SP)(SP)-1(A)(Rn)(A)(ad)XCH A, @RiXCHO A, @Ri1100011i1101011i1111(A)((Ri))(A0–A3)(Ri)0-3- 35 -(A)(Rn)Таблица 2.

ГРУППА КОМАНД ПЕРЕДАЧИ УПРАВЛЕНИЯHaзвание командыДлинный переход и полном объёмеАбсолютныйпереходвнутристраницы в 2 КбКороткий относительный переходвнутри страницы в 256 БайтКосвенный относительный переходПереход, если аккумулятор равеннулюПереход, если аккумулятор не равен нулюПереход, если перенос равен единицеПереход, если перенос равен нулюМнемокодLJMP ad16КОП00000010Ц2Б3Операция(PC)ad16AJMP ad1122SJMP relА10А9А8 000011000000022JМР @А+DPTR0111001121(РС)(РС)+2,(PC)(PC)+rel(РС)(РС)+2,(PC)(PC)+rel(РС)(А)+(DPTR)JZ rel0110000022JNZ rel0111000022JC rel0100000022JNC rel0101000022Переход, если бит равен единицеJB bit, rel0010000023Переход, если бит равен нулюJNB bit, rel0011000023Переход, если бит установлен, споследующим сбросом бита.Декремент регистра и переход, если не нульJВС bit, rel0001000023DJNZ Rn, rel11011rrr22Декремент прямо адресуемогобайта и переход, если не нульDJNZ ad, rel1101010123Сравнение аккумулятора с прямоадресуемым байтом и переход, если не равноСравнение аккумулятора с константойСравнение регистра с константойи проход, если не равноСравнение байта РПД с константой и переход, если не равноCJNE A, ad, rel1011010123CJNE A, #d, rel1011010023СJNE Rn, #d, relA10A9A8100101011011i2223CJNE @Ri, #d,relДлинный вызов подпрограммыLCALL ad160001001023Абсолютный вызов подпрограммыв пределах страницы в 2 КбACALL ad110001001022Возврат из подпрограммыRET0010001021Возврат из подпрограммы обработки прерыванияRETI0011001021Холостая командаNOP0000000011- 36 -(РС)(РС)+2,при (А)=0:(PC) (PC)+rel(РС)(РС)+2, при (А)0:(PC)(PC)+rel(РС)(РС)+2, при (С)=1:(РС)(РС)+rel(PC)(PC)+2, пpи (С)=0:(PC)(PC)+rel(PC)(PC)+3, пpи (b)=1:(PC)(PC)+rel(PC)(PC)+3, пpи (b)=0:(PC)(PC)+rel(РС)(РС)+3,при(b)=1:(b)0, (PC)(PC)+rel.(PC)(PC)+2, (Rn)(Rn>1,пpи(Rn)0:(PC)(PC)+rel(PC)(PC)+2, (ad)(ad)1,при(ad)0:(PC)(PC)+rel(PC)(РС)+3,при(A)(ad): РС)(РС)+rel(PC)(PC)+3,пpи (A)#d:(PC)(PC)+rel(PC)(PC)+3, npи (Rn)d:(PC)(PC)+rel(PC)(PC)+3,при((Ri))#d:(PC)(PC)+rel(РC)(РС)+З, (SP)+(SP)+l,((SP))(PC0-7),(SP)(SP)+1, ((SP))(PC815), ((SP))=(PC0/15)(PC)ad11, (SP)(SP)+1,((SP))(PC0-7),(SP)(SP)+1, ((SP))(PC811)(PC8-15)((SP)),(SP)(SP)-1,(PC8-15)((SP)),(SP)-(SP)-1(PC8-15)((SP)),(SP)(SP)-1,(PC0-7)((SP)), (SP)(SP)1(PC)(PC)+1Таблица 3.

ГРУППА КОМАНД АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙНазвание командыСложение аккумулятора с регистром(n=0-7)Сложение аккумулятора с прямо адресуемым байтомСложение аккумулятора с байтом изРПДСложение аккумулятора с константой .Сложение аккумулятора с регистром ипереносомСложение аккумулятора с прямо адресуемым байтом и переносомСложение аккумулятора с байтом изРПД и переносомСложение аккумулятора с константой ипереносомДесятичная коррекция аккумулятораВычитание из аккумулятора регистра изаемаВычитание из аккумулятора прямо адресуемого байта и заемаВычитание из аккумулятора байта РПДи заемаВычитание из аккумулятора константыи заемаИнкремент аккумулятораИнкремент регистраИнкремент прямо адресуемого байтаИнкремент байта а РПДИнкремент указателя данныхДекремент аккумулятораДекремент регистраДекремент прямо адресуемого байтаДекремент байта в РПДУмножение аккумулятора на регистр ВДеление аккумулятора на регистр ВМнемокодADD A, RnКОП00101rrrЦ1Б2Операция(A)(A)+(Rn)ADO A, ad0010010112(A)(A)+(ad)ADO A, @R10010011111(A)(A)+((Ri))ADD A, #dADDC A, Rn0010010000111rrr1121(A)(A)+#d(А)(А)+(Rn)+(С)ADD A, ad0011010112(A)(A)+(Rn)+(C)ADDC A, @Ri11(A)(A)+((Ri))+(C)ADDC A, #d00110100001001110011010012(A)(A)+#d+(C)DA ASUBB A, Rn1101010010011rrr1111(A)(A)-(C)-(Rn)SUBB A, Ad1001010111(A)(A)-(C)-((ad))SUBB A, @Ri1001011111(A)(A)-(C)-(Ri)SUBB A, #d1001010012(A)(A)-(C)-#dINC AINC RnINC adINC @RiINC DPTRDEC ADEC RnDEC adDEC @RiMUL ABDIV AB0000010000001rrr000001010000011i101000110001010000011rrr000101010001011i10100100100001001111211114411211112111(A)(A)+1(Rn)(Rn)+1(ad)(ad)+1((Ri))((Ri))+1(DPTR)(DPTR)+1(А)(А)-1(Rn)(Rn)-1(ad)(ad)-1((Ri))((Ri))-1(B)(A)(A)X(B)(B).(A)(A)/(B)Таблица 4.

ГРУППА КОМАНД ОПЕРАЦИЙ С БИТАМИНазвание командыСброс переносаСброс битаУстановка переносаУстановка битаИнверсия битаИнверсия переносаЛогическое И бита и переноса.Логическое ИЛИ бита и переносаЛогическое И инверсии бита и переносаЛогическое ИЛИ инверсии бита и переносаПересылка бита в переносПересылка переноса в битМнемокодCLR СCLR bitSETB СSETB bitCPL bitCPL СANL С, bitORL С, bitANL С, /bitORL C, /bitКОП11000011110000101101001111010010101100101011001110000010011100101011000010100000Ц1111112222Б1212212222Операция(С)0(b)0(С)1(b)1(b)(-b)(С)(-С)(С)(С)(b)(C)(C)(b)(C)(C)(-b)(C)(C)(-b)MOV C, /bitMOV bit, С10100010100100101222(C)(b)(b)(c)- 37 -Таблица 5.

ГРУППА КОМАНД ЛОГИЧЕСКИХ ОПЕРАЦИЙНазвание командыЛогическое И аккумулятора и регистраЛогическое И аккумулятора и прямо адресуемого байтаЛогическое И аккумулятора и РПДЛогическое И аккумулятора и конст.Логическое ИЛИ аккумулятора и прямоадресуемого байтаЛогическое ИЛИ аккумулятора и регистраЛогическое ИЛИ аккумулятора и РПДЛогическое ИЛИ аккумулятора и константыЛогическое ИЛИ прямо адресуемого байтаи аккумулятораЛогическое ИЛИ прямо адресуемого байтам константыЛогическое ИЛИ прямо адресуемого байтаи аккумулятораИсключающее ИЛИ аккумулятора м регистраИсключающее ИЛИ аккумулятора и прямоадресуемого байтаИсключающее ИЛИ аккумулятора и байтаРПДИсключающее ИЛИ аккумулятора и константыИсключающее ИЛИ прямо адресуемогобайта и аккумулятораИсключающее ИЛИ прямо адресуемогобайта и аккумулятораСброс аккумулятораИнверсия аккумулятораСдвиг аккумулятора влево через CСдвиг аккумулятора вправо циклическийСдвиг аккумулятора вправо через CОбмен местами тетрад в аккумулятореМнемокодANL A, RnANL A, adКОПO1Ollrrr01010101Ц11Б11Операция(А)(А)(Rn)(А)(А)(ad)ANL A, @RiANL A, #dORL A, ad01010111O1Ollrrr01000101111221(А)(А)((Ri))(А)(А)#d(A)(A)(ad)ORL A, RnORL A, @RiORL A, #dO1001rrr0100011101000100111112(A)(A)(Rn)(A)(A)  ((R1))(A)(A)  #dORL ad, A0100001012(ad)(ad)  (A)ORL ad, #d0100001023(ad)(ad)  #dORL ad, A0100001012(ad) (ad)  (A)XRL A, RnOl101rrr11(A)  (A)¤(Rn)XRL A, ad0110010112(A)  (A)¤(ad)XRL A, @Ri0110011111(A)  (A) ¤ ((R1))XRL A, #d0110010012(A)  (A)¤ #dXRL ad, A0110001012(ad)  (ad)(A)XRL ad, #d0110001123(ad)  (ad) ¤ #dCLR ACPL ARLC ARR ARRC ASWAP A111001001111010000110011000000110001001111000100111111112111(A)0(A)  - (A)П2.

Диспетчер процессов. Прокомментированный код программы0000 02002B LJMP 002B ;зона векторов... .........;аппаратных000B 0200D0 LJMP 00D0;прерываний устройств... .........;микроконтроллера;--------------Начальная настройка микроконтроллера---------------002B 758164 MOVSP,#64 ;перенос вершины стека002E 7524FC MOV24,#FC ;настройка Т/С0, установка начальных0031 752582 MOV25,#79 ;значений регистров для счета в 1 мс0034 85248C MOVTH0,24 ;перенос начальных значений0037 85258A MOVTL0,25 ;в регистры Т/С0003A 758911 MOVTMOD,#11;задание режимов Т/С0003D 758810 MOVTCON,#10;задание режимов Т/С00040 75A882 MOVIE,#82 ;разрешение прерываний от Т/С00043 E4CLRA;обнуление0044 F520MOV20,A;регистра статусов квантов0046 F521MOV21,A;регистра флагов квантов0048 120162 LCALL 0162 ;переход к П/П начальной настройки пользователя;---------Пультовая петля диспетчера квантов---------004C 00NOP;начало пультовой петли диспетчера 004A004D 00NOP004E 00NOP- 38 -004F 30080B JNB21.0(08),005D;если не установлен флаг PR0 – в 5D:0052 300008 JNB20.0(00),005D;если не установлен статус PR0 – в 5D:0055 C208CLR21.0(08);иначе, очистить флаг PR00057 120149 LCALL 0149;идти к вектору PR0 (запустить)005A 3030F2 JNB26.0(30),004C;если приоритет не круговой – в 4C:005D 30090B JNB21.1(09),006B;если не установлен флаг PR1 – в 6B:0060 300108 JNB20.1(01),006B;если не установлен статус PR1 – в 6B:0063 C209CLR21.1(09);иначе, очистить флаг PR10065 12014C LCALL 014C;идти к вектору PR1 (запустить)0068 3030E4 JNB26.0(30),004C;если приоритет не круговой – в 4C:006B 300A0B JNB21.2(0A),0079;если не установлен флаг PR2 – в 79:006E 300208 JNB20.2(02),0079;если не установлен статус PR2 – в 79:0071 C20ACLR21.2(0A);иначе, очистить флаг PR20073 12014F LCALL 014F;идти к вектору PR2 (запустить)0076 3030D6 JNB26.0(30),004C;если приоритет не круговой – в 4C:0079 300B0B JNB21.3(0B),0087;если не установлен флаг PR3 – в 87:007C 300308 JNB20.3(03),0087;если не установлен статус PR3 – в 87:007F C20BCLR21.3(0B);иначе, очистить флаг PR30081 120152 LCALL 0152;идти к вектору PR3 (запустить)0084 3030C8 JNB26.0(30),004C;если приоритет не круговой – в 4C:0087 300C0B JNB21.4(0C),0095;если не установлен флаг PR4 – в 95:008A 300408 JNB20.4(04),0095;если не установлен статус PR4 – в 95:008D C20CCLR21.4(0C);иначе, очистить флаг PR4008F 120155 LCALL 0155;идти к вектору PR4 (запустить)0092 3030BA JNB26.0(30),004C;если приоритет не круговой – в 4C:0095 300D0B JNB21.5(0D),00A3;если не установлен флаг PR5 – в А3:0098 300508 JNB20.5(05),00A3;если не установлен статус PR5 – в A3:009B C20DCLR21.5(0D);иначе, очистить флаг PR5009D 120158 LCALL 0158;идти к вектору PR5 (запустить)00A0 3030AC JNB26.0(30),004C;если приоритет не круговой – в 4C:00A3 300E0B JNB21.6(0E),00B1;если не установлен флаг PR6 – в B1:00A6 300608 JNB20.6(06),00B1;если не установлен статус PR6 – в B1:00A9 C20ECLR21.6(0E);иначе, очистить флаг PR600AB 12015B LCALL 015B;идти к вектору PR6 (запустить)00AE 30309E JNB26.0(30),004C;если приоритет не круговой – в 4C:00B1 300F0B JNB21.7(0F),00BF;если не установлен флаг PR7 – в BF:00B4 300708 JNB20.7(07),00BF;если не установлен статус PR7 – в BF:00B7 C20FCLR21.7(0F);иначе, очистить флаг PR700B9 12015E LCALL 015E;идти к вектору PR7 (запустить)00BC 808ESJMP 004C;возврат к началу пультовой петли...

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