Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.11 KB | None | 0 0
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;; Laboratory AVR Microcontrollers Part1
  3. ;;
  4. ;; Authors:
  5. ;; Dawid Jaraczewski
  6. ;; Lukasz Plech
  7. ;; Dobromir Mastalinski
  8. ;; Group: 1
  9. ;; Section: 4
  10. ;;
  11. ;; Task: d
  12. ;;
  13. ;; Todo:Write a program which only once copy data from TAB_ROM to PORT B ( display data on
  14. ;; LED's). There is 1 sec delay ( LED is on) after each occurrence
  15. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  16.  
  17. LDI R20, 0xFF
  18. OUT DDRB, R20 ; PORTB ustawiony na wyjscie
  19. ;ustawienie adresu tablicy do rejestrow
  20. LDI ZL, byte3(TAB_ROM << 1) ; branie bitow 23-16 do ZL
  21. OUT RAMPZ, ZL ; zawartosc ZL czyli bity 23-16 do RAMPZ
  22. LDI ZH, byte2(TAB_ROM << 1) ; bity 15-8 do ZH
  23. LDI ZL, byte1(TAB_ROM << 1) ; bity 7-0 do ZL
  24. LDI R20, 0x00 ; rejestr do porownan
  25.  
  26. rst: LDI R21,2 ; resetowanie rejestru wykrywajacego sekwencje konca
  27. check: ELPM R22, Z+ ; zaladowanie zawartosci pamieci do rejestru i inkrementacja adresu
  28. OUT PORTB, R22 ; zaladowanie wartosci powyzszego rejestru do portu B
  29. ; Delay ok. 1 sekunda
  30. LDI R23, 0xB8 ; 184
  31. LOOP2: LDI R24, 0xFF ; 255
  32. LOOP1: LDI R25, 0xFF ; 255
  33. LOOP0: DEC R25
  34. CPSE R25, R20
  35. JMP LOOP0
  36.  
  37. DEC R24
  38. CPSE R24, R20
  39. JMP LOOP1
  40.  
  41. DEC R23
  42. CPSE R23, R20
  43. JMP LOOP2
  44. ; Koniec delaya
  45. CPSE R22, R20 ; jesli R18 = 0 to nie skacz do rst
  46. JMP rst
  47. DEC R21 ; dekrementacja rejestru sprawdzania sekwencji konca
  48. CPSE R21, R20 ; jesli R21 = 0 to nie skacz do check
  49. JMP check ; jesli R21 = 1 to sprawdzanienie czy nie wsytapila sekwencja konca
  50. JMP end ; koniec programu
  51.  
  52. end: JMP end ; endless loop
  53.  
  54. TAB_ROM: .db 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x1F, 0x00, 0x00
  55. ; 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x21, 0x1A, 0x1B, 0x1C, 0x1D, 0x1F, 0x1F,
  56. ; 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
  57. ; 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
  58. ; 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
  59. ; 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
  60. ; 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
  61. ; 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
  62. ; 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F,
  63. ; 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F,
  64. ; 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaA, 0xaB, 0xaC, 0xaD, 0xAE, 0xAF,
  65. ; 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,
  66. ; 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
  67. ; 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
  68. ; 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9, 0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1, 0xF0,
  69. ;0x00, 0x00
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement