Advertisement
Guest User

Untitled

a guest
Jun 29th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     .include "m328pdef.inc"
  2. .cseg
  3. .org $0000 rjmp init
  4. .org $0020 rjmp Ext_TimerOFF
  5. .org INT_VECTORS_SIZE
  6.  
  7. Ext_TimerOFF:
  8.      sub r22, r16
  9.      sbc r21, r18
  10. reti    
  11.  
  12. init:
  13.       ldi r16, LOW(RAMEND)
  14.       out SPL, r16
  15.       ldi r16, HIGH(RAMEND)
  16.       out SPH,r16
  17.       ldi r16,0b00000011  ;0b01000010
  18.       out TCCR0B,r16
  19.       ldi r16,0b00000001
  20.       sts TIMSK0,r16 ; разрешить прерывания
  21. ldi r16, 6
  22. out TCNT0, r16
  23.       sei
  24.  
  25.       ldi r16,0b00111111
  26.       out DDRB,r16  ;настройка на вывод линий порта B
  27.       out DDRC, r16  ;настройка на вывод линий порта D
  28.       clr r16
  29.       out DDRD,r16
  30.      
  31. loop:
  32.       rjmp main1
  33.       clr r16;
  34.       out PORTB,r16
  35.       out PORTC,r16
  36.       rjmp loop
  37.  
  38. main1:ldi zl, LOW(array*2)
  39.       ldi zh, HIGH(array*2)
  40.       ldi r17,5     ;счётчик строк матрицы
  41.  
  42. M1:  
  43.       ldi r21, 0x01
  44.       ldi r22, 0x01
  45.       lpm r16,z+
  46.       out PORTC,r16 ;вывод в порт C
  47.       lpm r16,z+
  48.       out PORTB,r16 ;вывод в порт B
  49.       ; clr r16
  50.       ldi r16, 0x01
  51.  
  52. Delay:
  53.       mov r23, r22
  54.       or r23, r21
  55.       brne Delay
  56.  
  57.       dec r17       ;уменьшить счётчик цикла
  58.       brne M1       ;цикл из 8 итераций завершён?
  59.       rjmp loop
  60.  
  61. array: .db 0x3E,0x32,0x02,0x28,0x02,0x20,0x02,0x18,0x02,0x10
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement