Перейти к содержанию
bbh_blocked_dnftl

Dx Portal UART Low-Speed AT89C51RB2


Рекомендуемые сообщения

Привет, ребята. Буду признателен за любую помощь.

 

 

 

Ситуация в следующем:

 

 

 

Мне требуется выполнить миграцию для одного проекта с МК P87C51FB (снятого с производства) на МК AT89C51RB2 (в производстве).

 

 

 

Код переехал отлично, за исключением одной вещи. В проекте реализована связь диагностического стенда с моим блоком, инициализирующаяся кодовой посылкой на 5 бодах (ISO 9141), исходя из которой настраивается передача на 4800/9600. Проблема в том, что UART данного МК отказывается работать на этой скорости. P87C51FB это делал легко.

 

 

 

ДШ гласит:

 

 

 

 

 

Т2 у меня занят, Internal_BaudRate_Generator на 5 бод настроить не выйдет. Юзаем Т1 на таймере 1 в режиме 16бит с софтварной перезагрузкой в прерывании (как ДШ завещал). Код (только UART) асемблирую и прошиваю следующий:

 

 

 

$DATE ( 30.06.2018 )

$TITLE ( Project3 )

$NOPAGING

$NOMOD51

$INCLUDE (AT89C51RB2.inc)

 

org 00H

ljmp BEGIN

 

org 23H

ljmp serial_IT

 

ORG 001BH

JMP TM1INT

 

org 100h

 

BEGIN:

clr A

mov TCON, A

mov T2CON, A

mov SCON,#50H

MOV PCON,#80H

MOV TMOD,#10H

MOV TH1,#0CFH

MOV TL1,#02CH

 

setb ES

setb EA

setb ET1

setb TR1

 

mov A,#55h

mov sbuf,A

 

jmp $

 

TM1INT:

clr TR1

MOV TL1,#02CH

MOV TH1,#0CFH

SETB TR1

 

RETI

 

serial_IT:

jnb RI, _TI

clr RI

 

mov A,sbuf

mov sbuf,A

cpl P3.5

 

ljmp end_IT

_TI:

clr TI

end_IT:

reti

 

END

 

 

В результате стартовую посылку "55H" МК не отправляет, нога TxD прижимается к лог. 1 и висит, на прием МК также не реагирует. Понимаю, что не показатель, но в протеусе данный код работает прекрасно.

 

 

 

Ко всему вышесказанному добавлю, что запустить UART на Т1 (16bit software reload in interrupt) ни на одной из скоростей у меня не вышло. На Т2 и Internal_BaudRate_Generator, да даже на Т1 в режиме 8бит автоперезагрузки (только высокие скорости) UART работает исправно.

 

 

 

Ломаю голову... Возможно я что-то делаю не так.

 

 

 

Буду признателен за любую помощь.

 

Читать дальше

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...