Advertisement
Guest User

Untitled

a guest
Jun 29th, 2017
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .include "m328pdef.inc"
  2.  
  3. init: ldi r16,0b00111111
  4.       out DDRB,r16  ;настройка на вывод линий порта B
  5.       ldi r16,0b11110011
  6.       out DDRD,r16  ;настройка на вывод линий порта D
  7.  
  8. main: ldi zl, LOW(array*2)
  9.       ldi zh, HIGH(array*2)
  10.       ldi r17,8     ;счётчик строк матрицы
  11.  
  12. M1:   ldi r19,0x80  ;255
  13.       ldi r20,0x0C  ;105
  14.       ldi r21,0x00  ;24
  15.       lpm r16,z+
  16.       out PORTB,r16 ;вывод в порт B
  17.       lpm r16,z+
  18.       out PORTD,r16 ;вывод в порт D
  19.  
  20. Delay:              ;сидим в этих циклах 0,5с.
  21.       subi R19,1    ;вычитание 1 из регистра r19
  22.       sbci R20,0    ;вычитание только С
  23.       sbci R21,0    ;вычитание только С
  24.       brcc Delay    ;если не было заёма вернуться к метке Delay
  25.       dec r17       ;уменьшить счётчик цикла
  26.       brne M1       ;цикл из 8 итераций завершён?
  27.       rjmp main
  28.  
  29. array: .db 0x18,0xFE,0x14,0x02,0x10,0x02,0x0C,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement