Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


В.В. Головин




О.Г. Петушкова

Начальник Центральной электротехнической

лаборатории ОАО «ММК»

В.В. Головин

 

 

С. И. Лукьянов, Д.В. Швидченко, Е.С. Суспицын, Р.С. Пишнограев

«Курсовое проектирование по дисциплинам «Машинные языки программирования» и «Основы микропроцессорной техники»»: Учебное пособие – Магнитогорск: МГТУ им. Г.И. Носова, 2010. – 49 с.

 

В учебном пособии приведены варианты заданий курсового проектирования по дисциплинам «Машинные языки программирования» и «Основы микропроцессорной техники» для студентов специальности 210106 «Промышленная электроника» и направления 210100 «Электроника и микроэлектроника». Приведен пример оформления курсового проекта и система команд микропроцессора КР580ВМ80А.

 

 

© Лукьянов С.И., Швидченко Д.В..,

Суспицын Е.С., Пишнограев Р.С. 2010

 


КУРСОВАЯ РАБОТА ПО ДИСЦИПЛИНЕ

"МАШИННЫЕ ЯЗЫКИ ПРОГРАМИРОВАНИЯ"

 

ЗАДАНИЕ

 

Разработать и на учебном микропроцессорном комплекте микропроцессорной системы КР580ВМ80А отладить программу по варианту задания.

 

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

 

1. Выполнить анализ поставленной задачи и определить пути ее решения.

2. Разработать общую блок-схему алгоритма выполнения программы и провести привязку переменных и констант к элементам памяти структурной схемы микропроцессора.

3. Разработать подробный алгоритм решения задачи и программу на языке Ассемблера МП КР580ВМ80А (см. приложение А).

4. Разработать программу в машинных кодах МП КР580ВМ80А (см. приложение В) и составить карту памяти по функциональному назначению программы.

5. Загрузить программу в учебный микропроцессорный комплект и проверить достоверность ее выполнения на контрольном примере, заданном преподавателем.

6. Оформить пояснительную записку.

 

СОДЕРЖАНИЕ ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ

 

1. Оформить титульный лист по предлагаемому образцу (приложение Е).

2. Анализ поставленной задачи и определение возможных путей ее решения.

3. Привязка к конкретным регистрам микропроцессора и памяти с доказательством и, если необходимо, расчетами.

4. Подробная блок-схема алгоритма решения поставленной задачи и ее подробное описание. Алгоритм оформить по предложенному образцу (приложение F).

5. Описание программы на языке Ассемблера и в машинных кодах в соответствии с рекомендуемой таблицей (приложение G).

6. Подробные выводы по работе.

 

ВАРИАНТЫ ЗАДАНИЙ ДЛЯ КУРСОВОГО ПРОЕКТИРОВАНИЯ ПО ДИЦИПЛИНЕ "МАШИННЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ"

1. Рассчитать контрольную сумму ПЗУ с адреса 0000h по адрес 0100h. Учитывать перенос в старший байт и знак. Предусмотреть возможность переноса программы в адресном пространстве. Определить количество отрицательных чисел в массиве, модуль которых больше 3. Формат чисел:

Модуль числа З

где: З – знак числа.

 

2.

2 сочетание
1 сочетание
Подсчитать число сочетаний «11» в адресном пространстве 0000h – 0100h. Начальный и конечный адрес должны находиться в ячейках памяти 0800h, 0801h и 0802h, 0803h соответственно. Например:

       
   
 
 

 


Модуль числа

 

3. Составить тест-программу ОЗУ на запись С9h с адреса 0900h по адрес 0A00h. Начальный и конечный адреса массива ОЗУ должны находиться в ячейках памяти 0800h, 0801h и 0802h, 0803h соответственно. Предусмотреть сохранение адресов сбойных ячеек (ячейки, в которых записано любое число, кроме С9h) по адресу 0А01h.

 

4. Составить программу сложения 5 чисел с учетом знака и переноса. Числа находятся в адресном пространстве 0800h – 0804h. При этом числа имеют следующий формат:

Модуль числа Х З Модуль числа

где: Х – незначащие биты числа, З – знак числа. Кроме суммы определить количество положительных и отрицательных чисел в массиве.

 

5. Найти минимальное по модулю число из массива чисел, находящихся в адресном пространстве с адреса 0900h и имеющих следующий формат:

Х Модуль числа З Х Х

где: Х – незначащие биты числа, З – знак числа. Объем массива задается в ячейке памяти 08FFh. Определить модуль максимального числа.

 

6. Составить тест-программу перемещения произвольного количества чисел с начального адреса 0805h в начальный адрес 0905h. Объем массива задается в ячейке памяти 0800h. Числа имеют следующий формат:

Х Х Модуль числа З Модуль числа

где: Х – незначащие биты числа, З – знак числа. Предусмотреть расширение чисел по знаку. Контролировать правильность переноса и подсчитать количество сбойных ячеек. После переноса найти сумму первого и последнего чисел, модуль которых больше 5, с учетом знака и переноса, ответ записать в ячейку памяти после массива чисел.

 

7. Найти последнее четное отрицательное число в адресном пространстве ОЗУ с адреса 0800h по адрес 0900h. Предусмотреть возможность переноса программы в адресном пространстве ОЗУ. Сохранять в памяти адрес последнего четного отрицательного числа. Формат чисел:

З Модуль числа Х Х

где: Х – незначащие биты числа, З – знак числа. Подсчитать количество всех отрицательных чисел в массиве.

 

8. Расположить в порядке возрастания модулей числа, находящиеся в адресном пространстве 0800h – 0900h. Старший бит – знаковый. Начальный и конечный адрес массива данных расположить в ячейках 0900h – 0903h. Формат чисел:

З Модуль числа

где: З – знак числа. Подсчитать количество нечетных чисел.

 

9. Отфильтровать положительные числа массива данных с адреса 0800h по адрес 0900h. Положительные числа инвертировать (т.е. заменить их знак) и расположить в этом же адресном пространстве в порядке их следования в исходном массиве. Формат чисел:

 

Х Х З Модуль числа

где: Х – незначащие биты числа, З – знак числа. Подсчитать количество отрицательных чисел в массиве.

 

10. Сложить 5 двухбайтных чисел, находящихся в адресном пространстве 0800h – 0809h, с учетом знака и переноса из старшего бита суммы. Ответ разместить в ячейках 080Аh – 090Сh. Лишние биты суммы заполнить нулями. Формат чисел:

младший байт

Модуль числа З

старший байт

Модуль числа

где: З – знак числа.

 

11. В адресном пространстве 0800h – 0900h записана последовательность 7 битных чисел. Причем, в целях экономии объема ОЗУ биты записываются один за другим. Найти и записать максимальное число и его порядковый номер. Формат чисел:

ст. бит
мл. бит
мл. бит
1 ячейка памяти

     
  Модуль 1 числа

ст. бит
мл. бит
2 ячейка памяти

   
Модуль 3 числа Модуль 2 числа

ст. бит
мл. бит
3 ячейка памяти

   
Модуль 4 числа Модуль 3 числа

 

12. Последовательность из 256 битов записывается в ячейки ОЗУ, начиная с адреса 0800h. Необходимо в данной последовательности выбрать и подсчитать количество сочетаний «110». Причем, в отдельный массив необходимо сохранять адреса первых единиц последовательности.

 

13. Составить программу умножения числа, находящегося в регистровой паре (DE) на 7. Результат разместить в регистровых парах (HL) и (BC), причем неиспользуемые под число биты расширить по знаку. В программе предусмотреть загрузку в (DE) числа следующего формата:

мл. бит
регистр (Е)

 
Модуль числа Х

ст. бит
регистр (D)

 
Х Модуль числа

где: Х – незначащие биты числа, З – знак числа.

14.

2 сочетание
1 сочетание
Подсчитать число сочетаний «100» в адресном пространстве 0000h – 0100h. Начальный и конечный адрес должны находиться в ячейках памяти 0800h, 0801h и 0802h, 0803h соответственно. Например:

       
   
 
 

 


Модуль числа

 

15. Составить тест программу ОЗУ на запись 00h с адреса 0800h по адрес 0A00h. Начальный и конечный адреса массива ОЗУ должны находиться в ячейках памяти 0800h, 0801h и 0802h, 0803h соответственно. Предусмотреть сохранение адресов сбойных ячеек (ячейки, в которых записано любое число, кроме А8h), начиная с адреса 0А01h.

 

16. Составить программу нахождения разности чисел массива с учетом знака и переноса. Начальный и конечный адреса массива находятся в ячейках памяти 0800h – 0803h. При этом числа имеют следующий формат:

Х Модуль числа З Модуль числа

где: Х – незначащие биты числа, З – знак числа. Кроме разности найти и записать в ячейку памяти ее модуль.

 

17. Найти максимальное по модулю число из массива чисел, находящихся в адресном пространстве с начального адреса 0900h и имеющих следующий формат:

Х З Модуль числа Х

где: Х – незначащие биты числа, З – знак числа. Объем массива задается в ячейке памяти 0800h. Подсчитать количество четных чисел в массиве.

 

18. Составить тест-программу перемещения произвольного количества чисел с начального адреса 0805h в начальный адрес 0905h. Объем массива задается в ячейке памяти 0800h. Числа имеют следующий формат:

Х Х З Модуль числа

где: З – знак числа. При переносе изменить знак положительных чисел массива. Контролировать правильность переноса и подсчитать количество сбойных ячеек.

 

19. Найти последнее нечетное отрицательное число в адресном пространстве ОЗУ 0800h – 0900h. Предусмотреть возможность переноса программы в адресном пространстве ОЗУ. Сохранять в памяти адрес последнего нечетного отрицательного числа. Формат чисел:

Х Х Модуль числа З

где: Х – незначащие биты числа, З – знак числа. Определить модуль последнего отрицательного числа.

 

20. Расположить в порядке убывания модулей массив чисел, находящихся в адресном пространстве 0800h – 0900h. Начальный и конечный адрес массива данных расположить в ячейках 0900h – 0903h. Формат чисел:

З Модуль числа

где: З – знак числа. Подсчитать сумму первого и последнего числа с учетом знака.

 

21. Отфильтровать отрицательные числа массива данных 0800h – 0900h. Положительные числа расположить в этом же адресном пространстве в порядке их следования в исходном массиве. Вместо отрицательных чисел записать их модули. Формат чисел:

Модуль числа Х З Модуль числа

где: Х – незначащие биты числа, З – знак числа.

 

22. Сложить 5 двухбайтных чисел, находящихся в адресном пространстве 0800h – 0809h, с учетом знака, с учетом переноса. Ответ разместить в ячейках 080Аh – 090Сh. Неиспользуемые под результат биты суммы заполнить знаком числа. Формат чисел:

ст. бит
младший байт

 
Модуль числа

мл. бит
старший байт

 
З Х Х Х Х Модуль числа

 

23. В адресном пространстве 0800h – 0900h записана последовательность 14 битных чисел. Причем в целях экономии объема ОЗУ биты записываются один за другим. Найти минимальное число и записать его порядковый номер. Формат чисел:

 

мл. бит
1 ячейка памяти

 
1 число

мл. бит
ст. бит
2 ячейка памяти

   
2 число 1 число

3 ячейка памяти

2 число

 

24. Последовательность из 256 битов записывается в ячейки ОЗУ, начиная с адреса 0800h. Необходимо в данной последовательности выбрать и подсчитать количество сочетаний «010». Причем, в отдельный массив необходимо сохранять адреса единиц последовательности.

 

25. Составить программу умножения числа, находящегося в регистровой паре (HL) на 8. Результат разместить в регистровых парах (ВС) и (DE), причем неиспользуемые под число биты расширить по знаку. В программе предусмотреть загрузку в (HL) числа следующего формата:

мл. бит
регистр (L)

 
Модуль числа Х

ст. бит
регистр (Н)

 
Х Модуль числа З

где: Х – незначащие биты числа, З – знак числа.

 

26. Из массива чисел, находящихся в адресном пространстве начиная с адреса 0900h, найти число с максимальным количеством «1». Объем массива задается в ячейке памяти 08FFh. Числа имеют следующий формат:

Модуль числа

 

27. Составить тест программу ОЗУ на запись "бегущей единицы" с адреса 0900h по адрес 0A00h. При достижении «1» младшего бита числа тест начинать со старшего бита следующей ячейки. Например:

 

 

Х Х Х Х Х Х Х
1 ячейка
Х Х Х Х Х Х Х
2 ячейка

Х Х Х Х Х Х Х
n ячейка
Х Х Х Х Х Х Х
(n+1) ячейка

Начальный и конечный адреса массива ОЗУ должны находиться в ячейках памяти 0800h, 0801h и 0802h, 0803h соответственно. Предусмотреть подсчет сбойных ячеек (ячейки, в которые не произошла запись 1 в соответствующий бит) по адресу 0804h.

 

 

28. Составить тест-программу перемещения произвольного количества чисел с начального адреса 0805h в начальный адрес 0905h. Объем массива задается в ячейке памяти 0800h. Числа имеют следующий формат:

Модуль числа

где: З – знак числа. При переносе числа записать в обратном порядке (последнее – первым, предпоследнее – вторым и т.д.). Контролировать правильность переноса и сохранить в памяти адреса сбойных ячеек.

 

 

29. Разделить четные и нечетные числа массива данных с 0800h по 0900h. Четные и нечетные числа расположить в отдельных массивах в порядке их следования в исходном массиве. Производить контроль записи и подсчитать количество сбойных ячеек в обоих массивах. Формат чисел:

 

 

Модуль числа

 

 

30. В адресном пространстве 0800h – 0900h записана последовательность 12 битных чисел. Причем в целях экономии объема ОЗУ биты записываются один за другим. Найти максимальное по модулю число и записать его порядковый номер. Формат чисел:

мл. бит
1 ячейка памяти

 
З1 Модуль 1 числа

мл. бит
ст. бит
2 ячейка памяти

   
Модуль 2 числа Модуль 1 числа

ст. бит
3 ячейка памяти

 
Модуль 2 числа З2 Модуль 2 числа

где: З1, З2, … – знак соответствующего числа.

 

31. Рассчитать контрольную сумму ПЗУ с адреса 0000h по адрес 0100h. Учитывать перенос в старший байт. Предусмотреть возможность переноса программы в адресном пространстве. Определить количество ячеек, в 7 бите которых записан «0». Формат чисел:

Модуль числа

 

32.

2 сочетание
1 сочетание
Подсчитать число сочетаний «01» в адресном пространстве 0000h – 0100h. Начальный и конечный адрес должны находиться в ячейках памяти 0800h, 0801h и 0802h, 0803h соответственно. Например:

       
   
 
 

 


Модуль числа

 

33. Составить тест-программу ОЗУ на запись FFh с адреса 0900h по адрес 0A00h. Начальный и конечный адреса массива ОЗУ должны находиться в ячейках памяти 0800h, 0801h и 0802h, 0803h соответственно. Предусмотреть сохранение адресов сбойных ячеек (ячейки, в которых записано любое число, кроме FFh) по адресу 0А01h.

 

34. Составить программу сложения 5 чисел с учетом знака и переноса. Числа находятся в адресном пространстве 0800h – 0804h. При этом числа имеют следующий формат:

З Модуль числа Х Х

где: Х – незначащие биты числа, З – знак числа. Кроме суммы определить количество положительных и отрицательных чисел в массиве.

 

35. Найти максимальное число из массива чисел, находящихся в адресном пространстве с адреса 0900h и имеющих следующий формат:

Х Модуль числа З Х

где: Х – незначащие биты числа, З – знак числа. Объем массива задается в ячейке памяти 08FFh. Определить модуль максимального числа.

 

36. Составить тест-программу перемещения произвольного количества чисел с начального адреса 0805h в начальный адрес 0905h. Объем массива задается в ячейке памяти 0800h. Числа имеют следующий формат:

Х З Модуль числа

где: Х – незначащие биты числа, З – знак числа. Предусмотреть расширение чисел по знаку. Контролировать правильность переноса и подсчитать количество сбойных ячеек. После переноса найти сумму первого и последнего чисел с учетом знака и переноса, ответ записать в ячейку памяти после массива чисел.

 

37. Найти пятое отрицательное число в адресном пространстве ОЗУ 0800h – 0900h. Предусмотреть возможность переноса программы в адресном пространстве ОЗУ. Сохранять в памяти адрес пятого отрицательного числа. Формат чисел:

Х Модуль числа Х З

где: Х – незначащие биты числа, З – знак числа. Подсчитать количество всех отрицательных чисел в массиве.

 

38. Расположить в порядке убывания модулей числа, находящиеся в адресном пространстве 0800h – 0900h. Старший бит – знаковый. Начальный и конечный адрес массива данных расположить в ячейках 0900h – 0903h. Формат чисел:

З Модуль числа

где: З – знак числа. Подсчитать сумму первого и последнего числа с учетом знака.

 

39. Отфильтровать отрицательные числа массива данных с адреса 0800h по адрес 0900h. Положительные числа расположить в этом же адресном пространстве в порядке их следования в исходном массиве. Остальное адресное пространство заполнить значениями «00». Формат чисел:

 

Х Х З Модуль числа

где: Х – незначащие биты числа, З – знак числа. Подсчитать количество отрицательных чисел в массиве.

 

40. Сложить 5 двухбайтных чисел, находящихся в адресном пространстве 0800h – 0809h, без учета знака, с учетом переноса из старшего бита суммы. Ответ разместить в ячейках 080Аh – 090Сh. Лишние биты суммы заполнить нулями. Формат чисел:

младший байт

Модуль числа

старший байт

Модуль числа

 

41. В адресном пространстве 0800h – 0900h записана последовательность 12 битных чисел. Причем, в целях экономии объема ОЗУ биты записываются один за другим. Найти и записать максимальное число и его порядковый номер. Формат чисел:

мл. бит
1 ячейка памяти

 
1 число

мл. бит
ст. бит
2 ячейка памяти

   
2 число 1 число

ст. бит
3 ячейка памяти

 
2 число

 

42. Последовательность из 256 битов записывается в ячейки ОЗУ, начиная с адреса 0800h. Необходимо в данной последовательности выбрать и подсчитать количество сочетаний «010». Причем, в отдельный массив необходимо сохранять адреса первых нулей последовательности.

 

43. Составить программу умножения числа, находящегося в регистровой паре (DE) на 5. Результат разместить в регистровых парах (HL) и (BC), причем неиспользуемые под число биты расширить по знаку. В программе предусмотреть загрузку в (DE) числа следующего формата:

 

мл. бит
регистр (Е)

 
Модуль числа З

ст. бит
регистр (D)

 
Х Х Модуль числа

где: Х – незначащие биты числа, З – знак числа.

 

44.

3 сочетание
2 сочетание
1 сочетание
Подсчитать число сочетаний «101» в адресном пространстве 0000h – 0100h. Начальный и конечный адрес должны находиться в ячейках памяти 0800h, 0801h и 0802h, 0803h соответственно. Например:

 


Модуль числа

 

45. Составить тест программу ОЗУ на запись А8h с адреса 0900h по адрес 0A00h. Начальный и конечный адреса массива ОЗУ должны находиться в ячейках памяти 0800h, 0801h и 0802h, 0803h соответственно. Предусмотреть сохранение адресов сбойных ячеек (ячейки, в которых записано любое число, кроме А8h), начиная с адреса 0А01h.

 

46. Составить программу нахождения разности чисел массива с учетом знака и переноса. Начальный и конечный адреса массива находятся в ячейках памяти 0800h – 0803h. При этом числа имеют следующий формат:

Х Модуль числа З Х

где: Х – незначащие биты числа, З – знак числа. Кроме разности найти и записать в ячейку памяти ее модуль.

 

47. Найти минимальное по модулю число из массива чисел, находящихся в адресном пространстве с начального адреса 0900h и имеющих следующий формат:

Х Х Модуль числа

где: Х – незначащие биты числа, З – знак числа. Объем массива задается в ячейке памяти 0800h. Подсчитать количество положительных и отрицательных чисел в массиве.

 

48. Составить тест-программу перемещения произвольного количества чисел с начального адреса 0805h в начальный адрес 0905h. Объем массива задается в ячейке памяти 0800h. Числа имеют следующий формат:

Модуль числа З Модуль числа

где: З – знак числа. При переносе числа заменить их модулями. Контролировать правильность переноса и подсчитать количество сбойных ячеек.

 

49. Найти последнее отрицательное число в адресном пространстве ОЗУ 0800h – 0900h. Предусмотреть возможность переноса программы в адресном пространстве ОЗУ. Сохранять в памяти адрес последнего отрицательного числа. Формат чисел:

Х З Х Модуль числа

где: Х – незначащие биты числа, З – знак числа. Определить модуль последнего отрицательного числа.

 

50. Расположить в порядке возрастания массив чисел, находящихся в адресном пространстве 0800h – 0900h. Начальный и конечный адрес массива данных расположить в ячейках 0900h – 0903h. Формат чисел:

Х Х Модуль числа

где: Х – незначащие биты числа, З – знак числа. Подсчитать сумму первого и последнего числа с учетом знака.

 

51. Отфильтровать отрицательные числа массива данных с адреса 0800h по адрес 0900h. Положительные числа расположить в этом же адресном пространстве в порядке их следования в исходном массиве. Вместо отрицательных чисел записать их модули. Формат чисел:

З Модуль числа

где: Х – незначащие биты числа, З – знак числа.

 

 

52. Сложить 5 двухбайтных чисел, находящихся в адресном пространстве 0800h – 0809h, с учетом знака, с учетом переноса. Ответ разместить в ячейках 080Аh – 090Сh. Лишние биты суммы заполнить нулями. Формат чисел:

мл. бит
младший байт

 
Модуль числа

ст. бит
старший байт

 
Х Х Х Х З Модуль числа

 

53. В адресном пространстве 0800h – 0900h записана последовательность 9 битных чисел. Причем в целях экономии объема ОЗУ биты записываются один за другим. Найти минимальное число и записать его порядковый номер. Формат чисел:

 

мл. бит
1 ячейка памяти

 
1 число

мл. бит
ст. бит
2 ячейка памяти

   
2 число 1 число

мл. бит
ст. бит
3 ячейка памяти

   
3 число 2 число

 

54. Последовательность из 256 битов записывается в ячейки ОЗУ, начиная с адреса 0800h. Необходимо в данной последовательности выбрать и подсчитать количество сочетаний «111». Причем, в отдельный массив необходимо сохранять адреса последних единиц последовательности.

 

55. Составить программу умножения числа, находящегося в регистровой паре (HL) на 3. Результат разместить в регистровых парах (ВС) и (DE), причем неиспользуемые под число биты расширить по знаку. В программе предусмотреть загрузку в (HL) числа следующего формата:

мл. бит
регистр (L)

 
З Модуль числа

ст. бит
регистр (Н)

 
Х Модуль числа Х

где: Х – незначащие биты числа, З – знак числа.

 

56. Из массива чисел, находящихся в адресном пространстве начиная с адреса 0900h, найти отрицательное число с максимальным количеством «0». Объем массива задается в ячейке памяти 08FFh. Числа имеют следующий формат:

З Х Модуль числа

где: Х – незначащие биты числа, З – знак числа. Кроме самого числа сохранить его адрес.

 

57. Составить тест программу ОЗУ на запись "бегущей единицы" с адреса 0900h по 0A00h. При достижении «1» младшего бита числа тест продолжать в обратном направлении. Например:

Х Х Х Х Х Х Х
1 ячейка
Х Х Х Х Х Х Х
2 ячейка

Х Х Х Х Х Х Х
n ячейка
Х Х Х Х Х Х Х
(n+1) ячейка

Начальный и конечный адреса массива ОЗУ должны находиться в ячейках памяти 0800h, 0801h и 0802h, 0803h соответственно. Предусмотреть подсчет сбойных ячеек (ячейки, в которые не произошла запись 1 в соответствующий бит) по адресу 0804h.

 

58. Составить тест-программу перемещения произвольного количества чисел с начального адреса 0805h в начальный адрес 0905h. Объем массива задается в ячейке памяти 0800h. Числа имеют следующий формат:

Модуль числа

где: З – знак числа. При переносе числа записать в обратном порядке (последнее – первым, предпоследнее – вторым и т.д.). Контролировать правильность переноса и сохранить в памяти адреса сбойных ячеек.

 

59. Разделить положительные и отрицательные числа массива данных с адреса 0800h по адрес 0900h. Положительные и отрицательные числа расположить в отдельных массивах в порядке их следования в исходном массиве. Производить контроль записи и подсчитать количество сбойных ячеек в обоих массивах. Формат чисел:

 

 

       
 
мл. бит
 
ст. бит

   
Модуль числа Х З Х

где: Х – незначащие биты числа, З – знак числа.

 

60. В адресном пространстве 0800h – 0900h записана последовательность 12 битных чисел. Причем в целях экономии объема ОЗУ биты записываются один за другим. Найти минимальное по модулю число и записать его порядковый номер. Формат чисел:

мл. бит
1 ячейка памяти

 
Модуль 1 числа З1

ст. бит
мл. бит
2 ячейка памяти

   
Модуль 2 числа З2 Модуль 1 числа

ст. бит
3 ячейка памяти

 
Модуль 2 числа

где: З1, З2, … – знак соответствующего числа.

 

 

ЗАДАНИЕ НА КУРСОВОЙ ПРОЕКТ ПО ДИСЦИПЛИНЕ «ОСНОВЫ МИКРОПРОЦЕССОРНОЙ ТЕХНИКИ»

 

1. Выполнить аналитический анализ поставленной задачи согласно варианту задания. Определить методы ее решения.

2. Разработать общий алгоритм реализации задания и провести анализ временных и точностных параметров предлагаемого решения задачи.

3. В невозможности выполнения условия задания варианта на предлагаемом оборудовании предложить изменения состава оборудования, либо изменения условия задачи. Предложения согласовать с преподователем.

4. Выполнить инициализацию переменных в общем алгоритме архитектурным элементам микропроцессора КР580ВМ80А и портам ввода-вывода. Составить карту памяти микропроцессорной системы для реализации программы.

5. С учетом архитектурных особенностей микропроцессора КР580ВМ80А и заданных методов адресации доступа к операндам разработать подробные алгоритмы реализации задачи.

6. На языке Ассемблера микропроцессора КР580ВМ80А и разработать программы реализации задачи (см. приложения А - E).

7. Выполнить анализ соответствия временных и точностных характеристик разработанного устройства заданным.

8. Вывод

 

ЗАДАНИЕ I

Разработать генератор стандартных сигналов

Генератор двух сигналов реализуется программным способом. Вывод сигналов осуществляется через порты вывода с адресом @1 и @2 (рис.1) и цифро-аналоговые преобразователи (ЦАП1 и ЦАП2).

Рисунок 1. Функциональная схема генератора стандартных сигналов

 

Сквозные характеристики идентичны и соответствуют рис.2.

Величина опорного напряжения ЦАП задается разработчиком генератора и может принимать значения 10,24; 5,12; 2,56; 1,28 В.

       
 
 
 
   
 

 

 


Рисунок 2. Сквозные характеристики ЦАП

 

Варианты задания исполнения генератора стандартных сигналов приведены в табл. 1.

 

Таблица 1

Варианты задания генератора стандартных сигналов

 

№ Вар. Вид сигнала Port @ f1, Гц f2, Гц Δ1, с Δ2, с
70, 6B А1=6В   А2=10В 0,001 0,001

 

Продолжение таблицы 1
60, F9 А1=2В   А2=4В 0,005 0,0005
А0, A2   А1=5В   А2=7В 0,01 0,01
ВВ, DB   А1=4В   А2=10В 0,02 0,01
А5, A8   А1=7,5В   А2=5В 0,005 0,0005
             
Продолжение таблицы 1
СВ, DB   А1=1В   А2=5В 0,001 0,0001
В0. B2   А1=5В   А2=2В 0,0005 0,0001
А6, A8   А1=10В   А2=7,5В 0,01 0,001
D5, B7   А1=10В   А2=4В 0,0001 0,0005
               
Продолжение таблицы 1
E0, F0   А1=5В   А2=4В 0,0001 0,0001
F5,D3   А1=10В   А2=2В 0,001 0,0002
EA, 34   А1=5В   А2=1В 0,001 0,0005
DA,89   А1=3В   А2=10В 0,002 10-5
90, CB   А1=10В   А2=3 В 0,01 0,005
  Продолжение таблицы 1
F4,D2 А1=9В   А2=4В 0,01 0,04
DA,09   А1=4В   А2=3В 0,001 0,0002

 

Условия задания:

- оба сигнала частотой и генерируются устройством на его выходах одновременно (рис.3);

- амплитуды сигналов соответствует величинам и ;

- ориентировочная дискрета вывода сигналов соответственно составляет и ;

- погрешность между текущим значением сигнала и его заданным значением в каждый момент времени должно быть минимальным.

 
 

 


Рисунок 3. Оценка погрешности сигнала

ЗАДАНИЕ II

Программным способом реализовать фрагмент контактной схемы.

Текущие состояния реле поступают в порт ввода №1 (рисунок.4) непрерывно во времени в виде байта информации:

 

X7 X6 X5 X4 X3 X2 X1 X0
D7 D6 D5 D4 D3 D2 D1 D0

 

Номер бита соответствует номеру реле.

 

Рисунок 4. Функциональная схема устройства

 

 

Состояние бита соответствует разомкнутому состоянию реле (рис.5 а). Такому состоянию реле соответствует разомкнутое состояние ( ) нормальноразомкнутого контакта 3-4 (рисунок 5а) и нормальноразомкнутого контакта 5-6 (рисунок 5б). При подаче напряжения

 
 

 


Рисунок 5. Разомкнутое (а) и замкнутое (б) состояние реле

на контакты 1-2 реле ( ) состояние его контактов меняется на противоположное: нормальноразомкнутый контакт 3-4 замыкается (его состояние становится равным ), а нормальнозамкнутый контакт 5‑6 размыкается (его состояние становится равным ). Таким образом, логическое состояние нормальноразомкнутого контакта 3-4 соответствует логическому состоянию реле, а логическое состояние нормальнозамкнутого контакта 5-6 противоположно (инверсно) состоянию реле.

Согласно логического состояния цепей управления (контактов ) в разрабатываемом устройстве необходимо управлять состоянием реле . Управляющее слово состоянием реле выводится микропроцессором (рис.4) в порт вывода №2 в виде байта информации, где номер бита также соответствует номеру реле . Если в соответствии с текущим состоянием реле реле в данный момент должно быть замкнуто, то выводится логический «0».

Логический контроллер, реализуемый на микропроцессоре (рис.4), работает непрерывно во времени, и управляет состоянием реле в зависимости от текущего состояния реле . Одним из требований, к подобным устройствам является: время между изменением состоянием реле и изменением состояния должно быть минимальным. Поэтому данное требование должно быть учтено при разработке алгоритмов системы управления.

 


Рисунок 6.а. Контакторная схема. Вариант 1

 
 


Рисунок 6.б. Контакторная схема. Вариант 2


Рисунок 6.в. Контакторная схема. Вариант 3

 
 


Рисунок 6.г. Контакторная схема. Вариант 4


 

Рисунок 6.д. Контакторная схема. Вариант 5

 

 
 


Рисунок 6.е. Контакторная схема. Вариант 6


Рисунок 6.ж. Контакторная схема. Вариант 7

 
 


Рисунок 6.з. Контакторная схема. Вариант 8


y3
y2
x1
x2
y1
x0
x2
x0
y2
x3
x3
x1
y1
Рисунок 6.и. Контакторная схема. Вариант 9

 
 


Рисунок 6.к. Конта


Поделиться:

Дата добавления: 2015-08-05; просмотров: 103; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты