;Принимает через UART число, отправляет его на PORTC ;По внешнему прерыванию 1 сбрасывает значение .include "8535def.inc" .def status=r0 .def led1=r16 .def led2=r17 .def led3=r18 .def led4=r19 .def temp=r20 .def cnt1=r21 .def cnt2=r22 ;****************************************************************** .org 0 rjmp reset ;RESET handler reti ; .org INT1addr ;External Interrupt1 handler rjmp intr1 ; reti ; .org URXCaddr rjmp COMint ; reti ; intr1: in status, SREG ; cli ;global interrupt disable ldi led1, $04 ; out PORTC, led1 ; ldi led2, $00 ; sei ; out SREG, status ; reti COMint: in status, SREG ; cli ; in led2, UDR ; out PORTC, led2 ; sei ; out SREG, status ; reti reset: ldi led1,low(RAMEND) ;$DF out SPL,led1 ldi led1,high(RAMEND) ;$DF out SPH,led1 ldi led1,$FF out DDRC,led1 ; set portb as outputs ldi temp, 0b10000000; out GIMSK, temp ;external int1 enable ldi temp, 0b00000000;int1 on falling edge out MCUCR, temp ; ldi temp, 51 ;configure baud rate 9600 out UBRR, temp ; ldi temp, 0b10011000;configure UART out UCR, temp ; ldi temp, $000000010; out DDRD, temp ;configure PORTD sei ; loop: rjmp loop ; ret