[실험레포트] 마이크로컨트롤러 비트 연산자를 이용한 GPIO 제어하기
- 최초 등록일
- 2019.11.17
- 최종 저작일
- 2019.11
- 3페이지/ 한컴오피스
- 가격 1,500원
소개글
"[실험레포트] 마이크로컨트롤러 비트 연산자를 이용한 GPIO 제어하기"에 대한 내용입니다.
목차
1. C언어에서 사용되는 비트 연산자와 논리 연산자에 대해서 각각 설명하세요.
2. 비트 연산자를 활용하여 8비트로 구성된 하나의 포트에서 1 비트만 변경하고자 할때 아래와 같이 표현한다. 비트가 1로 변경되거나 0으로 변경되는 연산 과정을 설명하세요.
3. 328P datasheet에서 I/O 포트 관련 부분을 찾아 GPIO 제어를 위해 제공되는 레지스터의 종류와 기능에 대해서 설명하세요. (DDRx, PORTx, PINx, MCUCR)
4. PORTD에 숫자0에서 15까지(16진수로)로 표시하는 프로그램을 작성해 보세요. 0-9만 수업시간에 활용했지만, 10에서 15는 -->A, b, c, d, E, F 로 추가로 만들면 됩니다
본문내용
2. 비트 연산자를 활용하여 8비트로 구성된 하나의 포트에서 1 비트만 변경하고자 할때 아래와 같이 표현한다.
비트가 1로 변경되거나 0으로 변경되는 연산 과정을 설명하세요.
#define sbi(sfr, bit) sfr |= (1<<bit)
#define cbi(sfr, bit) sfr &= ~(1<<bit)
설명 -
|(or) 연산은 모두 0일 때만 결과가 0이고, 하나라도 1이 들어가면 결과는 1 이다.
&(and) 연산은 모두 1일 때만 결과가 1이고, 하나라도 0이 들어가면 결과는 0 이다.
sfr |= (1<<bit) 특정비트를 1로 set 시키기 위해서 1을 or 하고 있다.
sfr &= ~(1<<bit) 특정비트를 0으로 clear 시키기 위해서 0을 and 하고 있다.
참고 자료
없음