Регістр UBRR.
За швидкість роботи UART відповідає регістр UBRR. Число, записане в нього, а також тактова частота роботи мікроконтролера визначає частоту роботи приймача-передавача. Це число вибирається з табл.3.1. Хай необхідно запрограмувати UART на швидкість роботи 9600 Бод при частоті кварцового резонатора 8МГц.
Оскільки «Швидкість роботи UART» = «9600», то в регістр UBRR необхідно записати число 51.
Програмно це виглядатиме таким чином:
ldi Temp, 51
out UBRR, Temp
Примітка.
Якщо приймач і передавач в роботі не використовуються, то в регістр UCR можна записати всі нулі:
ldi Temp, $00
out UCR, Temp
У регістр UBRR в цьому випадку можна взагалі нічого не записувати.
При цьому всі переривання від UART будуть заборонені і робота приймача і передавача зупинена.
Прийняти байт даних з UART.
Для обміну інформацією за допомогою послідовного каналу служить регістр UDR. Для того, щоб прийняти байт даних за послідовним інтерфейсом, необхідно просто прочитати його з відповідного регістру.
Отже, для прийому байта даних з UART в регістр загального призначення R16 необхідно записати наступне:
in r16,UDR
Відправити байт даних до UART.
Для того, щоб відправити байт даних за послідовним інтерфейсом, необхідно просто записати його у регістр UDR.
Отже, для відправки байта даних з регістру загального призначення (наприклад, з R17) в UART, необхідно записати наступне:
out UDR,r17
Література
Основна література
1. Евстифеев А.В. Микроконтроллеры AVR семейства CLASSIC фирмы ATMEL. – М.: Издательский дом „Додэка-XXI”, 2002. – 288 с.: ил.
Допоміжна література
2. Баранов В.Н. применение микроконтроллеров AVR: схемы, алгоритмы, программы. – М.: Издательский дом «Додэка-XXI», 2004. – 288 с.: ил. (серия «Мировая электроника»)
3. Белов А.В. Конструирование устройств на микроконтроллерах. – СПб.: Наука и техника, 2005. – 256 с.: ил.
4. Бродин В. Б., Калинин А. В. Системы на микроконтроллерах и БИС программируемой логики. - М.: ЭКОМ, 2002. - 399 c.: ил. - (Соврем. микропроцес. техника).
5. Гребнев В.В. Микроконтроллеры семейства AVR фирмы ATMEL. – М.: ИП РадиоСофт, 2002 – 176 с.: ил.
6. Евстифеев А.В. Микроконтроллеры AVR семейств Tiny и Mega фирмы "ATMEL". - М.: ИД "Додэка-ХХI", 2004. - 558 c.: ил. - (Мировая электроника).
7. Локазюк В. М. Мікропроцесори та мікроЕОМ у виробничих системах: Посібник. - К.: ВЦ "Академія", 2002. - 367 c.: iл. - (Альма-матер).
8. Николайчук О. И. Системы малой автоматизации. - М.: СОЛОН-Пресс, 2003. - 247 c.: ил. - (Б-ка инженера).