![](/user_photo/2706_HbeT2.jpg)
4. Программирование последовательного порта
Последовательный порт микроконтроллера 8051 обеспечивает широкие возможности по организации приема/передачи данных, при этом настройка на заданную скорость приема/передачи и требуемый протокол обмена достигается соответствующей инициализацией регистров PCON ,TMOD, SCON. Обеспечим работу последовательного порта в режиме 3 со скоростью приема/передачи данных 2400 бод. Выдача результата производится последовательно начиная с регистра R3, что соответствует тысячному разряду и далее соответственно сотни-десятки-единицы.
;INIT1 - подпрограмма инициализации
INIT1: MOV SCON,#11010010B ;настройка управления портом: режим 3, разрешаем прием данных, обнуляем флаги приема и передачи
MOV TMOD,#00100000B ;настройка T/C1
MOV PCON,#0 ;сброс бита SMOD
MOV
TH1,#<.NOT.K+1 ;
,
где
;
МГц
есть частота синхро-
;низации микроконтроллера
SETB TR1 ;включить T/C1
RET
;SP_IN - подпрограмма приема данных и контрольного бита
SP_IN: MOV P3.6,#0
JNB RI,SP_IN ;синхронизация приема
CLR RI ;сброс бита SCON.0
MOV A,SBUF ;загрузка принятого байта данных в A
MOV C,RB8 ;загрузка девятого принятого бита
;данных (контрольного бита) в C
CJNE C,R4,SP_IN ; сравнение контрольного бита с нашей командой
;SP_OUT - подпрограмма передачи данных и контрольного бита
SP_OUT: MOV C,P ;пересылка контрольного бита из флага
MOV TB8,C ;паритета в SCON.3
M1: SETB P3.6
JNB TI,M1 ;синхронизация передачи
CLR TI ;сброс бита SCON.1
M2: MOV A,R3
MOV SBUF,A ;передача контрольного бита и
;содержимого A через посл. порт
JNB SCON.1, M2; ожидание флажка окончания передачи
M3: MOV A,R2
MOV SBUF,A ;передача контрольного бита и
;содержимого A через посл. порт
JNB SCON.1, M2
M4: MOV A,R1
MOV SBUF,A ;передача контрольного бита и
;содержимого A через посл. порт
JNB SCON.1, M2
M5: MOV A,R0
MOV SBUF,A ;передача контрольного бита и
;содержимого A через посл. порт
JNB SCON.1, M2
RET
Список используемой литературы
Проектирование цифровых устройств на однокристальных микроконтроллерах/ В.В. Сташин, А.В. Урусов, О.Ф. Мологонцева. – М.: Энергоатомиздат, 1990. – 224с.
2. Программирование микроконтроллеров MCS-51/ Д.В.Андреев. – УлГТУ, 2000. –89 с.