Вторник, Июль 07, 2020

Порты AVR

 

PA - имеет 3 штырька PA0,PA1,PA3

  • PORTA - Регистр данных(используется для вывода информации)
  • DDRA   - DDRA,0..DDRA,3 - Регистр направления передачи информации.
  • PINA   PINA,0...PINA,3 - Регистр ввода информации.

PB - имеет 8 штырьков PB0...PB7

  • PORTB  - PORTB,0...PORTB,7
  • DDRB    - DDRB,0...DDRB,7
  • PINB     - PINB,0...PINB,7

PD - имеет 7 штырьков PD0...PD6

  • PORTD   - PORTD,0...PORTD,6
  • DDRD     - DDRD,0...DDRD,6
  • PIND      - PIND0...PIND6

Подключение подтягивающих резисторов

Для теста запрограммируем PORTD и проверим в Proteus.

.include "tn2313def.inc"
.list
.def     temp=r16
.def     k=r17
.def     j=r18
         .cseg
        .org     0
         ldi      temp,ramend
         out      spl,temp
         sbi      acsr,7
  
start:   cbi      ddrd,0        ;PORTD бит 0 на вход
         sbi      portd,0       ;подключить подтягивающий резистор
         rcall    delay         ;задержка
         cbi      portd,0       ;отключить подтягивающий резистор
         rcall    delay         ;задержка
         cbi      ddrd,1        ;PORTD бит 1 на вход
         sbi      portd,1
         rcall    delay
         cbi      portd,1
         rcall    delay
         cbi      ddrd,2        ;PORTD бит 2 на вход
         sbi      portd,2
         rcall    delay
         cbi      portd,2
         rcall    delay
         cbi      ddrd,0        ;PORTD бит 3 на вход
         sbi      portd,3
         rcall    delay
         cbi      portd,3
         rcall    delay
         cbi      ddrd,4        ;PORTD бит 4 на вход
         sbi      portd,4
         rcall    delay
         cbi      portd,4
         rcall    delay
         cbi      ddrd,5        ;PORTD бит 5 на вход
         sbi      portd,5
         rcall    delay
         cbi      portd,5
         rcall    delay
         cbi      ddrd,6        ;PORTD бит 6 на вход
         sbi      portd,6
         rcall    delay
         cbi      portd,6
         rcall    delay
         rjmp     start
delay:   ldi      j,0xff
loopj:   ldi      k,0xff
loopk:   dec      k
         brne     loopk
         dec      j
         brne     loopj
         ret

Просто подключем к пустому контроллеру файл .asm или .hex этой программы и увидем, что на пинах порта D будет появляться +.


 

НАЗАД                            ASSEMBLER PIC 16F628A                              Cи ATtiny2313                               ДАЛЕЕ


Back to Top