Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Инициализация UART
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
kanzler
Кто нибудь дайте ссылку или пример инициализации UART с тактированием от таймера для AT89C2051.
ALexx
Цитата(kanzler @ Jun 21 2006, 10:02) *
Кто нибудь дайте ссылку или пример инициализации UART с тактированием от таймера для AT89C2051.


//Пример инициализации УАРТ для AT89C2051 (9600, 9 бит, работа по прерываниям)

SCON=0xd0; // установка формата посылки
TMOD=0x21; //таймер1 - генератор баудрейта
IP=0x10;
TL1=0xfd; TH1=0xfd; PCON&=0x7f; //баудрейт 9600 (кварц 11.0592МГц)

TR1=1;
ES=1;
SM2=1;
EA=1;
kanzler
А формулу расчёта значения таймера от скорости и тактовой частоты кварца подскажите пожайлуста.
ALexx
Цитата(kanzler @ Jun 21 2006, 10:51) *
А формулу расчёта значения таймера от скорости и тактовой частоты кварца подскажите пожайлуста.


Любая книга или датащит на любую 51-ю Вам поможет

Вот, к примеру, полное описание архитектуры от АТМЕЛа
http://www.atmel.com/dyn/resources/prod_do...nts/doc4316.pdf
gala
Для UART более важно выбрать:
11.059 МГц - для больших скоростей
или
12 МГц - 9600, но все задержки кратны 1мкс

Примеры в Keil, напр. в Monitor-51
kanzler
Спасибо всем!
raf19789
Вот пример инициализации с вычисляемыми выражениями для семейства 51 атмела с работой от таймера 2
Fq equ 22118000 частота кварца
fp equ 57600 скорость UARTа
t2l equ 65535-(Fq/(32*fp))
t2h equ (65535-(Fq/(32*fp)))/256
mov scon,#01110000b
MOV RCAP2L,#t2l
MOV RCAP2H,#t2h
MOV T2CON,#00110100B

Все, после этого можно работать
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.