Короткі теоретичні відомості

Створення проекту в Keil

а) запускаємо середовище

б) меню Project -> NewProject

в) у вікні, що появилося, вказати директорію, в якій буде збережений проект або створити нову, вказати назву проекту

г) вибрати тип контролера – Analog Devices -> ADuC841

д) початковий код до проекту не додавати

е) створити прив'язку – для цього натиснути кнопку Options for Target:

 


Рисунок 1.2 – Вибір створення прив'язки

 

У вікні, що появилося, на закладці Target необхідно вказати частоту кварцового резонатора, що використовується – 11,0592 Мгц.

На закладці Output слід відмітити пункт Create HEX File.

На закладці Utilities відмітити пункт Use Target Driver for Flash Programming, із списку слід вибрати пункт ADI Monitor Driver, (рисунок 1.2), натиснути кнопку Settings, встановити відповідний порт для зв'язку (COM1), швидкість лінії 9600, пункти RTS і DTR встановити у значення Inactive.

 


Рисунок 1.3 – Настроювання прив'язки

Після настроювання прив'язки потрібно створити новий файл – меню File -> New, і зберегти його із розширенням.asm або.a51. У вікні Project Workspace розкрити групу Target 1, перейти на групу Source Group 1, викликати контекстне меню, клацнувши правою кнопкою миші по групі Source Group 1 і вибрати пункт Add Files to Source Group 1. У діалоговім вікні, що появилося, вказати створений файл, встановивши тип файлів у значення Asm Source Files.

 

 

Рисунок 1.4 – Схема для лабораторної роботи №1

 

Світлодіодна лінійка може бути використана як бінарний 8-розрядний індикатор. Адреса регістра лінійки - 07h. Світлодіоди увімкнені анодами до +5В, катодами – до виходів регістра. Для погашення світлодіодів в регістр потрібно записати число FFh. Щоб засвітити світлодіод, потрібно відповідний біт регістра встановити рівний логічному 0.

Для адресації використовується молодша тетрада порту Р2 мікроконтролера (Рисунок 2.1). На даному рисунку живлення та інші порти контролера умовно показані непідключеними. Біти 0, 1, 2 подаються на входи дешифраторів А, В, С, а біт 3 – на інвертований вхід ОЕА (Output Enable A) першого і одночасно на неінвертований вхід ОЕ1 другого. Таким чином, стан порту Р2.3 визначає, який дешифратор буде працювати, тобто при значенні Р2.3=0 працює верхній (по схемі) дешифратор, а при Р2.3=1 – нижній. Вихід дешифратора Y0 не задіяний, тому що при значенні молодшої тетради порту Р2, рівній 0000b, на цьому виході буде логічний нуль (виходи дешифраторів інвертовані). Напрям роботи буфера визначається значенням на його вході DIR. Це значення задається портом мікроконтролера Р3.6. Для роботи буфера на передачу від контролера до шини значення сигналу DIR повинно бути рівним логічній 1, а для роботи на прийом від шини до контролера – логічному 0.

Покажемо часові діаграми роботи контролера із периферійними пристроями.

 

Рисунок 2.1 – Часова діаграма запису двох чисел в регістр периферійного пристрою

 

Число фіксується регістром (периферійним пристроєм) по зростаючому фронту сигналу ~CS. Послідовність роботи контролера така:

1. Встановлюється напрям роботи буфера (DIR=1) і увімкнення його і дешифраторів (~OE=0);

2. В порт Р0 записується число, яке потрібно записати;

3. В порт Р2.0-Р2.3 записується адрес периферійного пристрою (регістра);

4. В порт Р2.0-Р2.3 записується число 0000b.

Таким чином запис числа проходить за 4 такти.

Якщо напрям роботи буфера був встановлений і дешифратори увімкнені, то процес проходить за 3 такти.

При зчитуванні контролером із шини даних потрібно встановити напрям роботи буфера на читання (DIR=1), дати строб ~CS для відповідного адресу, і зчитати стан порту Р0. Слід пам'ятати, що з регістрів, які розміщені на платі стенду, зчитування неможливе, але зчитувати можна із системного роз'єму.

 

Набрати текст програми, натиснути кнопку Rebuild all target files.

Для того, щоб завантажити відкомпільований файл у стенд необхідно:

1. Замкнути перемичку J6.

2. Перемикач SW8 перевести в положення замкнуто.

3. Натиснути кнопку SW9.

4. Вибрати команду Flash -> Download.

Внаслідок таких дій програма завантажиться в пам'ять програм мікроконтролера і запуститься на виконання.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: