Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;
- ; LAB3.asm
- ;
- ; Created: 17.04.2021 15:28:33
- ; Author : ferna
- ;
- ;SB4 -> PD0(BUTTON)
- ;ANSWERING PIN - PA2-PA7
- .include"m64def.inc"
- .EQU XTAL = 16000000
- .EQU BAUDRATE = 9600
- .EQU BAUDDIV = XTAL/(16*BAUDRATE)-1
- .macro UOUT
- .if @0 < 0x40
- OUT @0,@1
- .else
- STS @0,@1
- .endif
- .endm
- /*INIT ALL PERIPH AT MCU AND STACK*/
- LDI R16, Low(RAMEND)
- OUT SPL, R16
- LDI R16, High(RAMEND)
- OUT SPH, R16
- RCALL UART_INIT
- RCALL GPIO_INIT
- LDI R31, 0b11111100;
- MAIN:
- SBIS PIND, 0
- RCALL UART_SEND
- RJMP MAIN
- /*******************************/
- UART_INIT:
- LDI R16, LOW(BAUDDIV)
- UOUT UBRR1L, R16
- LDI R16, HIGH(BAUDDIV)
- UOUT UBRR1H, R16
- LDI R16, 0x00
- UOUT UCSR1A, R16
- LDI R16, (1<<RXEN1)|(1<<TXEN1);
- UOUT UCSR1B, R16
- LDI R16, (1<<UCSZ11)|(1<<UCSZ10)
- UOUT UCSR1C, R16
- RET
- /*********************************/
- GPIO_INIT:
- SBI PORTD, 0/*PULL UP BUTTON*/
- LDI R16, 0b11111100;/*PULL UP SWITCH*/
- OUT PORTA, R16/*FOR MY MCU PORTA NOT EXISTS, BECAUSE USE PORTB*/
- RET
- /*********************************/
- UART_SEND:
- LDS R17, UCSR1A
- SBRS R17, 5
- RJMP UART_SEND
- IN R19, PINA
- AND R19, R31
- UOUT UDR1, R19
- RECURSIVE:
- SBIS PIND, 0
- RJMP RECURSIVE
- RET
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement