Advertisement
kirill_76rus

Lab3_asm

Apr 20th, 2021
340
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. ;
  2. ; LAB3.asm
  3. ;
  4. ; Created: 17.04.2021 15:28:33
  5. ; Author : ferna
  6. ;
  7. ;SB4 -> PD0(BUTTON)
  8. ;ANSWERING PIN - PA2-PA7
  9. .include"m64def.inc"
  10. .EQU XTAL = 16000000
  11. .EQU BAUDRATE = 9600
  12. .EQU BAUDDIV = XTAL/(16*BAUDRATE)-1
  13. .macro UOUT
  14. .if @0 < 0x40
  15. OUT @0,@1
  16. .else
  17. STS @0,@1
  18. .endif
  19. .endm
  20. /*INIT ALL PERIPH AT MCU AND STACK*/
  21. LDI R16, Low(RAMEND)
  22. OUT SPL, R16
  23. LDI R16, High(RAMEND)
  24. OUT SPH, R16
  25. RCALL UART_INIT
  26. RCALL GPIO_INIT
  27. LDI R31, 0b11111100;
  28. MAIN:
  29. SBIS PIND, 0
  30. RCALL UART_SEND
  31. RJMP MAIN
  32. /*******************************/
  33. UART_INIT:
  34. LDI R16, LOW(BAUDDIV)
  35. UOUT UBRR1L, R16
  36. LDI R16, HIGH(BAUDDIV)
  37. UOUT UBRR1H, R16
  38. LDI R16, 0x00
  39. UOUT UCSR1A, R16
  40. LDI R16, (1<<RXEN1)|(1<<TXEN1);
  41. UOUT UCSR1B, R16
  42. LDI R16, (1<<UCSZ11)|(1<<UCSZ10)
  43. UOUT UCSR1C, R16
  44. RET
  45. /*********************************/
  46. GPIO_INIT:
  47. SBI PORTD, 0/*PULL UP BUTTON*/
  48. LDI R16, 0b11111100;/*PULL UP SWITCH*/
  49. OUT PORTA, R16/*FOR MY MCU PORTA NOT EXISTS, BECAUSE USE PORTB*/
  50. RET
  51. /*********************************/
  52. UART_SEND:
  53. LDS R17, UCSR1A
  54. SBRS R17, 5
  55. RJMP UART_SEND
  56. IN R19, PINA
  57. AND R19, R31
  58. UOUT UDR1, R19
  59. RECURSIVE:
  60. SBIS PIND, 0
  61. RJMP RECURSIVE
  62. RET
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement