Advertisement
Guest User

Untitled

a guest
Sep 18th, 2019
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. .NOLIST
  2. .INCLUDE "m128def.inc"
  3. .LIST
  4.  
  5. init:
  6. .DEF presun = r16
  7. .DEF data = r17
  8. .DEF pozice = r18
  9. .DEF test = r19
  10. ldi pozice, 3
  11. ldi presun, low(RAMEND) ;nastaveni zasobniku
  12. out spl, presun
  13. ldi presun, high(RAMEND)
  14. out sph, presun
  15. ldi presun, 0xFF ;nastaveni portu vystupnich periferiich
  16. out DDRB, presun
  17. out DDRD, presun
  18.  
  19. ldi r16, 103
  20. out UBRR0L, r16
  21. ; Enable receiver and transmitter
  22. ldi r16, (1<<RXEN0)|(1<<TXEN0)
  23. out UCSR0B, r16
  24. ; Set frame format: 8data, 2stop bit
  25. ldi r16, (1<<USBS0)|(1<<UCSZ01)|(1<<UCSZ00)
  26. sts UCSR0C, r16
  27.  
  28.  
  29. USART_Receive:
  30. sbis UCSR0A, RXC0
  31. jmp USART_Receive
  32. ; Get and return received data from buffer
  33. in presun, UDR0
  34.  
  35.  
  36.  
  37. //za predpokladu ze v presun mame data
  38. testzero:
  39. cpi presun, 0b00000000
  40. brne testone
  41. jmp lightzero
  42.  
  43. testone:
  44. cpi presun, 0b00000001
  45. brne testtwo
  46. jmp lightone
  47.  
  48. testtwo:
  49. cpi presun, 0b00000010
  50. brne testthree
  51. jmp lighttwo
  52.  
  53. testthree:
  54. cpi presun, 0b00000011
  55. brne testfour
  56. jmp lightthree
  57.  
  58. testfour:
  59. cpi presun, 0b00000100
  60. brne testfive
  61. jmp lightfour
  62.  
  63. testfive:
  64. cpi presun, 0b00000101
  65. brne testsix
  66. jmp lightfive
  67.  
  68. testsix:
  69. cpi presun, 0b00000110
  70. brne testseven
  71. jmp lightsix
  72.  
  73. testseven:
  74. cpi presun, 0b00000111
  75. brne testeight
  76. jmp lightseven
  77.  
  78. testeight:
  79. cpi presun, 0b00001000
  80. brne testnine
  81. jmp lighteight
  82.  
  83. testnine:
  84. cpi presun, 0b00001001
  85. brne testzero
  86. jmp lightnine
  87.  
  88. lightzero:
  89. ldi data, 0xFC
  90. out PORTB, data
  91. out PORTD, pozice
  92. jmp USART_Receive
  93.  
  94. lightone:
  95. ldi data, 0xE0
  96. out PORTB, data
  97. out PORTD, pozice
  98. jmp USART_Receive
  99.  
  100. lighttwo:
  101. ldi data, 0xDA
  102. out PORTB, data
  103. out PORTD, pozice
  104. jmp USART_Receive
  105.  
  106. lightthree:
  107. ldi data, 0xF2
  108. out PORTB, data
  109. out PORTD, pozice
  110. jmp USART_Receive
  111.  
  112. lightfour:
  113. ldi data, 0x66
  114. out PORTB, data
  115. out PORTD, pozice
  116. jmp USART_Receive
  117.  
  118. lightfive:
  119. ldi data, 0xB6
  120. out PORTB, data
  121. out PORTD, pozice
  122. jmp USART_Receive
  123.  
  124. lightsix:
  125. ldi data, 0xBE
  126. out PORTB, data
  127. out PORTD, pozice
  128. jmp USART_Receive
  129.  
  130. lightseven:
  131. ldi data, 0xE0
  132. out PORTB, data
  133. out PORTD, pozice
  134. jmp USART_Receive
  135.  
  136. lighteight:
  137. ldi data, 0xFE
  138. out PORTB, data
  139. out PORTD, pozice
  140. jmp USART_Receive
  141.  
  142. lightnine:
  143. ldi data, 0xF6
  144. out PORTB, data
  145. out PORTD, pozice
  146. jmp USART_Receive
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement