Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Задания к лабораторным работам первого уровняСтр 1 из 28Следующая ⇒
Задания к лабораторным работам При выполнении лабораторных работ необходимо руководствоваться учебным пособием «Интегрированная среда разработки MPLAB IDE микроконтроллеров PIC micro» и учебным пособием «Система команд микроконтроллеров PIC 16F8xxx». Тематика лабораторных работ охватывает основные разделы лекционного курса и по степени сложности разделяется на 3 уровня.
Задания к лабораторным работам первого уровня 1. Считать байт из регистра банка «0» и передать в регистр банка «1». 2. Считать байт из порта В и передать в порт С. 3. Выбрать массив данных, состоящий из восьми ячеек, из банка «0» и передать его в массив банка «1». 4. Проинвертировать байт из регистра банка «1» и если младший бит равен нулю, то передать его в порт B, если младший бит не равен нулю, то сложить считанный код с константой и записать в ячейку банка «0». 5. Сложить два байта и если признак переноса , то поместить результат в другой регистр, если , то вычесть из полученного результата константу АА и передать полученную разность в порт В. 6. Вычесть из регистра банка «1» константу, находящуюся в банке «0», результат поместить в регистр банка «1». 7. Сдвинуть код из регистра банка «1» вправо на 1 разряд и результат поместить в регистр банка «1». 8. Вычесть единицу из кода, хранящегося в регистре банка «1». Если результат не равен нулю, то организовать цикл с последующим вычитанием единицы. Если результат равен нулю, то выйти из программы. 9. Задать с помощью таймера 0 интервал 24,5 мкс. По истечении этого времени перейти по метке М. 10. Протестировать бит 2 регистра с адресом 1F. Если результат равен нулю, то перейти по метке М, если не равен нулю, то сложить код в аккумуляторе с константой 0F и результат поместить в регистр с адресом 20H. 11. Установить в 1 бит 3 регистра с адресом 2АН. Результат поместить в регистр банка 0. 12. Сбросить в ноль бит 3 регистра банка 0. Если результат не равен 0, то продолжить выполнение программы, если равен нулю, то перейти по метке М. 13. Проинвертировать содержимое регистра банка 1. Если результат равен нулю, то перейти по метке М, если результат не равен нулю, то переслать содержимое регистра в банк 0. 14. Организовать переход к метке М по переполнению таймера 0. 15. Записать в ячейки ROM с адресами 0Ch, 0Dh число 1С3FH. 16. Сложить содержимое регистров с адресами 1Eh и 1Fh. Результат поместить в регистр с адресом 1Eh. 17. Выполнить логический сдвиг влево двухбайтного числа, младший байт которого расположен в аккумуляторе, а старший – в регистре 2FH. 18. Передать содержимое таймера TMR0 в регистр 0DA без потери содержимого аккумулятора. 19. Передать содержимое блока регистров с адресами с 0Ch по 13h в область, начинающуюся с регистра 67h. 20. Инкрементировать содержимое регистров с адресами 10h÷18h. 21. Передать данные из порта А в порт В. 22. Ввести в регистр с адресом 2Fh информацию из линий 1 и 3 порта В. 23. Проинвертировать содержимое регистра 0Fh, если бит 7 порта В равен 1. Если этот бит равен нулю, то переслать биты 0÷4 в порт А. 24. Выполнить арифметический сдвиг двухбайтного слова, находящегося в регистрах 0Dh и 0Eh вправо на один разряд. 25. Выдать в линию 3 порта А значение 5-го бита аккумулятора. 26. Сдвинуть циклически код, находящийся в регистре 60hвправо после поступления на вход RB0 десяти импульсов. 27. Вычислить булеву функцию . Результат поместить в регистр 2Fh. Операнды X и Y расположены по адресам 68h и 69h. 28. Считать 2-х байтное число из регистров банка 0 и передать его в регистры банка 1. 29. Считать последовательно 2 байта из порта В и передать их в порт С. 30. Организовать задержку на 20 мкс с помощью таймера TMR0. 31. Организовать задержку на 60 мкс с помощью таймера TMR0. 32. Организовать задержку на 200 мкс с помощью таймера TMR0. 33. Отслеживать сигнал на входе RB0 и при появлении единицы обнулить массив из восьми ячеек, начиная с адреса 80h. 34. Считать слово А из порта В и если , то проинвертировать А и результат переслать в регистр с адресом 87h. Если , то переслать А в порт С. 35. Вычесть из кода, находящегося в регистре R1, константу САh и результат отправить в регистр R2. 36. Сложить два двухбайтных числа, принятых через порт B. 37. Отслеживать синусоиду 50 Гц и при переходе с минуса на плюс полуволны запустить таймер TMR0 на время 800 мкс. 38. Принять через порт В код, прибавить к нему константу и выдать результат через порт С. 39. Мигающий светодиод с частотой 100 Гц. 40. Фильтрация данных, считываемых через порт В, если код А больше значения F0h, то передать А в порт С, если , то сохранить А в ячейках, начиная с адреса 80h. 41. При поступлении на вход RA0 уровня логической единицы, сформировать на выходе RB1 импульс с длительностью 10 мс и периодом 20 мс. 42. Составить подпрограмму задержки на 24,5 мкс. 43. Вычислить выражение и выдать результат через порт В. 44. Увеличить вдвое число, принятое через порт А и передать его через порт С внешнему приёмнику информации. 45. Отсчитать 100 импульсов, поступающих на вход таймера TMR0 и перейти к подпрограмме обработки прерывания от таймера TMR0. 46. Измерить интервал времени между двумя последовательными импульсами и выдать его шестнадцатеричное значение в порт С. 47. Принять код через порт С, уменьшить его вдвое, прибавить константу 02h и выдать результат в порт В. 48. Организовать с помощью таймера задержку 3 мс при тактовой частоте 20 МГц. 49. Написать подпрограмму обработки прерываний по входу RB0, выполняющую выдачу кода из какого-либо регистра в порт С. 50. При появлении 1 на входе RA0 сложить два регистра R1 и R2 и результат поместить в регистр R3.
Date: 2016-06-09; view: 1186; Нарушение авторских прав |