Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
новий документ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.83 Mб
Скачать

6 Програмування мікроконтролера

Завантаження програми в мікроконтролер відбувається через універсальний асинхронний приймач-передавач (UART – Universal Asynchronous Receiver-Transmitter) – периферійний пристрій мікроконтролера, який дозволяє послідовно

передавати ти приймати дані по двох однопровідних лініях. UART має можливість працювати в режимі повного дуплексу і не використовувати при цьому додаткової лінії для синхронізації.

Часто UART застосовують у парі з інтерфейсом RS-232 для зв’язку периферійного пристрою з персональним комп’ютером. Сигнали UART та RS-232 відрізняються в основному рівнями логічної одиниці та нуля. Якщо UART використовує рівні стандартні для КМОН чи ТТЛ логіки, то стандарт RS-232 передбачає використання напруги від -3В до -25В для кодування логічної одиниці та напруги від 3В до 25В для кодування логічного нуля.

Передавання даних відбувається пакетами по 8 або 9 біт (молодші біти передаються першими). Синхронізація приймача та передавача відбувається таким чином (рисунок 6.1). У спокої лінія утримується передавачем у стані логічної одиниці. Якщо виникає необхідність передати дані то передавач передає нульовий старт біт, вісім або дев’ять інформаційних бітів, та обов’язково одиничний стоп-біт, що повертає лінію в стан очікування. Дев’ятий інформаційний біт можна використати для перевірки цілісності байта.

При прийманні посилання, приймач постійно прослуховує лінію RXD і в момент переходу з одиничного в нульовий стан (прийом старт-біта) внутрішній таймер прийому скидаєтьсь в нуль, щоб синхронізувати його із таймером передавача. По синхронізованому внутрішньому таймеру контролер за період переривання кожного інформаційного біта тричі опитує лінію RXD, а у вхідний буфер записується значення, отримане принаймні в двох вимірах із трьох. Після

прийому всіх інформаційних біт та стоп-біта приймач переходить у стан очікування нового старт-біта. [1]

Рисунок 6.1 – Часова діаграма роботи UART

Для успішного обміну приймач і передавач має бути налаштованим на одну і ту ж швидкість передавання та довжину посилання. Допустиме відхилення частоти передавача та приймача визначається з умов недопущення роз синхронізації за час передачі посилання і не може перевищувати 3%.

UART в сімействі мікроконтролерів MCS51 (до якого відноситься ADuC841) передбачає роботу в чотирьох режимах, які вибираються регістром SCON.

В нульовому, синхронному, режимі дані передаються та приймаються через вхід RXD, вихід TXD передає синхроімпульси. В першому-третьому режимах дані передаються асинхронно виводом TXD, а приймаються RXD.

  • в першому режимі передається старт-біт, 8 біт даних та стоп-біт;

  • у другому та третьому режимах передається старт-біт, 9 біт даних і стоп-біт.

Щоб задати частоту передачі даних по UART використовуємо таймер 3,

який в мікроконтролері ADuC841, призначений для даної задачі. Для того щоб

здійснювати передачу дан их з відповідною швидкістю необхідно налаштувати регістр T3CON, який відповідає за режим роботи таймера 3.

В RS-232 для передачі даних використовується рознім DB-9.

Рисунок 6.2 - Зовнішній вигляд розніму RS-232 (мама)

Рисунок 6.3 - Зовнішній вигляд розніму RS-232 (папа)

Рисунок 6.4 – Розпіновка виводів для RS-232

Таблиця 6.1 – Опис сигналів інтерфейсу

Назва

Напрямок

Опис

Контакт

(9 – контактний рознім)

DCD

IN

Carrie Detect

(Визначає несучий біт)

1

Продовження таблиці 6.1 – Опис сигналів інтерфейсу

RXD

IN

Receive Data

(Прийом даних)

2

TXD

OUT

Transmit Data

(Передача даних)

3

DTR

OUT

Data Terminal Ready

(Готовність терминалу)

4

SG

-

System Ground

(Спільний вивід)

5

DSR

IN

Data Set Ready

(Готовність даних)

6

RTS

OUT

Request to Send

(Запит на відправку)

7

CTS

IN

Clear to Send

(Готовність приєму)

8

RI

IN

Ring Indicator

(Індикатор)

9

Призначення сигналів наступне:

  • DCD – виявлення даних (детектування сигналу);

  • RxD - данні, які приймає комп’ютер в послідовному коді (логіка від’ємна);

  • TxD - данні, які передає комп’ютер в послідовному коді (логіка від’ємна);

  • DTR – готовність даних до виводу;

  • SG – нулевий провід;

  • DSR – готовність даних. Використовується для задання режиму модему;

  • RTS – сигнал запиту передачі. Активний весь час передачі;

  • CTS – сигнал очищення для передачі. Активний кесь час передачі. Дає сигнал про готовність приймача;

  • RI – індикатор виклику.

Багато сучасних модифікацій материнських плат і моделі ноутбуків не обладнанні COM – портом. Тому для запису програми в мікроконтролер потрібно перехідник «USB - RS232» (дивитися рисунок 6.5). Ми використовуємо кабель – перехідник «USB - RS232», який призначений для підключення до USB порта комп’ютера та пристрою для вимірювання ширини робочих поясків поршневих кілець, який використовує послідовний інтерфейс RS-232. Кабель перехідник успішно вирішує завдання сумісності пристроїв працюючих на інтерфейсі RS-232. Управління кабелем перехідником здійснюється через комп’ютер або ноутбук з допомогою спеціальних програм (драйверів).

Рисунок 6.5 – Зовнішній вигляд кабелю USB-RS232

Рисунок 6.6 – USB – RS232

Порт «RxD» працює на вхід, а «TxD» працює на вихід. В середовищі розробки програми Keil uVision для запису програми в контролер потрібно скористатися комбінацією гарячих клавіш Alt+A+D або використати іконку «Download» в вкладці «Flash» (рисунок 6.3), а також вона стає активною після компіляції програми в головному вікні Keil uVision.

Рисунок 6.3 – Завантаження прошивки в контролер

Для успішного збереження програми в мікроконтролер середовище розробки Keil uVision повинно бути не нижче версії 4v900.