Промислова електроніка, мікропроцесорна техніка
Розробка програм мовою асемблера для мікропроцесора. Вивчення системи команд мікропоцесора, команд передавання даних, математичних операцій. Розробка програми аналогово-цифрового перетворення і читання даних. Програмування паралельного інтерфейсу.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | методичка |
Язык | украинский |
Дата добавления | 19.07.2017 |
Размер файла | 326,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
КРЕМЕНЧУЦЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ
імені михайла остроградського
ІНСТИТУТ ЕЛЕКТРОМЕХАНІКИ, ЕНЕРГОЗБЕРЕЖЕННЯ
І СИСТЕМ УПРАВЛІННЯ
МЕТОДИЧНІ ВКАЗІВКИ
ЩОДО ВИКОНАННЯ ЛАБОРАТОРНИХ РОБІТ
З НАВЧАЛЬНОЇ ДИСЦИПЛІНИ
«ПРОМИСЛОВА ЕЛЕКТРОНІКА, МІКРОПРОЦЕСОРНА ТЕХНІКА»
ДЛЯ СТУДЕНТІВ ДЕННОЇ ТА ЗАОЧНОЇ ФОРМ НАВЧАННЯ
(У ТОМУ ЧИСЛІ СКОРОЧЕНИЙ ТЕРМІН НАВЧАННЯ)
ЗА НАПРЯМОМ 6.050701 - „ЕЛЕКТРОТЕХНІКА ТА ЕЛЕКТРОТЕХНОЛОГІЇ”.
Частина 2
КРЕМЕНЧУК 2010
Методичні вказівки щодо виконання лабораторних робіт з навчальної дисципліни «Промислова електроніка, мікропроцесорна техніка» для студентів денної та заочної форм навчання (у тому числі скорочений термін навчання) за напрямом 6.050701 - „Електротехніка та електротехнології”.
Укладач: старш. викл. М.Ю. Юхименко
асист. О.В. Прітченко
Рецензент: к.т.н, доц. А.П. Калінов
Кафедра систем автоматичного управління та електропривода
Затверджено методичною радою КДУ імені Михайла Остроградського
Протокол №_________від__________2010 р.
Заступник голови методичної ради доц. С.А. Сергієнко
Зміст
Вступ
Лабораторна робота №1. Отримання навичок розробки програм мовою асемблера для мікропроцесора К1810ВМ86 у середовищі програмного пакету „Turbo Assembler” фірми Borland
1.1 Теоретичні відомості
1.2 Порядок виконання роботи
1.3 Зміст звіту
1.4 Контрольні запитання
Лабораторна робота №2. Вивчення системи команд МП К1810ВМ86, команди передавання даних, математичних операцій
2.1 Теоретичні відомості
2.2 Порядок виконання роботи
2.3 Зміст звіту
2.4 Контрольні запитання
Лабораторна робота №3. Вивчення системи команд МП К1810ВМ86, команди логічних операцій, команди організації переривань. організація програмних циклів
3.1 Теоретичні відомості
3.2 Порядок виконання роботи
3.3 Зміст звіту
3.4 Контрольні запитання
Лабораторна робота №4. Розробка програми аналогово-цифрового перетворення і читання даних з АЦП для МП К1810ВМ86
4.1 Теоретичні відомості
4.2 Порядок виконання роботи
4.3 Зміст звіту
4.4 Контрольні запитання
Лабораторна робота №5. Програмне опитування зовнішніх пристроїв. Програмування паралельного інтерфейсу
5.1 Теоретичні відомості
5.2 Порядок виконання роботи
5.3 Зміст звіту
5.4 Контрольні запитання
Лабораторна робота №6. Програмне опитування датчиків технологічної інформації. Програмне виведення інформації на зовнішній пристрій
6.1 Теоретичні відомості
6.2 Порядок виконання роботи
6.3 Зміст звіту
6.4 Контрольні запитання
Список літератури
Вступ
Дисципліна “Мікропроцесорні пристрої” продовжує цикл дисциплін, які вивчають питання побудови мікропроцесорних пристроїв, створення програмного забезпечення для складних систем керування технологічним обладнанням, що забезпечує узгоджену роботу їх інформаційних засобів. Метою дисципліни є вивчення роботи та структури сучасних мікропроцесорів і мікроконтролерів, принцип їх застосування в системах керування; освоєння методів розробки керуючих програм для розв'язання типових задач функціонування мікропроцесорних систем.
Основним завданням, що ставиться перед студентами, є здобуття знань щодо побудови сучасних мікропроцесорів і мікроконтролерів, їх можливостей; основи організації пам'яті, системи вводу/виводу і переривань, використання портів. Вивчення основних типів команд низькорівневих мов програмування, набуття навичок складання найбільш поширених мовних конструкцій, що забезпечить подальше опанування та створення нових комп'ютерних інформаційних технологій різноманітного призначення.
Лабораторна робота №1. Отримання навичок розробки програм мовою асемблера для мікропроцесора К1810ВМ86 у середовищі програмного пакету „Turbo Assembler” фірми Borland
Мета роботи. Вивчення інтерфейсу та основних принципів роботи з програмним пакетом TASM. Набуття навичок роботи з відлагоджувачем.
1.1 Теоретичні відомості
Відлагоджувач Turbo Debugger являє собою набір програмних засобів, що дозволяють відлагоджувати програми на рівні їх вихідного тексту. До пакету відлагоджувача входять набір виконуваних файлів, утиліт, довідкових текстових файлів і прикладів програм.
Перш ніж завантажувати програму у відлагоджувач Turbo Debugger, необхідно компілювати її вихідний текст, виконаний в exe-файлі в режимі формування повної відлагоджувальної інформації.
Робота з меню
Команди глобальних меню Turbo Debugger виводяться у верхній частині екрану в рядку меню. Щоб відкрити меню Turbo Debugger, слід натиснути функціональну клавішу F10, за допомогою клавіш керування курсором переміститися до потрібного пункту меню і натиснути клавішу Enter. Можна також після натискання клавіші F10 для переходу до потрібного пункту натиснути його букву, що підсвічується, або відразу натиснути комбінацію клавіш Alt + буква (без F10). Системне меню вибирається за комбінацією Alt + пробіл. Меню можливо відкрити також за допомогою "миші".
У командному рядку DOS потрібно ввести ім'я файла, що передбачається підлагоджувати, не вказуючи розширення, потім виконується асемблерування та компонування файла і запускається відлагоджувач Turbo Debugger. Відкриваємо вікно CPU.
Нижче дається пояснення призначення пунктів меню відлагоджувача Turbo Debugger.
Ё
Repaint desktop Перерисовує екран.
Restore standard Відновлює стандартний вигляд вікна.
About Виводить інформацію про Turbo Debugger.
File
Open Завантажує у відлагоджувач нову програму.
Change dir Виконує зміну диска та/або директорії.
Get info Видає інформацію про програму.
DOS shell Запускає командний процесор DOS.
Resident Робить Turbo Debugger резидентним.
Symbol load Завантажує таблицю символьних імен, незалежну від файла .exe.
Table relocate Встановлює базову адресу таблиці символьних імен.
Quit Вихід з відлагоджувача та повернення в DOS.
Edit
Copy Копіює виділені мишею елементи підвікна в буфер обміну.
Paste Вставляє в підвікно елементи з буфера обміну.
Copy to log Записує у вікно реєстрації елементи підвікна.
Dump pane to log Записує у вікно реєстрації вміст поточного підвікна.
View
Breakpoints Перегляд точок зупинників.
Stack Перегляд стеку виклику.
Log Перегляд журналу подій і даних.
Watches Перегляд значень змінних, які відслідковуються.
Variables Перегляд списку локальних та глобальних змінних.
Module Перегляд списку модулів, які використовуються в програмі.
File Перегляд вмісту файла в текстовому або
шістнадцятковому форматі.
CPU Перегляд машинних команд, даних та вмісту стеку.
Dump Перегляд порядкового вмісту області пам'яті.
Registers Перегляд стану реґістрів та прапорців МП.
Numeric processor Перегляд стану NDCP.
Execution history Виводить асемблерний код, який був запам'ятований для зворотного трасування або зворотного відтворення натискань клавіш.
Hierarchy Виводить список об'єктів чи типів класу та
ієрархічне дерево.
Windows messages Використовується тільки при відлагоджуванні Windows-програм.
Clipboard Показує елементи, скопійовані в буфер обміну.
Another
Module Відкриває ще одне вікно модуля.
Dump Відкриває ще одне вікно вмісту пам'яті.
File Відкриває ще одне вікно файла.
Run
Run Запускає виконання програми без покрокового режиму.
Go to cursor Виконує програму до позиції курсору.
Trace into Виконує одну команду програми (покроковий режим).
Step over Покроковий режим з виконанням підпрограм за один крок.
Execute to Виконує програму до заданої адреси.
Until return Виконує програму до повернення з функції.
Animate Запускає програму в безперервному покроковому режимі.
Back trace Виконання програми на один крок (команду) назад.
Instruction trace Виконує одну команду програми.
Arguments Встановлює арґументи командного рядка.
Program reset Завершує сеанс відлагоджування і заново завантажує поточну програму.
Breakpoint
Toggle Встановлює/скасовує точку зупинників у позиції курсора.
At Встановлює точку зупинників на рядку з указаною адресою.
Changed memory Встановлює глобальну точку зупинки, яка
global вмикається при зміні вмісту області пам'яті.
Expression true global Встановлює глобальну точку зупинки.
Delete all Видаляє всі точки зупинки.
Data
Inspect Дозволяє перевірити елемент даних.
Evaluate/modify Обчислює значення виразу.
Add watch Заносить змінну у вікно спостереження.
Function return Відображає значення, що повертається поточною програмою.
Options
Language Визначає мову для обчислення виразів за вихідним модулем.
Macros
Create Визначає клавішний макрос.
Stop recording Закінчує запис макросу.
Remove Видаляє клавішний макрос.
Delete all Видаляє всі клавішні макроси.
Display options Дозволяє встановити опції екрана (розмір, табуляція).
Path for source Список директорій, у яких знаходяться вихідні файли.
Save options Зберігає на диску макроси й параметри відлагоджувача та вікон.
Restore options Встановлює параметри з диска.
Window Виклик меню Window.
Zoom Виконує перезміну розміру активного вікна.
Next Циклічно активізує всі відкриті вікна.
Next pane Переміщає курсор у наступне підвікно поточного вікна.
Size/move Ініціює переміщення і зміну розмірів вікна.
Iconize/restore Зменшує розмір вікна до піктограми і відновлює його.
Close Закриває поточне вікно.
Undo close Відкриває останнє закрите вікно.
User screen Переключення між екраном користувача й вікнами CPU та NDCP (на екрані користувача відображається поточний результат прогону програми в покроковому режимі, якщо вона виводить дані на дисплей).
Help Виклик меню Help.
Index Виводить зміст інтерактивної підказки.
Previous topic Виводить попередній екран підказки.
Help on help Виводить підказку за інтерактивною системою допомоги.
1.2 Порядок виконання роботи
1. Увійти в програмне середовище DOS.
2. За допомогою текстового редактора ввести текст програми, наведений нижче, та зберегти його з розширенням *.asm в каталозі C:\CPU\TASM\WORK.
;Приклад 1-1. Проста програма з трьома сеґментами
;Вкажемо відповідність сеґментних реґістрів сеґментам
assume CS:code, DS:data ;Опишемо сеґмент команд
code segment ;Відкриваємо сеґмент коду
begin: mov AX,data ;Початкова ініціалізація
mov DS,AX ;сеґментного реґістра DS на сеґмент
;даних
;Виведемо на екран рядок тексту
mov АН,09h ;Функція DOS виведення на екран
mov DX,offset msg ;Адреса, де зберігається
;рядок що виводиться на екран
int 21h ;Виклик функції DOS
;Завершення програми
mov AX,4C00h ;Функція DOS завершення програми
int 21h ;Виклик функції DOS
code ends ;Закриваємо сеґмент коду
;Опишемо сеґмент даних
data segment ;Відкриваємо сеґмент даних
msg db "Програма працює!$” ;Рядок, що виводиться на екран
data ends ;Закриємо сеґмент даних
;Опишемо сеґмент стеку
stk segment stack ;Відкриваємо сеґмент стеку
db 256 dup (?) ;Відводимо під стек 256 байт
stk ends ;Закриваємо сеґмент стеку
end begin ;Кінець тексту програми
3. Засобами операційної системи, або сервісної оболонки типу «Norton Commander», або «Volcov Commander» перейти до каталогу C:\CPU\TASM\WORK.
4. У командному рядку ввести ім'я командного файлу: ta, а потім ім'я вихідного файлу з текстом програми без указування розширення *.asm.
5. Виконати асемблерування та компонування файла.
6. Перевірити правильність виконання програми. Виконати редаґування файла.
7. Ознайомитися з інтерфейсом та з меню програми.
8. Вийти коректно з програмного середовища.
1.3 Зміст звіту
1. Титульна сторінка.
2. Найменування та мета лабораторної роботи.
3. Короткі теоретичні відомості.
4. Отримане у викладача завдання (текст програми з докладними коментарями).
5. Опис виконання кожного пункту завдання.
6. Письмові відповіді на контрольні питання.
1.4 Контрольні запитання
1. Призначення системи TASM. Які основні компоненти входять до її складу?
2. Назвіть, які режими перегляду реґістрів процесора, для якого розробляється програма, надає Turbo Debugger, і стисло опишіть їх.
3. Як установити у вікні відлагоджувача Turbo Debugger точки зупинки? Пояснити для чого вони використовуються.
4. Опишіть призначення основних пунктів меню відлагоджувача Turbo Debugger.
5. Опишіть основні етапи створення програми мовою асемблер для МП К1810ВМ86 з використанням відлагоджувальника Turbo Debugger.
Лабораторна робота № 2. Вивчення системи команд МП К1810ВМ86, команди передавання даних, математичних операцій
Мета роботи. Освоїти лінійне програмування мовою Асемблер для процесорів К1810ВМ86. Вивчення використання команд обміну даними, математичних та логічних команд.
2.1 Теоретичні відомості
Система команд мікропроцесора К1810ВМ86 містить близько 130 машинних команд. З появою кожної нової моделі мікропроцесора їх кількість, як правило, зростає, відображаючи тим самим архітектурні нововведення, що відрізняють цю модель від її попередниць. Набір машинних команд можна структурувати по групах і підгрупах. Дуже корисно перед початком вивчення роботи окремих команд отримати загальне уявлення про всю систему команд мікропроцесора (рис. 2.1).
Рис. 2.1 - Машинні команди МП К1810ВМ86 та їх функціональні групи
Формати команд МП К1810ВМ86/8088
Система команд мікропроцесора К1810ВМ86 складається з таких груп ко-манд: команди пересилання даних; команди арифметичних операцій; команди логічних операцій; команди маніпуляції ланцюжками; команди передачі керу-вання; команди керування мікропроцесором.
Цілочисловий обчислювальний пристрій підтримує трохи більше десятка арифметичних команд. На рис. 2.2 приведена класифікація команд цієї групи.
Рис. 2.2 - Класифікація арифметичних команд
Група арифметичних цілочислових команд працює з двома типами чисел:
- цілими двійковими числами. Числа можуть мати знаковий розряд або не мають такого, тобто є числами із знаком або без знака;
- цілими десятковими числами.
Діапазон значень двійкового числа залежить від його розміру і трактування старшого біта, або як старшого значущого біта числа, або як біта знака числа.
; prg_2_1.asm
masm
model small
stack 256
.data ;початок сеґмента даних
Реr_1 db 23 ;блок
per_2 dw 9856 ;визначення змінних
per_3 dd 9875645
per_4 dw 29857
.code ;початок сеґмента коду
main: ;точка входу в програму
mov ax.edata ;зв'язуємо реґістр DX з сеґментом
mov ds.ax ;даних через реґістр АХ
exit: ;подивитися у відладчику дамп сеґменту даних
mov ах,4С00h ;стандартний вихід
int 21h
end main ;кінець програми
Для опису двійково-десяткові числа в програмі можна використовувати тільки дві директиви опису та ініціалізації даних - db і dt.
;prg_2_2.asm
masm
model small
stack 256
.data ;сеґмент даних
per_1 db 2,3,4,6,8,2 ;неупаковане BCD-число 286432
per_3 dt 9875645 ;упаковане BCD-число 9875645
.code ;сеґмент коду
main: ;точка входу в програму
mov ах,@data ;зв'язуємо реґістр DX з сеґментом
mov ds,ax ;даних через реґістр АХ
exit: ;подивитися у відладчику дамп сеґменту даних
mov ах,4c00h ;стандартний вихід
int 21h
end main ;кінець програми
Розглянемо приклад обчислення суми чисел (лістинг 2.3).
;prg_2_3.asm
masm
model small
stack 256
.data
а db 254
.code ;сеґмент коду
main:
mov ах,@data
mov ds.ax
. . .
xor ах,ах
add al,17
add al,a
jnc m1 ;якщо немає перенесення, то перейти на m1
adc ah,0 ;в АХ сума з урахуванням перенесення
m1: ...
exit:
mov ах,4c00h ;стандартний вихід з програми
int 21h
end main ;кінець програми
2.2 Порядок виконання роботи
Одержати завдання на лабораторну роботу у викладача.
Увійти в програмне середовище DOS.
Написати текст програми в текстовому редакторі та зберегти його з розширенням *.asm в каталозі C:\CPU\TASM\WORK.
Відкрити каталог C:\CPU\TASM\WORK.
У командному рядку набрати: ta (ім'я файла) без розширення *.asm.
Виконати асемблерування та компонування файла.
Перевірити правильність виконання програми. Виконати редаґування файла.
Ознайомитися з інтерфейсом та з меню програми.
Вийти коректно з програмного середовища.
2.3 Зміст звіту
1. Титульна сторінка.
2. Найменування та мета лабораторної роботи.
3. Короткі теоретичні відомості.
4. Отримане у викладача завдання (текст програми з докладними коментарями).
5. Опис виконання кожного пункту завдання.
6. Письмові відповіді на контрольні питання.
2.4 Контрольні запитання
Проаналізувати існуючі формати даних і системи команд для МП К1810ВМ86.
Система команд МП К1810ВМ86. Група команд пересилання даних.
Система команд МП К1810ВМ86. Група команд арифметичних і логічних операцій.
Система команд МП К1810ВМ86. Група команд передачі керування.
Пояснити призначення ознак, формованих МП К1810ВМ86.
Опишіть склад команди асемблера для МП К1810ВМ86. Призначення кожного з полів команди.
Які способи адресації використовуються в програмах для МП К1810ВМ86?
Які види прямої адресації для МП К1810ВМ86 ви знаєте, чим вони відрізняються один від одного?
Пояснити в чому полягають особливості непрямої адресації.
Порівняйте довжину команд, що використовують пряму адресацію і непряму адресацію.
Лабораторна робота №3. Вивчення системи команд МП К1810ВМ86, команди логічних операцій, команди організації переривань. Організація програмних циклів
Мета роботи. Освоїти лінійне програмування мовою асемблера для процесорів К1810ВМ86. Вивчити команди логічних операцій, команди переривань.
3.1 Теоретичні відомості
Разом із засобами арифметичних обчислень система команд мікропроцесора має також засоби логічного перетворення даних. Під логічними розуміються такі перетворення даних, в основі яких лежать правила формальної логіки. Формальна логіка працює на рівні тверджень «істинно» й «помилково». Для мікропроцесора це, як правило, означає 1 і 0 відповідно.
Рис. 3.1 - Засоби системи команд мікропроцесора для роботи з логічними даними
До засобів логічного перетворення даних відносяться логічні команди і логічні операції. На рис. 3.1 показані засоби мікропроцесора для організації роботи з даними за правилами формальної логіки.
; установка переривання
PUSH DS ;зберігаємо DS
MOV DX,OFFSET ROUT ;зсув для процедури в DX
MOV AX.SEG ROUT ;сеґмент процедури
MOV DS.AX ;розміщуємо в DS
MOV AH.25H ;функція встановлення вектора
MOV AL,60H ;номер вектору
INT 21H ;змінюємо переривання
POP DS ;відтворюємо DS
; процедура переривання
ROUTINE PROC FAR
PUSH AX ;зберігаємо всі змінені реґістри
POP AX ;відтворюємо реґістри
MOV AL,20H ;ці два рядки треба використовувати
OUT 20H,AL ;тільки для апаратних переривань
IRET
ROUTINE ENDP
Коли програма завершується, повинні бути встановлені оригінальні вектори переривань. Наступна програма може викликати дане переривання і передати керування на те місце в пам'яті, у якому процедури користувача вже немає. Наприклад:
; - в сеґменті даних:
KEEP_CS DW 0 ;зберігає сеґмент заміненого переривання
KEEP_IP DW 0 ;зберігає зсув переривання
; - на початку програми
MOV AН, 35h ;функція одержання вектора
MOV АL,1Сh ;номер вектора
INT 21h ;тепер сеґмент у DS
;- зсув в ВХ
MOV KEEP IP,ВХ ;запам'ятовуємо зсув
MOV KЕEP_CS,ES ;запам'ятовуємо сеґмент
;- в кінці програми
CLI
PUSH DS ;DS ;буде зруйнований
MOV DX,KEEP_IP ;підготовка до відтворення
MOV AX.KEЕP_CS
MOV DS.AX ;підготовка до відтворення
MOV АН, 25h ;функції встановлення вектора
MOV АL,1Сh ;номер вектора
INT 21h ;відтворюємо вектор
POP DS ;відновлюємо вміст сеґменту DS
STI
3.2 Порядок виконання роботи
1. Ознайомитися з особливостями системи переривань мікропроцесора, вивчити їх атрибути.
2. Вивчити механізм виклику оброблювачів переривань системних пристроїв.
3. Відповідно до запропонованої граф-схеми роботи написати додатки, що забезпечують взаємодію задач через переривання.
4. Забезпечити затримку виведення рядка за перериваннями таймера значенням t_n порядку 1 с.
5. Написати додаток, який би здійснював запис під час виконання основної програми.
6. Перевірити правильність виконання програми.
7. Вийти коректно із програмного середовища.
8. Скласти звіт до лабораторної роботи.
3.3 Зміст звіту
1. Титульна сторінка.
2. Найменування та мета лабораторної роботи.
3. Короткі теоретичні відомості.
4. Отримане у викладача завдання (текст програми з докладними коментарями).
5. Опис виконання кожного пункту завдання.
6. Письмові відповіді на контрольні питання.
3.4 Контрольні запитання
1. Пояснити призначення кожного з внутрішніх реґістрів послідовного порта. Які основні компоненти входять до його складу?
2. Як відкрити вихідний файл з текстом програми мовою асемблера в середовищі відлагоджувача Turbo Debugger?
3. Які режими перегляду реґістрів процесора, для якого розробляється програма.
Лабораторна робота № 4. Розробка програми аналогово-цифрового перетворення і читання даних з ацп для МП К1810ВМ86
Мета роботи. Навчитися створювати програми для керування процесом аналогово-цифрового перетворення і забезпечити читання перетворених даних з АЦП.
4.1 Теоретичні відомості
Пристрої обчислювальної системи з'єднуються один з одним за допомогою уніфікованих систем зв'язку, що називаються інтерфейсом. Інтерфейс повинен бути стандартизований, щоб забезпечити зв'язок процесора і оперативної пам'яті з будь-яким периферійним пристроєм (ПП). Алгоритми функціонування інтерфейсу і керуючого реґістра, також повинні бути стандартизовані.
До спеціалізованих пристроїв інтерфейсу мікропроцесорних систем відносяться АЦП, ЦАП та перетворювачі кодів. Перетворення аналогової інформації в цифрову базується на теоремі Котельникова: будь-який аналоговий сиґнал може бути записаний в дискретній формі й інформація не буде втрачена, якщо крок квантування t буде вибраний за умови:
, (4.1)
де Fmax - максимальна частота спектру передаваного сиґналу.
Приклад. Процедура програмно-апаратного аналого-цифрового перетворювача працює за принципом послідовного наближення за двійковою системою. Процедура може запускатися за перериванням від зовнішнього пристрою або від таймера (періодично).
Схема АЦП на базі ЕОМ (мікроконтролера) показана на рис. 4.1.
Рис. 4.1 - Приклад (фрагмент) електричної схеми підключення АЦП до ЕОМ
Вона включає 10-розрядний реверсивний ЦАП, підключений до виходів порта РВ (молодші 8 розрядів) і порта РС.3-0 (старші розряди - РС.1-0 і знак - РС.3). Порт РС.7-4 настроюється на введення, два біти його: D7 і D6 використовуються для введення знака розузгодження компаратора в прямому та інверсного кодах. Аналоговий вихід ЦАП підключений до інверсного входу компаратора, на прямий (неінвертований) вхід якого подається вимірюваний реґістр. Вихід компаратора через реґістри інвертування DV3, DV4 підключений до входу ЕОМ для визначення знака розузгодження і програмного збереження або усунення бітів послідовного наближення. мікропроцесор інтерфейс аналоговий цифровий
Нижче наведений приклад фрагменту програмного коду для обміну даними між АЦП та МП системою:
stck segment para stack `stack' ;налаштування сеґмента стека
dw 100 dup(?) ;встановлюється об'ємом у 100 слів
stck ends ;кінець сеґмента стека
data segment public para ;сеґмент даних
codin dw (?)
data ends ;кінець сеґмента даних
cod segment public para `code' ;початок сеґмента кода
cap proc far ;оголошення процедури
assume cs:cod,ds:data,ss:stck,es:data
pb equ 21h ;адреса порта PB
pc equ 22h ;адреса порта PC
pu equ 23h ;адреса реґістра керування портами
push ax ;збереження в стек вмісту реґістра АХ
push cx ;збереження в стек вмісту реґістра `ег
push dx ;збереження в стек вмісту реґістра DХ
mov al,98h ;записуємо в акумулятор керуюче слово
;10011000B для настройки режиму 0 порта
;А - на введення
out pu,al ;C(7-4) - введення, В - виведення,
;С(3-0) - вивід
xor al,al ;очищення акумулятора
out pc,al ;пересилання до ЦAП нульового значення
out pb,al ;пересилання до ЦAП нульового значення
nop ;пауза на час роботи ЦАП
in al,pc ;введення знака біта С(7-4)
and al,0Ch ;операція маскування для виділення
;бітів D(7-6)
test al,08h ;перевірка знака вимірюваної напруги
jz mmin ;якщо знак «мінус» - перехід
;на встановлення знака (-)
mov dx,0000 ;інакше знак (+)
mov ch,40h ;контрольований біт розузгодження - D6
jmp short start ;команда безумовного переходу на початок
mmin: mov dx,0800h ;знак результату «мінус»
mov ch,80h ;контрольований біт - D7
mov ch,02h ;начало перевірки бітів PC.1,0
start: mov al,dh ;біти, що вже пеpевіpені
or al,cl ;вставлення біта, що перевіряється
out pc,al ;виведення старших бітів і знака на порт
;PC (3-0)
nop ;пауза ЦАП
in al,pc
and al,ch ;перевірка знака розузгодження
jz nnn ;якщо більше - біт не потрібен
or dh,cl ;інакше вводиться результат
nnn: rol cl,1 ;зсув біта, що перевіряється
jnc start ;якщо це не останній біт - повторити
mov cl,80h ;початок перевірки бітів PB 7-0
stta: mov al,dl
or al,cl ;вставлення біта, що перевіряється
out pb,al ;виведення молодших бітів та знака до ЦАП
nop ;пауза
in al,pc
and al,ch ;перевірка знака розузгодження
jz ttt ;якщо більше - біт не потрібен
or dl,cl ;інакше біт вставляється в результат
ttt: rol cl,1 ;зсув біта, що перевіряється вліво
jnc stta ;якщо біт не останній - повторити
test dx,0800h ;перевірка значення знака числа
jz rrr ;якщо «плюс» - вихід
and dx,03FFh ;встановлення прямого позитивного кода
neg dx ;отримання додаткового кода
rrr: mov codin,dx ;запам'ятовування результату
pop dx ;відновлення зі стека вмісту реґістра DX
pop cx ;відновлення зі стека вмісту реґістра CX
pop ax ;відновлення зі стека вмісту акумулятора
mov al,20h ;очищення біта переривання
out PU,al ;пересилання на контролер переривань
iret ;вихід з процедури обробки переривання
cap endp ;кінець процедури
cod ends ;завершення сеґмента коду
end cap ;кінець програми
4.2 Порядок виконання роботи
1. Ознайомитися з особливостями інтерфейсів мікропроцесорних систем, вивчити їх атрибути.
2. Вивчити механізм програмного опитування пристроїв АЦП мікропроцесорною системою.
3. Відповідно до запропонованого викладачем алгоритму написати програму мовою асемблера для МП К1810ВМ86, що забезпечує взаємодію мікропроцесорної системи з пристроєм АЦП.
4. За допомогою текстового редактора ввести текст програми керування обміном інформацією з АЦП мовою асемблера для МП К1810ВМ86 та зберегти його в каталозі C:\CPU\TASM\WORK.
5. Перевірити правильність роботи розробленої програми.
6. Закрити проект - «Project/Close Project».
7. Вийти з програми.
8. Скласти звіт щодо виконаної роботи.
4.3 Зміст звіту
1. Титульний аркуш.
2. Найменування та мета лабораторної роботи.
3. Короткі теоретичні відомості.
4. Отримане у викладача завдання (текст програми з докладними коментарями).
5. Опис виконання кожного пункту завдання.
6. Письмові відповіді на контрольні питання.
4.4 Контрольні запитання
1. Що називається інтерфейсом мікропроцесорної системи?
2. Які типи інтерфейсів використовуються у мікропроцесорних системах?
3. Опишіть призначення АЦП та принципи його функціонування?
4. В чому полягає зміст теореми Котельнікова?
5. Які типи АЦП ви знаєте? В чому полягає відмінність організації аналогово-цифрового перетворення в них? Назвати переваги і недоліки кожного типу АЦП.
6. Для чого призначені перетворювачі кодів?
7. Яким чином здійснюється узгодження пристрою АЦП з мікропроцесором і пам'яттю?
8. Навести приклади програмного коду ініціалізації програмованого паралельного інтерфейсу (ППІ) і8255.
Лабораторна робота № 5. Програмне опитування зовнішніх пристроїв. Програмування паралельного інтерфейсу
Мета роботи. Освоїти навички програмування опитування зовнішніх пристроїв мовою асемблера для К1810. Вивчити дію команд обміну даними.
5.1 Теоретичні відомості
Паралельні інтерфейси характеризуються тим, що в них для передачі біт у слові використовуються окремі сиґнальні лінії, і всі біти передаються одночасно. Паралельні інтерфейси використовують логічні рівні ТТЛ (транзисторно-транзисторної логіки), що обмежує довжину з'єднуючого кабелю з причини невисокої перешкодозахищеності ТТЛ-інтерфейсу. Гальванічна розв'язка відсутня. Паралельні інтерфейси використовують для підключення принтерів. Іноді паралельний інтерфейс використовують для зв'язку між двома комп'ютерами.
Наприклад, щоб роздрукувати вміст екрану на принтері, можна написати таку програму:
; prtscr.asm
; роздрукувати поточний вміст екрану на принтері
.model tiny ;модель пам'яті для файлів типу СОМ
.code
.186 ;для команди push 0B800h
org 100h ;початок СОМ-файла
start:
mov ah,1
mov dx,0 ;вибір порта LPT1
int 17h ;ініціалізувати принтер
cmp ah,90h ;перевірка: якщо принтер не готовий
jne printer_error ;видати повідомлення про помилку
push 0B800h ;інакше зберегти в стек фрагмент відеопам'яті
;адресою 0В00h
pop ds ;у DS = сеґмент відеопам'яті в текстовому режимі
xor si,si ;очищення SI = 0
mov cx,80*40 ;в CX = число символів на екрані
cld ;рядкові операції вперед
main_loop:
lodsw ;AL - символ, АН - атрибут, SI = SI + 2
mov ah,0 ;АН - номер функції
int 17h ;виведення символу з AL на принтер
loop main_loop
ret ;закінчити програму
printer_error:
mov dx,offset msg ;адреса повідомлення про помилку в DS:DX
mov ah,9
int 21h ;виведення рядка на екран
ret
msg db "Принтер на LPT1 знаходиться в режимі offline або занятий$"
end start
Щоб роздрукувати вміст екрана в текстовому режимі на LPT1, достатньо всього лише однієї команди INT 05h, що є еквівалентною натисненню клавіші «PrtScr».
5.2 Порядок виконання роботи
1. Ознайомитися з особливостями паралельних інтерфейсів мікропроцесорних систем, вивчити їх атрибути.
2. Скласти програму мовою асемблера для МП К1810ВМ86, яка забезпечує виведення на принтер текстового рядка, що зберігається в сеґменті даних.
3. За допомогою текстового редактора ввести текст програми керування обміном інформацією через паралельний інтерфейс мовою асемблера для МП К1810ВМ86 та зберегти його в каталозі вашої групи в C:\CPU\TASM\WORK.
4. Домогтися правильної роботи розробленої програми.
5. Зберегти файл з вихідним текстом програми, а також ехе-файл.
6. Вийти з програми TASM.
7. Скласти звіт щодо виконаної роботи.
5.3 Зміст звіту
1. Титульний аркуш.
2. Найменування та мета лабораторної роботи.
3. Короткі теоретичні відомості.
4. Отримане у викладача завдання (текст програми з докладними коментарями).
5. Опис виконання кожного пункту завдання.
6. Письмові відповіді на контрольні питання.
5.4 Контрольні запитання
1. В чому полягає основна відмінність паралельних інтерфейсів від послідовних? Які переваги має кожний з типів інтерфейсів?
2. Який паралеьлний інтерфейсів використовуються у мікропроцесорних системах для підключення принтера?
3. З яких реґістрів складається адаптер паралельного інтерфейса для мікропроцесорних систем на базі МП К1810ВМ86?
4. Опишіть призначення бітів реґістра статусу. Дайте пояснення особливостям використання.
5. Опишіть призначення бітів реґістра керування. Дайте пояснення особливостям використання.
6. Які режими роботи паралельного інтерфеса ви знаєте?
Лабораторна робота № 6. Програмне опитування датчиків технологічної інформації. Програмне виведення інформації на зовнішній пристрій
Мета роботи. Освоїти програмування додатків мовою асемблера для МП К1810ВМ86 для керування зовнішніми пристроями за допомогою портів введення/виведення
6.1 Теоретичні відомості
В разі використання мікропроцесорної системи для керування технологічним механізмом опитування датчиків технологічної інформації та перетворення аналогового сиґналу в цифровий, запис інформації в ОЗП виконується під керуванням МП.
Так, номер опитуваного датчика технологічних величин формується в одному з реґістрів загального призначення (РЗП), наприклад, в реґістрі ВН. У 8-розрядному реґістрі в 5-ти старших розрядах записуються одиниці, а в трьох молодших розрядах - номер датчика.
Вся робота мікропроцесорної системи з пристроями на найнижчому рівні виконується з використанням портів введення-виведення. Розглянемо на прикладі, як на рівні апаратури забезпечити керування за допомогою МПС зовнішнім пристроєм, наприклад, формування звука сирени.
Загальна схема формування такого сиґналу показана на рис. 6.1.
Рис. 6.1 - Схема формування звука для вбудованого динаміка ПЕОМ
Приклад програми, що реалізовує звук сирени наведений в лістингу 6.1. Для зручності роботи в програмі була використана макрокоманда delay, що виконує затримку роботи програми на заданий час.
Приклад 6_1.
;Програма, що імітує звук сирени.
;3міна висоти звуку від 450 Гц до 2100 Гц.
;Використовується макрос delay (затримка),
masm
model small
stack 100h
delay macro time
;макрос затримки, його текст обмежуеться директивами macro i endm.
;на вході - значения затримки (у мкс)
local ext, iter
push сx
mov cx,time
ext:
push сx
mov сx, 5000
iter:
loop iter
pop сx
loop ext
pop сx
endm
.data ;сеґмент даних
tonelow dw 2651 ;нижня частота звучания = 450 Гц
cnt db 0 ;лічильник для виходу з програми
temp dw ? ;верхня частота звучания
.code ;сеґмент коду
main: ;точка входа в програму
mov ax,@data ;зв'язати реґістр ds з сеґментом
mov ds,ax ;даних через peґicтр ax
хоr ах,ах ;очищуємо ах
go:
mov al,0B6h ;заносимо слово стану 10110110b (0B6h)
out 43h,al ;в командний реґістр (порт 43h)
in al,61h ;зчитати значення порта 61h в al
or al,3 ;ініціалізація динаміка i подача струму
out 61h,al ;на порт 61h
mov cx,2083 ;кількість кроків ступінчастої зміни тону
musicup:
;у ах значения нижньої частоти частоти звуку
mov ax,tonelow
out 42h,al ;порт 42h молодше слово ах:al
xchg al,ah ;обмін між al i ah
out 42h,al ;y порт 42h старше слово ax:ah
add tonelow, l ;підвищуємо тон
mov dx,tonelow ;y dx поточне значения висоти звуку
mov temp,dx ;temp - верхне значения висоти звуку
loop musicup ;повторити цикл шдвищення
mov cx,2083 ;відновити лічильник циклу
musicdown:
mov ax,temp ;y ax верхне значения висоти
out 42h,al ;у порт 42h молодше слово ax:al
mov al,ah ;обмін між al i ah
out 42h,al ;y порт 42h старше слово ax:ah
sub temp,l ;знижуємо висоту звуку
delay 1 ;затримка на 1 мкс
loop musicdown ;повторити цикл зниження
nosound:
in al,61h ;набудемо значения порту 61h в AL
and al,0FCh ;вимкнути динамік
out 61h,al ;у порт 61h
mov dx,2651 ;для подальших циклів
mov tonelow,dx
inc cnt ;збільшуемо значення лічильника проходів,
;тобто кількість звучань сирени
сmp cnt,5 ;у 5 разів?
jne gо ;якщо ні, перейти на мітку gо
ехіt:
mov ах,4с00b ;стандартний вихід
іnt 21h
end main ;кінець програми
6.2 Порядок виконання роботи
1. Ознайомитися з особливостями інтерфейсів мікропроцесорних систем вивчити їх атрибути.
2. Вивчити механізм програмної взаємодії портів введення-виведення мікропроцесорною системою.
3. Відповідно до запропонованої лістингу написати програму мовою асемблера для МП К1810, що забезпечує взаємодію мікропроцесорної системи з вбудованим динаміком.
4. За допомогою текстового редактора ввести текст програми керування мовою асемблера для МП 1810ВМ86 та зберегти його в каталозі С:\CPU\ТАSМ\WORК.
5. Перевірити правильність виконання програми.
6. Вийти з програми.
6.3 Зміст звіту
1. Титульний аркуш.
2. Найменування та мета лабораторної роботи.
3. Короткі теоретичні відомості.
4. Отримане у викладача завдання (текст програми з докладними коментарями).
5. Опис виконання кожного пункту завдання.
6. Письмові відповіді на контрольні питання. Найменування і мета лабораторної роботи.
7. Отримане у викладача завдання.
8. Опис виконання кожного пункту завдання.
9. Письмові відповіді на контрольні питання.
6.4 Контрольні запитання
1. Опишіть організацію адресного простору мікропроцесорних систем на базі МП К1810ВМ86.
2. Як мікропроцесорна система здійснює опитування датчиків технологічних величин?
3. Як здійснюється керування зовнішніми пристроями за допомогою портів введення/виведення?
4. Пояснити призначення програмованого таймера і8253 та його структуру.
5. Поясніть призначення реґістра-фіксатора.
6. Як здійснюється реалізація макрокоманд у програмах мовою асемблера для МП К1819ВМ86?
7. Якими способами можуть бути організовані цикли у програмах мовою асемблера? Навести приклади реалізації.
Список літератури
Абрайтис В.Б., Седаускас С.Ю., Пятраускас А.В. Микропроцессорный комплект БИС высокого быстродействия К1810. - М.: Радио и связь, 1986. - 184 с.
Балашов Е.П., Григорьев В.Л., Петров Г.А. Микро- и мини-ЭВМ. Л.: Энергоатомиздат, 1984. - 376 с.
Вуд А. Микропроцессоры в вопросах и ответах. - М.: Энергоатомиздат, 1985. - 184 с.
Григорьев В.Л. Программирование однокристальных микропроцессоров. - М.: Энергоатомиздат, 1987. - 288 с.: ил.
Кофрон Дж., Лонг В. Расширение микропроцессорных систем. - М.: Машиностроение, 1987. - 320 с.
Лихтецендр Б.Я., Кузнецов В.Н. Микропроцессоры и вычислительные устройства в радиотехнике. - К: Высшая школа, 1988. - 272 с.
Певенталь Л. Введение в микропроцессоры: программное обеспечение, аппаратные средства, программирование. - М: Энергоатомиздат, 1983. - 464 с.
Самофолов К.Г. и др. Микропроцессоры. К: Техника, 1986. - 278 с.
(2-е изд. Переработаное и дополненное 1989. - 312 с.).
Токхайм Р. Микропроцессоры: курс и упражнения. - М.: Энергоатомиз-дат, 1987. - 336 с.
Щелкунов Н.Н., Дианов А.П. Микропроцессорные средства и системы. М.: Радио и свіязь, 1989. - 288 с.
Методичні вказівки щодо виконання курсового проекту з навчальної дисципліни «Промислова електроніка, мікропроцесорна техніка» для студентів денної та заочної форм навчання (у тому числі скорочений термін навчання) за напрямом 6.050701 - „Електротехніка та електротехнології”.
Укладачі: старш. викл. М.Ю. Юхименко
асист. О.В. Прітченко
Відповідальний за випуск зав. кафедри САУЕ Д.Й. Родькін
Підп. до др. ___________. Формат 6084 1/16 Папір тип. Друк ризографія
Ум. друк. акр. _________. Наклад_____прим. Зам № _____. Безкоштовно
Видавничий відділ КДУ
імені Михайла Остроградського
39600, м. Кременчук, вул. Першотравнева, 20
Размещено на Allbest.ru
Подобные документы
Огляд принципів роботи та будови аналого-цифрового перетворювача, його функціональна та електрична принципова схема. Призначення паралельного порту, опис інтерфейсу Cetronics. Розробка програмного забезпечення. Оцінка техніко-економічного рівня приладу.
дипломная работа [763,5 K], добавлен 09.06.2010Автоматизація процесу створення оптимальних параметрів середовища вирощування у спорудах захищеного грунту. Розробка структурної і принципової схеми управління мікрокліматом теплиці, алгоритму та програми на мові асемблера для мікропроцесора AT89С51.
курсовая работа [1017,3 K], добавлен 15.06.2014Розробка узагальненої структурної схеми мікропроцесора для збору даних і керування зовнішніми пристроями. Визначення кількості мікросхем для побудови послідовних і паралельних портів та таймерів. Створення логічної схеми підсистеми центрального процесора.
практическая работа [399,7 K], добавлен 17.03.2014Класифікація та сфери застосування лазерів. Аналогово-цифрове та цифро-аналогове перетворення сигналів. Сімейства, моделі та особливості лазерних систем зв'язку. Описання характеристики компаратора напруги. Алгоритм та програми передачі, прийому даних.
магистерская работа [1,7 M], добавлен 16.05.2019Розробка структурної схеми мікропроцесора. Узгодження максимальної вхідної напруги від датчиків з напругою, що може обробити МПСза допомогою дільника напруги та аналогового буферного повторювача. Система тактування та живлення. Організація виводу даних.
курсовая работа [354,3 K], добавлен 14.12.2010Розробка програми використання метода Гаусса для ПЕОМ типу PC з операційною системою Windows. Програма розроблена за допомогою мови програмування Object Pascal в середовищі Delphi – для операційної системи Windows 9x-XP. Алгоритм роботи програми.
курсовая работа [244,0 K], добавлен 27.02.2009Характеристика мікроконтролера, особливості його структурної схеми, організація пам'яті, види регістрів та лічильник команд. Програмування РІС–мікроконтролерів. Правила запису та перетворення початкового тексту робочої програми у об'єктний модуль.
методичка [1,3 M], добавлен 18.04.2010Фізичні властивості електроніки. Електрофізичні властивості напівпровідників. Пасивні елементи електроніки, коливальні контури, їх використання. Кремнієві стабілітрони: будова, принцип дії, галузі використання. Напівпровідникові діоди, схеми з’єднання.
учебное пособие [7,5 M], добавлен 16.10.2009Реалізація HDL-моделі паралельного логічного контролера циклічної дії мовою опису апаратури AHDL у середовищі MAXplus+II. Алгоритм функціонування паралельного логічного контролера циклічної дії: таблиці станів і переходів. Логічна структура блоку пам'яті.
контрольная работа [265,3 K], добавлен 25.09.2010Аналіз технологічного процесу і вибір напрямків автоматизації. Розробка структурної схеми системи управління. Основні вимоги до елементів структурної схеми. Додаткові вимоги до мікропроцесора. Технічна характеристика мікроконтролера Atmel AT89C51AC3.
курсовая работа [316,1 K], добавлен 11.10.2011