Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .include "m16def.inc"
- .org 0x0000
- .def temp = r16
- .def divider = r17
- .def data = r18
- .def b_state = r19
- .def count = r20
- .def button = r21
- ldi temp, low(RAMEND)
- out SPL, temp
- ldi temp, high(RAMEND)
- out SPH, temp
- ldi temp, (1 << CS02) | (1 << CS00) //Preddelitel 1024, Normal Mode (WGM00, WGM01 = 0)
- out TCCR0, temp
- ldi temp, 0x00
- out DDRA, temp
- ldi temp, 0xff
- out PORTA, temp
- ldi temp, (1 << TXEN) | (1 << RXEN)
- out UCSRB, temp
- ldi temp, (1 << UCSZ1) | (1 << UCSZ0) | (1 << URSEL)
- out UCSRC, temp
- ldi temp, high(25)
- out UBRRH, temp
- ldi temp, low(25)
- out UBRRL, temp
- reset:
- rcall check_buttons
- main:
- ldi divider, 85
- overflow:
- in temp, TIFR
- sbrs temp, TOV0
- rjmp overflow
- out TIFR, temp
- dec divider
- brne overflow
- ldi data, '\r'
- rcall send_byte
- ldi data, '\n'
- rcall check_buttons
- rjmp main
- check_buttons:
- sbis PINA, 0
- rjmp PC+3
- rcall b0_notpressed
- rjmp PC+2
- rcall b0_pressed
- sbis PINA, 1
- rjmp PC+3
- rcall b1_notpressed
- rjmp PC+2
- rcall b1_pressed
- sbis PINA, 2
- rjmp PC+3
- rcall b2_notpressed
- rjmp PC+2
- rcall b2_pressed
- sbis PINA, 3
- rjmp PC+3
- rcall b3_notpressed
- rjmp PC+2
- rcall b3_pressed
- sbis PINA, 4
- rjmp PC+3
- rcall b4_notpressed
- rjmp PC+2
- rcall b4_pressed
- sbis PINA, 5
- rjmp PC+3
- rcall b5_notpressed
- rjmp PC+2
- rcall b5_pressed
- sbis PINA, 6
- rjmp PC+3
- rcall b6_notpressed
- rjmp PC+2
- rcall b6_pressed
- sbis PINA, 7
- rjmp PC+3
- rcall b7_notpressed
- rjmp PC+2
- rcall b7_pressed
- ret
- send_byte:
- sbis UCSRA, UDRE
- rjmp PC-1
- out UDR, data
- ret
- b0_pressed:
- ldi data, 'B'
- rcall send_byte
- ldi data, '0'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '='
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '1'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '\r'
- rcall send_byte
- ldi data, '\n'
- rcall send_byte
- ret
- b0_notpressed:
- ldi data, 'B'
- rcall send_byte
- ldi data, '0'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '='
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '0'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '\r'
- rcall send_byte
- ldi data, '\n'
- rcall send_byte
- ret
- b1_notpressed:
- ldi data, 'B'
- rcall send_byte
- ldi data, '1'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '='
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '0'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '\r'
- rcall send_byte
- ldi data, '\n'
- ret
- b1_pressed:
- ldi data, 'B'
- rcall send_byte
- ldi data, '1'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '='
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '1'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '\r'
- rcall send_byte
- ldi data, '\n'
- rcall send_byte
- ret
- b2_notpressed:
- ldi data, 'B'
- rcall send_byte
- ldi data, '2'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '='
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '0'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '\r'
- rcall send_byte
- ldi data, '\n'
- ret
- b2_pressed:
- ldi data, 'B'
- rcall send_byte
- ldi data, '2'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '='
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '1'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '\r'
- rcall send_byte
- ldi data, '\n'
- rcall send_byte
- ret
- b3_notpressed:
- ldi data, 'B'
- rcall send_byte
- ldi data, '3'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '='
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '0'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '\r'
- rcall send_byte
- ldi data, '\n'
- ret
- b3_pressed:
- ldi data, 'B'
- rcall send_byte
- ldi data, '3'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '='
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '1'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '\r'
- rcall send_byte
- ldi data, '\n'
- rcall send_byte
- ret
- b4_notpressed:
- ldi data, 'B'
- rcall send_byte
- ldi data, '4'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '='
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '0'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '\r'
- rcall send_byte
- ldi data, '\n'
- ret
- b4_pressed:
- ldi data, 'B'
- rcall send_byte
- ldi data, '4'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '='
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '1'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '\r'
- rcall send_byte
- ldi data, '\n'
- rcall send_byte
- ret
- b5_notpressed:
- ldi data, 'B'
- rcall send_byte
- ldi data, '5'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '='
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '0'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '\r'
- rcall send_byte
- ldi data, '\n'
- ret
- b5_pressed:
- ldi data, 'B'
- rcall send_byte
- ldi data, '5'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '='
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '1'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '\r'
- rcall send_byte
- ldi data, '\n'
- rcall send_byte
- ret
- b6_notpressed:
- ldi data, 'B'
- rcall send_byte
- ldi data, '6'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '='
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '0'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '\r'
- rcall send_byte
- ldi data, '\n'
- ret
- b6_pressed:
- ldi data, 'B'
- rcall send_byte
- ldi data, '6'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '='
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '1'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '\r'
- rcall send_byte
- ldi data, '\n'
- rcall send_byte
- ret
- b7_notpressed:
- ldi data, 'B'
- rcall send_byte
- ldi data, '7'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '='
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '0'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '\r'
- rcall send_byte
- ldi data, '\n'
- ret
- b7_pressed:
- ldi data, 'B'
- rcall send_byte
- ldi data, '7'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '='
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '1'
- rcall send_byte
- ldi data, ' '
- rcall send_byte
- ldi data, '\r'
- rcall send_byte
- ldi data, '\n'
- rcall send_byte
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement