Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
USART.docx
Скачиваний:
6
Добавлен:
01.03.2025
Размер:
171.66 Кб
Скачать

Init_usart:

ldi temp,(1<<TXEN | 1<<RXEN)

out UCSRB,temp ;разрешение передачи по каналу USART (в регистр

;TXEN и RXEN записываем 1)

clr temp

out UBRRH,temp

ldi temp,0x05

out UBRRL,temp ;задается скорость передачи 38400 бод

ldi temp, ((1<<URSEL)|(3<<UCSZ0))

out UCSRC,temp ; 1 стоп бит - 0 в USBS,

;контроль четности отсутсвует UPM1,UPM0 = 0

;USZ=3(USZ0-0,USZ1-1,USZ2-1) - посылается 8 бит за 1 раз

ret

;********************************************************************* BUTTON1_ON:

ldi button,BUTTON_1_ON

ldi zl,low(text*2) ;загрузка начального адреса передаваемого текста

ldi zh,high(text*2)

rjmp USART_TRANSMIT

BUTTON2_ON:

ldi button,BUTTON_2_ON

ldi zl,low(text1*2) ;загрузка начального адреса передаваемого текста

ldi zh,high(text1*2)

rjmp USART_TRANSMIT

;*********************************************************************;передача байта по USART

USART_TRANSMIT:

clr flag

ldi count,29 ;число символов первой последовательности

clr temp

out TCNT1H,temp

out TCNT1L,temp

ldi temp,(1<<OCIE1A)

out TIMSK,temp ;устанавливает 7 бит, чтобы разрешить прерывания

rjmp loop

TRANSMIT: ;цикл ожидания установления UDRE в 1, т. е. ждем ;когда будет полностью передан предыдущий байт

sbis UCSRA,UDRE

rjmp TRANSMIT

lpm

out UDR,r0 ;передача данных по USART

clr temp

out TCNT1H,temp

out TCNT1L,temp

mov temp,r0

inc zl

cpi button,BUTTON_2_ON

breq BUTTON2_END

BUTTON1_END:

dec count

breq END_POSL

rjmp END_TR

BUTTON2_END:

cpi temp,0x0D

breq END_POSL

END_TR:

reti

END_POSL:

ldi flag,0x01

rjmp END_TR

;*********************************************************************

RECEIVE:

in temp, UDR ; считываем данные, переданные по USART

;(байт содержаться в регистре UDR)

out PORTB,temp ; выводим полученное значение на светодиоды)

ret

; определили константы в памяти программы

text: .db 'I',' ','L','O','V','E',' ','T','H','I','S',' ','W','O','N','D','E','F','U','L','L',' ','W','O','R','L','D',0x0A,0x0D

text1:.db 'S','O','M','B','O','D','Y',' ','P','L','E','A','S','E',' ','K','I','L','L',' ','M','E',0x0A,0x0D

.eseg

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]