Advertisement
Guest User

Untitled

a guest
Dec 11th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.03 KB | None | 0 0
  1. .nolist
  2. .include "m2560def.inc"
  3. .list
  4. .equ xlength = 100
  5. .ESEG
  6. .DSEG
  7. .ORG 0x200
  8. TAB_RAM: .BYTE xlength
  9.  
  10. ; CODE - Program memory segment
  11. .CSEG
  12. .org 0x0000
  13. jmp RESET ;Reset Handler
  14.  
  15. ;=========Program start==========
  16. RESET:
  17. cli
  18. ldi R16, HIGH(RAMEND)
  19. out SPH, R16
  20. ldi R16, LOW(RAMEND)
  21. out SPL, R16
  22. ldi R16, 0xFF
  23. out DDRB, r16 ;PortB ustawiamy jako wyjście
  24. ;Początek kodu zapalającego i gaszącego diodę
  25. loop1: sbi PORTB,7 ;Zapalenie diody
  26. rcall Delay250 ;Odczekanie 250ms
  27. cbi PORTB,7 ;Zgaszenie diody
  28. rcall Delay250 ;Odczekanie 500ms
  29. rcall Delay250
  30.  
  31. sbi PORTB,7
  32. rcall Delay250
  33. cbi PORTB,7
  34. rcall Delay250
  35. rcall Delay250
  36.  
  37. sbi PORTB,7
  38. rcall Delay250
  39. cbi PORTB,7
  40. rcall Delay250
  41. rcall Delay250
  42.  
  43. rcall Delay250 ;Odczekanie 16*250ms = 4s
  44. rcall Delay250
  45. rcall Delay250
  46. rcall Delay250
  47. rcall Delay250
  48. rcall Delay250
  49. rcall Delay250
  50. rcall Delay250
  51. rcall Delay250
  52. rcall Delay250
  53. rcall Delay250
  54. rcall Delay250
  55. rcall Delay250
  56. rcall Delay250
  57. rcall Delay250
  58. rcall Delay250
  59. jmp loop1 ;Skok do poczatku - dzialanie potwarzamy bez końca
  60. ;Metoda opóźniająca o 250ms
  61. Delay250: ldi r18, 16
  62. ldi r19, 55
  63. ldi r20, 255
  64. j1: dec r20
  65. brne j1
  66. dec r19
  67. brne j1
  68. dec r18
  69. brne j1
  70. ret
  71.  
  72. TAB_ROM: .db 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x1F
  73. .db 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1F, 0x1F
  74. .db 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F
  75. .db 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F
  76. .db 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F
  77. .db 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F
  78. .db 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F
  79. .db 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F
  80. .db 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F
  81. .db 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F
  82. .db 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaA, 0xaB, 0xaC, 0xaD, 0xAE, 0xAF
  83. .db 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF
  84. .db 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF
  85. .db 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF
  86. .db 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9, 0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1, 0xF0
  87. .db 0x00,0x00
  88. .EXIT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement