<
>
Цитата дня
«Если человек не желает по утрам заниматься бегом, ничто не может его остановить». Йоги Берра

Architect

Вопросы к курсу. Лабораторный практикум по архитектуре компьютера и микропроцессорной технике

Даташит Atmega328P-U

Скачать [.pdf]

Вопросы к экзамену

Вопросы для промежуточной аттестации по курсу "Архитектура компьютера. Часть I":

Скачать [.pdf]

Билеты к экзамену

Вопросы для промежуточной аттестации по курсу "Архитектура компьютера. Часть I":

Скачать [.pdf]

Лабораторный практикум

Требования к оформлению отчета

Отчет выполняется в тетради в клетку 12 листов

  1. Тема
  2. Цель
  3. Схема установки
  4. Ход работы
  5. Листинг программы
  6. Расчеты и графики
  7. Вычисление погрешности
  8. Вывод

Работа 1. Прототипирование базисных логических элементов на базе ТТЛ

  1. Собрать на макетной плате схему инвертора. Проверить корректность ее работы
  2. Добавить к схеме еще один транзистор, чтобы получить схему И-НЕ.

Работа 2. Определение объема памяти программ (FLASH)

Файл описания m328pdef.inc

  1. Подключить к одному из выводов любого порта микроконтроллера светодиод.
  2. Написать программу, генерирующую одиночный прямоугольный импульс. Прошить ее во FLASH память микроконтроллера. Убедиться, что светодиод горит (при подключении к другим выводам порта светодиод гореть не должен).
  3. Подключить вместо светодиода измерительные щупы осциллографа. Измерив ширину импульса, определить тактовую частоту. Измерив время между повторениями импульса, определить объем памяти программ.

Примечание: Каждая команда выполняется за одинаковое количество тактов (за один такт), каждая команда занимает 2 байта.

Работа 3. Кнопка

  1. Подключить к выводу PD5 светодиод, а к выводу PD0 кнопку. Вместо кнопки использовать перемычку, перебрасываемую с Vcc на GND. Перемычку к выводу PD0 подключать через резистор с сопротивлением R = 2К (на маркировке резистора указаны две красные полосы)
  2. Написать программу, которая зажигает светодиод если кнопка нажата (перемычка подключена к Vcc). Если кнопку отжата (перемыка подключена к GND), светодиод гаснет.

Примечание: Для чтения состояния кнопки используется команда IN Rd, PINx. Для проверки состояния нажатия кнопки использовать команду Skip if Bit in Register is Set SBRS R, b, которая пропускает следующую команду в программе, если бит с номером b регистра R установлен (равен 1)

Работа 4. Меандр - это красиво!

  1. Подключить к выводу PD5 светодиод. Сгенерируйте импульсы с различной скважностью, указанной ниже. Выявите зависимость яркости светодиода от скважности, зафиксируйте вид импульса и измерьте временные параметры импульса с использованием осциллографа.
  2. Сгенерировать меандр - импульс со скважностью два. Длительность импульса (им. ввиду высокий уровень) задать равной 17 мкс. Для этого необходимо сделать задержку с использованием цикла (используйте команды DEC, BRNE). Количество итераций рассчитать, исходя из длительности команд DEC и BRNE
  3. Сгенерировать импульс со скважностью 5. Длительность импульса оставить равной 17 мкс. Длительность нулевого уровня рассчитать с использованием формулы для скважности S.
  4. Сгенерировать импульс со скважностью 50. Длительность импульса оставить равной 17 мкс.
  5. Сгенерировать импульс со скважностью 100. Измените длительность импульса, чтобы не создавать лишних циклов.

Примечание: Скважность вычисляется по формуле S = T / t, где T - период импульса, t - длительность импульса (высокого уровня). Для задания задержки реализовать цикл с использованием команд DEC и BRNE. Начните уже использовать в командах перехода метки вместо адресов.

Напоминание: Длительность почти всех команд составляет 1 такт (2 мкс). Длительность команды BRNE составляет 1 мкс.

Усложнение: Вместо BRNE используйте связку BREQ и JMP.

Работа 5. Stack & Blink

  1. Напишите подпрограмму задержки. Обозначьте начало подпрограммы меткой DELAY1
  2. Перепишите программу с прошлого урока с использованием подпрограммы DELAY1. Сгенерируйте меандр с частотой 1 кГц и 3 кГц.
  3. Подключите вместо светодиода пьезокерамический излучатель звука.
  4. Напишите подпрограмму DELAY2, генерирующую меандр с частотой 0.5 Гц. Используйте цикл в цикле в цикле. Наблюдайте мигание светодиода.

Примечание: Для вызова подпрограммы используйте инструкцию CALL, для записи в стек PUSH, для извлечения из стека POP, для возврата RET.

______Итоговая работа "Сирена"______

Спроектируйте сирену. Сирена должна состоять из двух светодиодов, поочередно мигающих, а также динамика, излучающего поочередно звук с различными частотами.

Усложнение: напишите программу, реализующую мирцание светодиода - плавное зажигание и плавное погасание.

Интересная литература

1 Как сделать из ведра песка микропроцессор? Перейти
2 Как прошить ATMEGA на необитаемом острове Перейти
3 Е. Айсберг, Транзистор?.. Это очень просто!.
В доступной форме диалога объясняется устройство p-n перехода и принцип работы транзистора. Есть ещё интересная книга Радио?.. Это очень просто!
4 Э. Таненбаум, Архитектура компьютера.
Описывается архитектура современного микропроцессора Core i7. Фундаментальная работа, для тех, кто работает в IT. Подойдет скорее для обучающихся в ВУЗе по специальностям, связанным с программированием. Но отдельные главы интересно полистать и понять.