Файлы AVR Studiuo и Proteus-a прилагаю.
Спасибо, кто откликнется!
- Вложения
-
- UART.rar
- (25.34 КБ) 192 скачивания
Код: Выделить всё
.def A = r16
.def B = r17
Код: Выделить всё
.equ clock = 14745600 ;clock frequency
.equ baudrate = 9600 ;choose a baudrate
.equ baudconst = (clock/(16*baudrate))-1
Код: Выделить всё
;init UART
ldi A, high(baudconst)
out UBRRH, A
ldi A, low(baudconst)
out UBRRL, A
ldi A, (1<<RXCIE)|(1<<RXEN)|(1<<TXEN) ; enable receiver and transmitter
out UCSRB,A
ldi A, (1<<USBS)|(3<<UCSZ0) ; set frame format: 8data, 2stop bit
out UCSRC,A
sei
Код: Выделить всё
.cseg
.org $000 ;Reset Vector
rjmp Reset
;Interrupt vectors
.org INT0addr ;External Interrupt0 Vector
reti
.org INT1addr ;External Interrupt1 Vector
reti
.org ICP1addr ;Input Capture1 Interrupt Vector
reti
.org OC1addr ;Output Compare1 Interrupt Vector
reti
.org OVF1addr ;Overflow1 Interrupt Vector
reti
.org OVF0addr ;Overflow0 Interrupt Vector
reti
.org URXC0addr ;UART0 Receive Complete Interrupt Vector
rjmp uart_receive
.org UDRE0addr ;UART0 Data Register Empty Interrupt Vector
rjmp uart_send_int
.org UTXC0addr ;UART0 Transmit Complete Interrupt Vector
reti
.org ACIaddr ;Analog Comparator Interrupt Vector
reti
.org PCIaddr ;Pin Change Interrupt Vector
reti
.org OC1Baddr ;Timer/Counter1 Compare Match B Interrupt Vector
reti
.org OC0Aaddr ;Timer/Counter0 Compare Match A Interrupt Vector
reti
.org OC0Baddr ;Timer/Counter0 Compare Match B Interrupt Vector
reti
.org USI_STARTaddr ;USI start Interrupt Vector
rjmp usi_start
.org USI_OVFaddr ;USI overflow Interrupt Vector
rjmp usi_ovf
.org ERDYaddr ;EEPROM write complete Interrupt Vector
reti
.org WDTaddr ;Watchdog Timer Interrupt Vector
reti
Reset:
ЛСД не подключают, а под язык кладутladik писал(а):спасибо за советы! Так и поступлю! а то, что-то этот протеус какой то косячный. УАРТ уже настроил к этому времени. Теперт проблема с подключением ЛСД.