AVR 따라하기 > 027 - 입출력포트 레지스터

TODAY769 TOTAL2,918,660
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | AVR 따라하기 | 2015년 강좌 | 027 - 입출력포트 레지스터

페이지 정보

작성자 키트 작성일2017-08-23 14:41 조회3,249회 댓글0건

본문

AVR 포트의 레지스터는 3종류가 있습니다.

 

입력 레지스터 PINx

출력 레지스터 PORTx

입출력 방향 설정 레지스터  DDRx


데이터시트를 봐야겠죠?


3660040649_CIO1ymcE_25C125A625B825F1_25BE25F825C025BD.PNG3Ftype3Dw740

포트A 레지스터만 복사 했습니다.

R/W라고 적힌 부분은 읽기/쓰기가 모두 가능하다는 뜻입니다.
R이라고만 적힌 비트도 있는데 Read만 가능하다는 뜻이고
(이 그림에는 없지만) W라고만 적힌 비트는 Write만 가능하다는 뜻입니다.


리셋 초기 값

DDRx=0 입력

PORTx=0 내부 풀업저항 사용 안함 입니다.

PINA N/A로 되어 있는 이유는

계속해서 핀에 걸려있는 값으로 갱신 되므로 초기값을 줄 필요가 없기 때문입니다.

명칭에서도 녹색의 사각형을 보면 Register라고 적혀있지 않고 Address라고 적혀있습니다.


3660040649_PCR0ihm8_25C125A625B825F1_25BE25F825C025BD.PNG3Ftype3Dw740


내부 블럭도는 이렇게 생겼습니다.


DDRx와 PORTx는 출력값을 읽어서 확인 할 수 있습니다.


PINx는 I/O클럭에 동기한 래치 회로가 있는데 입력 래치에 약간의 시간이 걸립니다.


이 때문에 PORTx로 출력하고 PINx로 바로 읽으면 안되고 약간의 딜레이를 줘야합니다.

3660040649_KwzFdl5S_25C125A625B825F1_25BE25F825C025BD.PNG3Ftype3Dw740


댓글 0

조회수 3,249

등록된 댓글이 없습니다.

AVR 따라하기HOME > AVR 따라하기 > 전체 목록

게시물 검색

2022년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2021년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2020년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2020
모바일버전으로보기