Advertisement
Guest User

Untitled

a guest
Jun 11th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. KB_init:
  2.         push r16
  3.         push r17
  4. // ustawić DIR kolumn (COL#) na wyjście w trybie Wired-OR i zainicjować na 0
  5.         ldi r17, PORT_OPC_WIREDOR_gc    ;załaduj bity konfiguracyjne WIREDOR do r17
  6.         sts PORTA_PIN5CTRL, r17    
  7.         sts PORTB_PIN0CTRL, r17
  8.         sts PORTB_PIN1CTRL, r17
  9.         sts PORTB_PIN3CTRL, r17         ;konfiguracja portów w trybie WIREDOR
  10. // ustawić DIR wierszy (ROW#) na wejście
  11.         ldi r16, 1<<5
  12.         sts PORTA_OUTCLR, r16  
  13.         sts PORTA_DIRSET, r16
  14.         ldi r16, 1<<0 | 1<<1 | 1<<3
  15.         sts PORTB_OUTCLR, r16
  16.         sts PORTB_DIRSET, r16           ;konfiguracja PORTA PIN5 i PORT B PIN 0,1,3 jako OUTPUT
  17.  
  18. // ustawić tryb wejść Totem-pole z pull-down
  19.         ldi r16, 0
  20.         ldi r17, 0
  21.         ldi r17, PORT_OPC_PULLDOWN_gc   ;załaduj bity konfiguracyjne TOTEMPOLE PULDOWN do r17
  22.         sts PORTA_PIN4CTRL, r17    
  23.         sts PORTA_PIN6CTRL, r17
  24.         sts PORTA_PIN7CTRL, r17
  25.         sts PORTB_PIN2CTRL, r17         ;konfiguracja portów w trybie TOTEMPOLE PULDOWN
  26.         ldi r16, 1<<4 | 1<<6 | 1<<7
  27.         sts PORTA_DIRCLR, r16  
  28.         ldi r16, 1<<2
  29.         sts PORTB_DIRCLR, r16           ;konfiguracja PORTA PIN 4,6,7 i PORT B PIN 2 jako INPUT
  30.         pop r17
  31.         pop r16
  32.         ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement