Код: Выделить всё
;включаем файл описания контроллера AT90S2313
.include "C:\Program Files\Atmel\AVR Tools\AvrStudio4\include\AT90S2313def.inc"
.def temp=r16
.def temp2=r17
.def temp3=r18
.cseg
.org 0
rjmp RESET ;Прерывание от вывода сброса
nop ;rjmp EXT_INT0 ;External Interrupt0 Vector Address
nop ;rjmp EXT_INT1 ;External Interrupt1 Vector Address
nop ;rjmp TIM_CAPT1 ;Input Capture1 Interrupt Vector Address
nop ;rjmp TIM_COMP1 ;Output Compare1 Interrupt Vector Address
nop ;rjmp TIM_OVF1 ;Overflow1 Interrupt Vector Address
nop ;rjmp TIM_OVF0 ;Overflow0 Interrupt Vector Address
nop ;rjmp UART_RXC ;Прерывание по окончании приема UART
nop ;rjmp UART_DRE ;Прерывание по пустому регистру данных UART
rjmp UART_TXC ;Прерывание по окончании передачи UART
nop ;rjmp ANA_COMP ;Прерывание от аналогового компаратора
;Начало основной программы
RESET:
ldi temp, low(ramend);установка стека
out spl,temp
clr temp
;Настройка UART
ldi temp,25 ;Скорость обмена 9600 бод (для 4Мгц ошибки 0,2%)
out ubrr,temp
ldi temp,1<<txb8|1<<txen|1<<txcie;режим 8N1 бит, передачу разрешить, прерывание по окончании передачи
out ucr,temp
SEND:
sei
ldi temp,'a' ;отправка символа ACSII
out udr,temp
rjmp reset
;Обработчик прерывания окончания передачи
uarttxc:
rjmp SEND
reti
ICQ-15B87330h


